|
|
|
# Resolver Tests
|
|
|
|
|
|
|
|
This directory has tests and infrastructure for unit tests and GCE
|
|
|
|
integration tests of gRPC resolver functionality.
|
|
|
|
|
|
|
|
There are two different tests here:
|
|
|
|
|
|
|
|
## Resolver unit tests (resolver "component" tests)
|
|
|
|
|
|
|
|
These tests run per-change, along with the rest of the grpc unit tests.
|
|
|
|
They query a local testing DNS server.
|
|
|
|
|
|
|
|
## GCE integration tests
|
|
|
|
|
|
|
|
These tests use the same test binary and the same test records
|
|
|
|
as the unit tests, but they run against GCE DNS (this is done by
|
|
|
|
running the test on a GCE instance and not specifying an authority
|
|
|
|
in uris). These tests run in a background job, which needs to be
|
|
|
|
actively monitored.
|
|
|
|
|
|
|
|
## Making changes to test records
|
|
|
|
|
|
|
|
After making a change to `resolver_test_record_groups.yaml`:
|
|
|
|
|
|
|
|
1. Increment the "version number" in the `resolver_tests_common_zone_name`
|
|
|
|
DNS zone (this is a yaml field at the top
|
|
|
|
of `resolver_test_record_groups.yaml`).
|
|
|
|
|
|
|
|
2. Regenerate projects.
|
|
|
|
|
|
|
|
3. From the repo root, run:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ test/cpp/naming/create_private_dns_zone.sh
|
|
|
|
$ test/cpp/naming/private_dns_zone_init.sh
|
|
|
|
```
|
|
|
|
|
|
|
|
Note that these commands must be ran in environment that
|
|
|
|
has access to the grpc-testing GCE project.
|
|
|
|
|
|
|
|
If everything runs smoothly, then once the change is merged,
|
|
|
|
the GCE DNS integration testing job will transition to the
|
|
|
|
new records and continue passing.
|