1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

Merge branch 'master' into googledns-semicolon-escapes

This commit is contained in:
Masaki Tagawa
2018-02-18 10:31:11 +09:00
committed by GitHub
4 changed files with 22 additions and 7 deletions

View File

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

View File

@@ -128,9 +128,10 @@ class GoogleCloudProvider(BaseProvider):
:type return: new google.cloud.dns.ManagedZone
"""
# 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(
name=zone_name,

View File

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

View File

@@ -428,6 +428,21 @@ class TestGoogleCloudProvider(TestCase):
mock_zone.create.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):
provider = self._get_provider()
@@ -436,4 +451,4 @@ class TestGoogleCloudProvider(TestCase):
}, provider._data_for_TXT(
DummyResourceRecordSet(
'unit.tests.', 'TXT', 0, ['abcd; ef;g', 'hij\\; klm\\;n'])
))
))