mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
57 lines
1.6 KiB
Markdown
57 lines
1.6 KiB
Markdown
|
# Testing the Dreamhost DNS API
|
||
|
|
||
|
Dreamhost API sandbox only permits read-only commands, so you'll need a Dreamhost
|
||
|
PS account for the testing and a dedicated domain.
|
||
|
|
||
|
See http://wiki.dreamhost.com/Application_programming_interface#Test_Account
|
||
|
|
||
|
## Create an API key
|
||
|
|
||
|
You'll need a Dreamhost (PS I think) account and a dedicated domain for testing.
|
||
|
|
||
|
1. Go to the Dreamhost web panel and create an API key to manage DNS records
|
||
|
|
||
|
https://panel.dreamhost.com/index.cgi?tree=home.api
|
||
|
|
||
|
Select 'All dns functions' for the new API key to be able to add/remove/list
|
||
|
records.
|
||
|
|
||
|
2. Create a .fog file in the tests/ directory with the following contents:
|
||
|
|
||
|
```yaml
|
||
|
:default:
|
||
|
:dreamhost_api_key: SDFASDFWQWASDFASDFAS
|
||
|
```
|
||
|
Where dreamhost_api_key is the key you created in the previous step.
|
||
|
|
||
|
3. Update the test_domain helper in tests/dreamhost/helper.rb to use your own
|
||
|
domain for testing. You will also need at least a record created via
|
||
|
the Dreamhost Webpanel (you'll get a **no_such_zone** error otherwise).
|
||
|
|
||
|
I usually create a do-not-delete.my-domain.com record. The tests skip that
|
||
|
record when cleaning up (see the do_not_delete_record helper).
|
||
|
|
||
|
4. Run the tests
|
||
|
|
||
|
```
|
||
|
shindo tests/dreamhost
|
||
|
```
|
||
|
|
||
|
## Notes
|
||
|
|
||
|
The API is rate limited, so do not smash the DH servers too often.
|
||
|
|
||
|
You'll see a **slow_down_bucko** error if the frequency is too high.
|
||
|
|
||
|
http://wiki.dreamhost.com/Application_programming_interface#Rate_Limit
|
||
|
|
||
|
## Resources
|
||
|
|
||
|
Dreamhost API:
|
||
|
|
||
|
http://wiki.dreamhost.com/Application_programming_interface
|
||
|
|
||
|
Dreamhost DNS API:
|
||
|
|
||
|
http://wiki.dreamhost.com/API/Dns_commands
|