class TestPyCloudFlareClient(unittest.TestCase):

    def setUp(self):
        self.cfapi = CloudFlare('EMAIL', 'API_KEY')

    def test_create_new_record_dns(self):
        self.assertEqual(self.cfapi.rec_new('domain', 'A', 'subdomain', '1.2.3.4')['result'], 'success')

    def test_delete_new_record_dns(self):
        dns_id = self.cfapi.get_rec_id_by_name('domain', 'subdomain')
        self.assertEqual(self.cfapi.rec_delete('domain', dns_id)['result'], 'success')
Ejemplo n.º 2
0
def cf_update_ip(ip, root, name, rec_type='cname'):
    status = -1
    service_mode = 1
    if rec_type == 'A' or rec_type == 'AAAA':
        service_mode = 0

    target_name = name + '.' + root
    cf = CF(config['DYN_CF_EMAIL'], config['DYN_CF_KEY'])
    domain_list = cf.rec_load_all(z=root)['response']['recs']['objs']
    create_new = True
    for d in domain_list:
        if d['name'] == target_name:
            cf.rec_edit(z=root, _type=rec_type, _id=d['rec_id'], name=name, content=ip, service_mode=service_mode)
            create_new = False
            status = 0
            break

    if create_new:
        cf.rec_new(zone=root, _type=rec_type, content=ip, name=target_name, service_mode=service_mode)
        status = 0

    return status