- Update `dnsjava` library
- Add support for H2 database
- Update functional tests to support parallel runs
- Remove the ability to specify number of processes for functional tests - always 4 now
- Add `Makefile` and `Dockerfile` in `functional_test` to make it easier to run tests without spinning up multiple containers
- Add custom network to `docker-compose-func-test.yml` for deterministic IP addresses
- Update tests to remove hard-coded zone names
- Fix various issues with cleanup
- Update tests to Python 3.x
- Setup partitions to allow for parallel testing
- Partition bind zones
- Update `docker/api/docker.conf` to include partitioned zones
- Replace AWS request signer with upgraded `boto3` signer
- Replace launcher script with one that instantiates the virtualenv
- Add `--enable-safety_check` to check for modifications to zone data
- Add `--resolver-ip` to allow for specification of a different resolver for the tests versus what gets sent to the API
- This is helpful when the tests are not running in the same network as the API
- Ex: `./run.sh --dns-ip=172.19.0.4 --resolver-ip=127.0.0.1:19001` where
Major overhaul of func tests to allow them to run in parallel. Major changes include:
1. Consolidate all separate test fixtures into a single test fixture in the `shared_zone_test_context`
1. Add `xdist` to allow running tests in parallel
1. Add hooks in main `conftest.py` to setup the test fixture before workers run, and tear it down when workers are finished
1. After fixture is setup, save state in a local `tmp.out` so the workers will use that state instead of trying to recreate the fixture.
1. Add a `utils.generate_record_name` which generates a unique record name in order to avoid conflicts when running tests in parallel
1. Add a `pytest.mark.serial` for func tests that just cannot be run in serial
1. Tests are now run in two phases, first we run in parallel, and if that is successful, we run the serial tests
1. Add a `--teardown` flag, this allows us to reuse the test fixture between the two phases parallel and serial
* Add DDNS connectivity check when validating zone connections.
* Add unit tests for DDNS connectivity test.
* Update functional tests for DDNS connectivity test.
* Update create zone documentation with DDNS connectivity information.
* Updates based on feedback (pauljamescleary).
* Convert TSIG key algoritm from default HMAC-MD5 to HMAC-SHA512.
* Updates based on feedback.