add example and tips

This commit is contained in:
Tom Limoncelli 2018-03-09 06:53:25 -05:00
parent afa80c24bd
commit bf9007fde4

View file

@ -13,4 +13,29 @@ For each step, it will run the config once and expect changes. It will run it ag
## Running a test
1. Define all environment variables expected for the provider you wish to run. I setup a local `.env` file with the appropriate values and use [zoo](https://github.com/jsonmaur/zoo) to run my commands.
2. run `go test -v -provider $NAME` where $NAME is the name of the provider you wish to run.
2. run `go test -v -provider $NAME` where $NAME is the name of the provider you wish to run.
Example:
```
$ egrep R53 providers.json
"KeyId": "$R53_KEY_ID",
"SecretKey": "$R53_KEY",
"domain": "$R53_DOMAIN"
$ export R53_KEY_ID="redacted"
$ export R53_KEY="also redacted"
$ export R53_DOMAIN="testdomain.tld"
$ go test -v -verbose -provider ROUTE53
```
WARNING: The records in the test domain will be deleted. Only use
a domain that is not used in production. Some providers have a way
to run tests on domains that aren't registered (often a test
environment or a side-effect of the company not being a registrar).
In other cases we use a domain we squat on, or we register a domain
called `dnscontrol-$provider.com` just for testing.
ProTip: If you run these tests frequently (and we hope you do), you
should create a script that you can `source` to set these
variables. Be careful not to check this script into Git since it
contains credentials.