Skip to content

Latest commit

 

History

History
41 lines (29 loc) · 1.68 KB

migration.rst

File metadata and controls

41 lines (29 loc) · 1.68 KB

Migration

To test the migration command, tests are written using VCR, which records the (relevant) outgoing requests to cassette files. Whenever tests need to be updated, consider re-recording the corresponding cassettes.

To re-record tests, a separate docker compose file is available to run a version 1.0.0 Open Klant instance next to the StaticLiveServer (which sets up a live server) which runs version 2.0.0. The web container from the docker compose setup should load the corresponding fixture which reside in the migration/fixtures folder. A typical workflow, to re-record cassettes, could look like the following:

# Start the docker compose setup
$ docker compose up --detach

# Load a fixture for a certain test
$ docker compose exec -it web \
    ./src/manage.py loaddata migration/credentials migration/test_digitaal_adres

# Run the corresponding test
$ ./src/manage.py test openklant.tests.test_migrate.MigrateTestCase.test_digitaal_adres

# Stop and destroy the containers (to start with a clean slate on the next run)
$ docker compose down

After running the test a cassette should be created (with the test name as filename) in the migration/cassettes folder.

Note that the docker compose setup, with its fixtures are only needed to (re)create cassettes for VCR. The migration tests can be ran without the docker compose setup.

Some tests require custom responses, for example to retrieve the subjectIdentificatie when a subject URL is supplied. For these cases a test_server.py file is added that can be modified as needed to create a response for a cassette.