def test_can_update_dns_record(): global client if client is None: client = GoDaddyClient() domain = account['test_domain'] prefix = 'test{}'.format(random.randint(10000, 99999)) addr = '{}.{}.{}.{}'.format(random.randint(10, 20), random.randint(10, 20), random.randint(10, 20), random.randint(10, 20)) addr2 = '{}.{}.{}.{}'.format(random.randint(20, 30), random.randint(20, 30), \ random.randint(20, 30), random.randint(20, 30)) # can create new record assert client.update_dns_record(prefix + '.' + domain, addr), 'Create DNS Failed' for record in client.find_dns_records(domain): if record.hostname == prefix: assert record.value == addr, 'DNS Record Doesnot Match Addr {}'.format( addr) break else: raise ValueError('DNS Record Cannot Created') # can update previous record assert client.update_dns_record(prefix + '.' + domain, addr2), 'Update DNS Failed' for record in client.find_dns_records(domain): if record.hostname == prefix: assert record.value == addr2, 'DNS Record Doesnot Match Addr2 {}'.format( addr2) break # can delete dns record assert client.delete_dns_record(prefix + '.' + domain), 'Delete DNS Failed' for record in client.find_dns_records(domain): if record.hostname == prefix: raise ValueError('DNS Record still exists')
def godaddycli(username, password, cfg): client = GoDaddyClient() c = client.login(username, password) if not c: print "couldn't login" sys.exit(1) if cfg.delete is not None: godaddycli_delete(client, cfg) return 0 if cfg.update is not None: godaddycli_update(client, cfg) return 0 if cfg.list is not None: godaddycli_list(client, cfg) return 0
#!/usr/bin/env python import logging import pif from pygodaddy import GoDaddyClient logging.basicConfig(filename='godaddy.log', format='%(asctime)s %(message)s', level=logging.INFO) GODADDY_USERNAME="******"; GODADDY_PASSWORD="******"; client = GoDaddyClient() client.login(GODADDY_USERNAME, GODADDY_PASSWORD) logging.info(client.find_domains()) for domain in client.find_domains(): dns_records = client.find_dns_records(domain) public_ip = pif.get_public_ip() logging.debug("Domain '{0}' DNS records: {1}".format(domain, dns_records)) if public_ip != dns_records[0].value: client.update_dns_record(domain, public_ip) logging.info("Domain '{0}' public IP set to '{1}'".format(domain, public_ip))
def test_can_find_target_domain(): global client if client is None: client = GoDaddyClient() assert account['test_domain'] in client.find_domains(), 'domain not found'
def test_login(): global client if client is None: client = GoDaddyClient() assert client.login(account['username'], account['password']), 'Login Failed'