Browse Source

Merge branch 'master' into googledns-semicolon-escapes

pull/194/head
Masaki Tagawa 8 years ago
committed by GitHub
parent
commit
5439504dd0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 7 deletions
  1. +1
    -1
      octodns/provider/cloudflare.py
  2. +4
    -3
      octodns/provider/googlecloud.py
  3. +1
    -2
      octodns/provider/ns1.py
  4. +16
    -1
      tests/test_octodns_provider_googlecloud.py

+ 1
- 1
octodns/provider/cloudflare.py View File

@ -56,7 +56,7 @@ class CloudflareProvider(BaseProvider):
self.log = getLogger('CloudflareProvider[{}]'.format(id)) self.log = getLogger('CloudflareProvider[{}]'.format(id))
self.log.debug('__init__: id=%s, email=%s, token=***, cdn=%s', id, self.log.debug('__init__: id=%s, email=%s, token=***, cdn=%s', id,
email, cdn) email, cdn)
super(CloudflareProvider, self).__init__(id, cdn, *args, **kwargs)
super(CloudflareProvider, self).__init__(id, *args, **kwargs)
sess = Session() sess = Session()
sess.headers.update({ sess.headers.update({


+ 4
- 3
octodns/provider/googlecloud.py View File

@ -128,9 +128,10 @@ class GoogleCloudProvider(BaseProvider):
:type return: new google.cloud.dns.ManagedZone :type return: new google.cloud.dns.ManagedZone
""" """
# Zone name must begin with a letter, end with a letter or digit, # Zone name must begin with a letter, end with a letter or digit,
# and only contain lowercase letters, digits or dashes
zone_name = '{}-{}'.format(
dns_name[:-1].replace('.', '-'), uuid4().hex)
# and only contain lowercase letters, digits or dashes,
# and be 63 characters or less
zone_name = 'zone-{}-{}'.format(
dns_name.replace('.', '-'), uuid4().hex)[:63]
gcloud_zone = self.gcloud_client.zone( gcloud_zone = self.gcloud_client.zone(
name=zone_name, name=zone_name,


+ 1
- 2
octodns/provider/ns1.py View File

@ -233,11 +233,10 @@ class Ns1Provider(BaseProvider):
}, },
) )
params['filters'] = [] params['filters'] = []
if len(params['answers']) > 1:
if has_country:
params['filters'].append( params['filters'].append(
{"filter": "shuffle", "config": {}} {"filter": "shuffle", "config": {}}
) )
if has_country:
params['filters'].append( params['filters'].append(
{"filter": "geotarget_country", "config": {}} {"filter": "geotarget_country", "config": {}}
) )


+ 16
- 1
tests/test_octodns_provider_googlecloud.py View File

@ -428,6 +428,21 @@ class TestGoogleCloudProvider(TestCase):
mock_zone.create.assert_called() mock_zone.create.assert_called()
provider.gcloud_client.zone.assert_called() provider.gcloud_client.zone.assert_called()
def test__create_zone_ip6_arpa(self):
def _create_dummy_zone(name, dns_name):
return DummyGoogleCloudZone(name=name, dns_name=dns_name)
provider = self._get_provider()
provider.gcloud_client = Mock()
provider.gcloud_client.zone = Mock(side_effect=_create_dummy_zone)
mock_zone = \
provider._create_gcloud_zone('0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa')
self.assertRegexpMatches(mock_zone.name, '^[a-z][a-z0-9-]*[a-z0-9]$')
self.assertEqual(len(mock_zone.name), 63)
def test_semicolon_fixup(self): def test_semicolon_fixup(self):
provider = self._get_provider() provider = self._get_provider()
@ -436,4 +451,4 @@ class TestGoogleCloudProvider(TestCase):
}, provider._data_for_TXT( }, provider._data_for_TXT(
DummyResourceRecordSet( DummyResourceRecordSet(
'unit.tests.', 'TXT', 0, ['abcd; ef;g', 'hij\\; klm\\;n']) 'unit.tests.', 'TXT', 0, ['abcd; ef;g', 'hij\\; klm\\;n'])
))
))

Loading…
Cancel
Save