From 6354e45d7cf9f7cadea8351e0dd3a66dbe31c612 Mon Sep 17 00:00:00 2001 From: Ross McFarland Date: Thu, 2 Sep 2021 13:21:28 -0700 Subject: [PATCH] Configurable domain_create_sleep in EasyDnsProvider, 0s for tests --- octodns/provider/easydns.py | 20 ++++++++++---------- requirements-dev.txt | 6 ++++++ tests/test_octodns_provider_easydns.py | 6 ++++-- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/octodns/provider/easydns.py b/octodns/provider/easydns.py index 67c846a..2ea0c4b 100644 --- a/octodns/provider/easydns.py +++ b/octodns/provider/easydns.py @@ -48,19 +48,19 @@ class EasyDNSClient(object): # Domain Portfolio domain_portfolio = 'myport' - def __init__(self, token, api_key, currency, portfolio, sandbox): + def __init__(self, token, api_key, currency, portfolio, sandbox, + domain_create_sleep): self.log = logging.getLogger('EasyDNSProvider[{}]'.format(id)) - self.token = token - self.api_key = api_key self.default_currency = currency self.domain_portfolio = portfolio - self.apienv = 'sandbox' if sandbox else 'live' - auth_key = '{}:{}'.format(self.token, self.api_key) - self.auth_key = base64.b64encode(auth_key.encode("utf-8")) + self.domain_create_sleep = domain_create_sleep + + auth_key = '{}:{}'.format(token, api_key) + auth_key = base64.b64encode(auth_key.encode("utf-8")) self.base_path = self.SANDBOX if sandbox else self.LIVE sess = Session() sess.headers.update({'Authorization': 'Basic {}' - .format(self.auth_key.decode('utf-8'))}) + .format(auth_key.decode('utf-8'))}) sess.headers.update({'accept': 'application/json'}) self._sess = sess @@ -99,7 +99,7 @@ class EasyDNSClient(object): # we need to delete those default record so we can sync with the source # records, first we'll sleep for a second before gathering new records # We also create default NS records, but they won't be deleted - sleep(1) + sleep(self.domain_create_sleep) records = self.records(name, True) for record in records: if record['host'] in ('', 'www') \ @@ -163,12 +163,12 @@ class EasyDNSProvider(BaseProvider): 'SRV', 'NAPTR')) def __init__(self, id, token, api_key, currency='CAD', portfolio='myport', - sandbox=False, *args, **kwargs): + sandbox=False, domain_create_sleep=1, *args, **kwargs): self.log = logging.getLogger('EasyDNSProvider[{}]'.format(id)) self.log.debug('__init__: id=%s, token=***', id) super(EasyDNSProvider, self).__init__(id, *args, **kwargs) self._client = EasyDNSClient(token, api_key, currency, portfolio, - sandbox) + sandbox, domain_create_sleep) self._zone_records = {} def _data_for_multiple(self, _type, records): diff --git a/requirements-dev.txt b/requirements-dev.txt index 39faa18..27b2967 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,3 +8,9 @@ pyflakes==2.2.0 readme_renderer[md]==26.0 requests_mock twine==3.2.0; python_version >= '3.2' + +# Profiling tests... +# nose-cprof +# snakeviz +# ./script/test --with-cprof --cprofile-stats-erase +# snakeviz stats.dat diff --git a/tests/test_octodns_provider_easydns.py b/tests/test_octodns_provider_easydns.py index 85492eb..9b50024 100644 --- a/tests/test_octodns_provider_easydns.py +++ b/tests/test_octodns_provider_easydns.py @@ -107,7 +107,8 @@ class TestEasyDNSProvider(TestCase): self.assertEquals('Not Found', text_type(ctx.exception)) def test_apply_not_found(self): - provider = EasyDNSProvider('test', 'token', 'apikey') + provider = EasyDNSProvider('test', 'token', 'apikey', + domain_create_sleep=0) wanted = Zone('unit.tests.', []) wanted.add_record(Record.new(wanted, 'test1', { @@ -143,7 +144,8 @@ class TestEasyDNSProvider(TestCase): self.assertEquals('Not Found', text_type(ctx.exception)) def test_domain_create(self): - provider = EasyDNSProvider('test', 'token', 'apikey') + provider = EasyDNSProvider('test', 'token', 'apikey', + domain_create_sleep=0) domain_after_creation = { "tm": 1000000000, "data": [{