def test_get_contact(self): responses.add(DNSimpleMockResponse(method=responses.GET, path='/1010/contacts/1', fixture_name='getContact/success')) contact = self.contacts.get_contact(1010, 1).data self.assertIsInstance(contact, Contact)
def test_enable_dnssec(self): responses.add( DNSimpleMockResponse(method=responses.POST, path='/1010/domains/1/dnssec', fixture_name='enableDnssec/success')) dnssec = self.domains.enable_dnssec(1010, 1).data self.assertTrue(dnssec.enabled)
def test_get_email_forward(self): responses.add(DNSimpleMockResponse(method=responses.GET, path='/1010/domains/example.com/email_forwards/17706', fixture_name='getEmailForward/success')) email_forward = self.domains.get_email_forward(1010, 'example.com', 17706).data self.assertEqual(228963, email_forward.domain_id)
def test_get_certificate_private_key(self): responses.add( DNSimpleMockResponse( method=responses.GET, path='/1010/domains/example.com/certificates/5/private_key', fixture_name='getCertificatePrivateKey/success')) certificate_bundle = self.certificates.get_certificate_private_key( 1010, 'example.com', 5).data self.assertEqual( '-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAtzCcMfWoQRt5AMEY0HUb2GaraL1GsWOo6YXdPfe' '+YDvtnmDw\n23NcoTX7VSeCgU9M3RKs19AsCJcRNTLJ2dmDrAuyCTud9YTAaXQcTOLUhtO8T8+9' '\nAFVIva2OmAlKCR5saBW3JaRxW7V2aHEd/d1ss1CvNOO7jNppc9NwGSnDHcn3rqNv\n' '/U3MaU0gpJJRqsKkvcLU6IHJGgxyQ6AbpwJDIqBnzkjHu2IuhGEbRuMjyWLA2qts' '\njyVlfPotDxUdVouUQpz7dGHUFrLR7ma8QAYuOfl1ZMyrc901HGMa7zwbnFWurs3f\ned7vAosTRZIjnn72' '/3Wo7L9RiMB+vwr3NX7c9QIDAQABAoIBAEQx32OlzK34GTKT' '\nr7Yicmw7xEGofIGa1Q2h3Lut13whsxKLif5X0rrcyqRnoeibacS+qXXrJolIG4rP\nTl8/3wmUDQHs5J+6fJqFM' '+fXZUCP4AFiFzzhgsPBsVyd0KbWYYrZ0qU7s0ttoRe' '+\nTGjuHgIe3ip1QKNtx2Xr50YmytDydknmro79J5Gfrub1l2iA8SDm1eBrQ4SFaNQ2' '\nU709pHeSwX8pTihUX2Zy0ifpr0O1wYQjGLneMoG4rrNQJG/z6iUdhYczwwt1kDRQ\n4WkM2sovFOyxbBfoCQ3Gy' '/eem7OXfjNKUe47DAVLnPkKbqL/3Lo9FD7kcB8K87Ap\nr/vYrl0CgYEA413RAk7571w5dM+VftrdbFZ' '+Yi1OPhUshlPSehavro8kMGDEG5Ts\n74wEz2X3cfMxauMpMrBk/XnUCZ20AnWQClK73RB5fzPw5XNv473Tt' '/AFmt7eLOzl\nOcYrhpEHegtsD/ZaljlGtPqsjQAL9Ijhao03m1cGB1+uxI7FgacdckcCgYEAzkKP\n6xu9' '+WqOol73cnlYPS3sSZssyUF+eqWSzq2YJGRmfr1fbdtHqAS1ZbyC5fZVNZYV' '\nml1vfXi2LDcU0qS04JazurVyQr2rJZMTlCWVET1vhik7Y87wgCkLwKpbwamPDmlI\n9GY' '+fLNEa4yfAOOpvpTJpenUScxyKWH2cdYFOOMCgYBhrJnvffINC/d64Pp+BpP8\nyKN' '+lav5K6t3AWd4H2rVeJS5W7ijiLTIq8QdPNayUyE1o+S8695WrhGTF/aO3+ZD' '\nKQufikZHiQ7B43d7xL7BVBF0WK3lateGnEVyh7dIjMOdj92Wj4B6mv2pjQ2VvX/p\nAEWVLCtg24' '/+zL64VgxmXQKBgGosyXj1Zu2ldJcQ28AJxup3YVLilkNje4AXC2No' '\n6RCSvlAvm5gpcNGE2vvr9lX6YBKdl7FGt8WXBe/sysNEFfgmm45ZKOBCUn+dHk78\nqaeeQHKHdxMBy7utZWdgSqt' '+ZS299NgaacA3Z9kVIiSLDS4V2VeW7riujXXP/9TJ\nnxaRAoGBAMWXOfNVzfTyrKff6gvDWH' '+hqNICLyzvkEn2utNY9Q6WwqGuY9fvP/4Z\nXzc48AOBzUr8OeA4sHKJ79sJirOiWHNfD1swtvyVzsFZb6moiNwD3Ce' '/FzYCa3lQ\nU8blTH/uqpR2pSC6whzJ/lnSdqHUqhyp00000000000000000000\n-----END RSA PRIVATE ' 'KEY-----\n', certificate_bundle.private_key)
def test_list_templates_supports_sorting(self): responses.add( DNSimpleMockResponse( method=responses.GET, path='/1010/templates?sort=id:asc,name:desc,sid:asc', fixture_name='listTemplates/success')) self.templates.list_templates(1010, sort='id:asc,name:desc,sid:asc')
def test_list_contacts_supports_pagination(self): responses.add(DNSimpleMockResponse(method=responses.GET, path='/1010/contacts?page=1&per_page=2', fixture_name='listContacts/success')) response = self.contacts.list_contacts(1010, page=1, per_page=2) self.assertIsInstance(response.pagination, Pagination)
def test_disable_dnssec(self): responses.add( DNSimpleMockResponse(method=responses.DELETE, path='/1010/domains/1/dnssec', fixture_name='disableDnssec/success')) self.domains.disable_dnssec(1010, 1)
def test_list_services_supports_pagination(self): responses.add( DNSimpleMockResponse(method=responses.GET, path='/services?page=1&per_page=2', fixture_name='listServices/success')) response = self.services.list_services(page=1, per_page=2) self.assertIsInstance(response.pagination, Pagination)
def test_list_template_records_supports_pagination(self): responses.add( DNSimpleMockResponse( method=responses.GET, path='/1010/templates/296/records?page=1&per_page=2', fixture_name='listTemplateRecords/success')) self.templates.list_template_records(1010, 296, page=1, per_page=2)
def test_list_records_supports_sorting(self): responses.add( DNSimpleMockResponse( method=responses.GET, path='/1010/zones/example.com/records?sort=content:asc', fixture_name='listZoneRecords/success')) self.zones.list_records(1010, 'example.com', sort='content:asc')
def test_list_records_supports_pagination(self): responses.add( DNSimpleMockResponse( method=responses.GET, path='/1010/zones/example.com/records?page=1&per_page=5', fixture_name='listZoneRecords/success')) self.zones.list_records(1010, 'example.com', page=1, per_page=5)
def test_get_service(self): responses.add( DNSimpleMockResponse(method=responses.GET, path='/services/1', fixture_name='getService/success')) service = self.services.get_service(1).data self.assertEqual(1, service.id) self.assertEqual('Service 1', service.name) self.assertEqual('service1', service.sid) self.assertEqual('First service example.', service.description) self.assertIsNone(service.setup_description) self.assertTrue(service.requires_setup) self.assertIsNone(service.default_subdomain) self.assertEqual('2014-02-14T19:15:19Z', service.created_at) self.assertEqual('2016-03-04T09:23:27Z', service.updated_at) self.assertEqual(1, len(service.settings)) setting = service.settings[0] self.assertEqual('username', setting.name) self.assertEqual('Service 1 Account Username', setting.label) self.assertEqual('.service1.com', setting.append) self.assertEqual( 'Your Service 1 username is used to connect services to your account.', setting.description) self.assertEqual('username', setting.example) self.assertFalse(setting.password)
def test_list_records_supports_filtering(self): responses.add( DNSimpleMockResponse( method=responses.GET, path='/1010/zones/example.com/records?type=SOA', fixture_name='listZoneRecords/success')) self.zones.list_records(1010, 'example.com', filter={'type': 'SOA'})
def test_cancel_domain_transfer(self): responses.add(DNSimpleMockResponse(method=responses.DELETE, path='/1010/registrar/domains/ruby.codes/transfers/358', fixture_name='cancelDomainTransfer/success')) domain_transfer = self.registrar.cancel_domain_transfer(1010, 'ruby.codes', 358).data self.assertEqual('transferring', domain_transfer.state)
def test_retrieves_a_domain(self): responses.add( DNSimpleMockResponse(method=responses.GET, path='/1010/domains/1', fixture_name='getDomain/success')) domain = self.domains.get_domain(1010, 1).data self.assertEqual('example-alpha.com', domain.name)
def test_list_domains(self): responses.add( DNSimpleMockResponse(method=responses.GET, path='/1010/domains', fixture_name='listDomains/success')) domains = self.domains.list_domains(1010).data self.assertEqual(2, len(domains)) self.assertIsInstance(domains[1], Domain)
def test_chang_domain_delegation_from_vanity(self): responses.add( DNSimpleMockResponse( method=responses.DELETE, path='/1010/registrar/domains/example.com/delegation/vanity', fixture_name='changeDomainDelegationFromVanity/success')) self.registrar.change_domain_delegation_from_vanity( 1010, 'example.com')
def test_transfer_domain_error(self): responses.add(DNSimpleMockResponse(method=responses.POST, path='/1010/registrar/domains/google.com/transfers', fixture_name='transferDomain/error-indnsimple')) try: self.registrar.transfer_domain(1010, 'google.com', DomainTransferRequest(2, 'TheAuthCode')) except DNSimpleException as dnse: self.assertEqual('The domain google.com is already in DNSimple and cannot be added', dnse.message)
def test_unapply_service(self): responses.add( DNSimpleMockResponse(method=responses.DELETE, path='/1010/domains/example.com/services/2', fixture_name='unapplyService/success')) response = self.services.unapply_service(1010, 'example.com', 2) self.assertEqual('204', response.http_response.status_code)
def test_check_domain_premium_price(self): responses.add(DNSimpleMockResponse(method=responses.GET, path='/1010/registrar/domains/example.com/premium_price', fixture_name='getDomainPremiumPrice/failure')) try: self.registrar.get_domain_premium_price(1010, 'example.com') except DNSimpleException as dnse: self.assertEqual('`example.com` is not a premium domain for registration', dnse.message)
def test_check_domain_premium_price(self): responses.add(DNSimpleMockResponse(method=responses.GET, path='/1010/registrar/domains/ruby.codes/premium_price', fixture_name='getDomainPremiumPrice/success')) domain_premium_price = self.registrar.get_domain_premium_price(1010, 'ruby.codes').data self.assertEqual('109.00', domain_premium_price.premium_price) self.assertEqual('registration', domain_premium_price.action)
def test_renew_domain_too_early(self): responses.add(DNSimpleMockResponse(method=responses.POST, path='/1010/registrar/domains/example.com/renewals', fixture_name='renewDomain/error-tooearly')) try: self.registrar.renew_domain(1010, 'example.com', DomainRenewRequest(period=1)) except DNSimpleException as dnse: self.assertEqual('example.com may not be renewed at this time', dnse.message)
def test_create_apex_record(self): responses.add( DNSimpleMockResponse(method=responses.POST, path='/1010/zones/example.com/records', fixture_name='createZoneRecord/created-apex')) record = self.zones.create_record( 1010, 'example.com', ZoneRecordInput('', 'A', '127.0.0.1')).data self.assertEqual('', record.name)
def test_create_webhook(self): responses.add(DNSimpleMockResponse(method=responses.POST, path='/1010/webhooks', fixture_name='createWebhook/created')) webhook = Webhook.new('https://webhook.test') created = self.webhooks.create_webhook(1010, webhook).data self.assertEqual(webhook.url, created.url)
def test_list_zones(self): responses.add( DNSimpleMockResponse(method=responses.GET, path='/1010/zones', fixture_name='listZones/success')) zones = self.zones.list_zones(1010).data self.assertEqual(2, len(zones)) self.assertIsInstance(zones[0], Zone)
def test_get_webhook(self): responses.add(DNSimpleMockResponse(method=responses.GET, path='/1010/webhooks/1', fixture_name='getWebhook/success')) webhook = self.webhooks.get_webhook(1010, 1).data self.assertEqual(1, webhook.id) self.assertEqual('https://webhook.test', webhook.url)
def test_list_tlds_supports_pagination(self): responses.add( DNSimpleMockResponse(method=responses.GET, path='/tlds', fixture_name='listTlds/success')) response = self.tlds.list_tlds() self.assertIsInstance(response.pagination, Pagination)
def test_list_webhooks(self): responses.add(DNSimpleMockResponse(method=responses.GET, path='/1010/webhooks', fixture_name='listWebhooks/success')) webhooks = self.webhooks.list_webhooks(1010).data self.assertEqual(2, len(webhooks)) self.assertIsInstance(webhooks[0], Webhook)
def test_list_accounts(self): responses.add( DNSimpleMockResponse(method=responses.GET, path='/accounts', fixture_name='listAccounts/success-account')) accounts = self.accounts.list_accounts().data self.assertEqual(1, len(accounts)) self.assertIsInstance(accounts[0], Account)
def test_delete_contact_in_use(self): responses.add(DNSimpleMockResponse(method=responses.DELETE, path='/1010/contacts/1', fixture_name='deleteContact/error-contact-in-use')) try: self.contacts.delete_contact(1010, 1) except DNSimpleException as dnse: self.assertEqual("The contact cannot be deleted because it's currently in use", dnse.message)