diff --git a/octodns/provider/dyn.py b/octodns/provider/dyn.py index 721b3a7..0b2d9e2 100644 --- a/octodns/provider/dyn.py +++ b/octodns/provider/dyn.py @@ -290,7 +290,9 @@ class DynProvider(BaseProvider): for td in get_all_dsf_services(): try: fqdn, _type = td.label.split(':', 1) - except ValueError: + except ValueError as e: + self.log.warn("Failed to load TrafficDirector %s: %s", + td.label, e.message) continue tds[fqdn][_type] = td self._traffic_directors = dict(tds) diff --git a/tests/test_octodns_provider_dyn.py b/tests/test_octodns_provider_dyn.py index 9be253d..b5aac81 100644 --- a/tests/test_octodns_provider_dyn.py +++ b/tests/test_octodns_provider_dyn.py @@ -8,7 +8,7 @@ from __future__ import absolute_import, division, print_function, \ from dyn.tm.errors import DynectGetError from dyn.tm.services.dsf import DSFResponsePool from json import loads -from mock import MagicMock, call, patch +from mock import MagicMock, call, patch, Mock from unittest import TestCase from octodns.record import Create, Delete, Record, Update @@ -601,6 +601,7 @@ class TestDynProviderGeo(TestCase): provider = DynProvider('test', 'cust', 'user', 'pass', True) # short-circuit session checking provider._dyn_sess = True + provider.log.warn = MagicMock() # no tds mock.side_effect = [{'data': []}] @@ -649,6 +650,12 @@ class TestDynProviderGeo(TestCase): set(tds.keys())) self.assertEquals(['A'], tds['unit.tests.'].keys()) self.assertEquals(['A'], tds['geo.unit.tests.'].keys()) + provider.log.warn.assert_called_with( + u'Failed to load TrafficDirector %s: %s', + u'something else', + 'need more than 1 value to unpack' + ) + @patch('dyn.core.SessionEngine.execute') def test_traffic_director_monitor(self, mock):