Skip to content

Write tests #13

Description

@ehmatthes

This is a critical project for django-simple-deploy to have the full utility it should. Tests are critical to make sure that this package keeps up with changes in dsd core.

Tasks

  • Write integration tests for current functionality. Make a temp dir in pytest, and write the new plugin to that dir. Then compare to reference project.
    • Make project testable, ie don't require the interactive session.
    • Add a --target-dir flag.
    • Implement a way for an external script (test function) to define the plugin_config object.
    • Write initial tests.
      • Configure pytest to only run actual tests for the generator, not new plugin tests.
      • Pull target_dir into plugin_config? (not needed, mock args object.
      • Make sure test can fail. (Modify deeply nested file in reference_files, make sure fails.)
  • Fix issue with interpolation in deploy.py.
  • Fix issue with space in platform name.
  • Write e2e tests. These build a development env for dsd core, build a new plugin, install the plugin, and make sure the initial set of tests pass.
  • Write validation code for PluginConfig.
  • Restructure project so template is in a single directory, and generator code is in the main part of the repo.
  • Update tests.
  • Include a changelog, being clear about which version of this project matches which version of dsd. Also, start tagging releases to match specific versions of core.
  • Start a pyproject.toml, even though this probably won't be released as a package. (No real need for this currently.)
  • Update instructions in core to show how to quickly get a new plugin up and running.
    • git clone ... depth 1, don't need full history of this project in order to make a new plugin.
    • Link to this from this readme.
    • Link to this from home page of dsd docs.
    • Include links to specific lines and sections of files in plugin_template/ files.
  • Set up CI for integration tests.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions