diff --git a/tests/dreamhost/README.md b/tests/dreamhost/README.md new file mode 100644 index 000000000..d7591597a --- /dev/null +++ b/tests/dreamhost/README.md @@ -0,0 +1,56 @@ +# 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