def setUp(self): docker_dns.CONFIG = DEFAULT_CONFIG self.client = MockDockerClient() self.mapping = DockerMapping(self.client) self.resolver = DockerResolver(self.mapping)
class DockerResolverTest(unittest.TestCase): def setUp(self): docker_dns.CONFIG = DEFAULT_CONFIG self.client = MockDockerClient() self.mapping = DockerMapping(self.client) self.resolver = DockerResolver(self.mapping) # # TEST _a_records # def test__a_records_hostname(self): rec = self.resolver._a_records('sneaky-foxes') self.assertEqual(len(rec), 1) rec = rec[0] self.assertTrue(check_record( rec, name='sneaky-foxes', type=dns.A, )) self.assertEqual(rec.payload.dottedQuad(), '8.8.8.8') def test__a_records_id(self): rec = self.resolver._a_records('cidpandas.docker') self.assertEqual(len(rec), 1) rec = rec[0] self.assertTrue( check_record( rec, name='cidpandas.docker', type=dns.A, )) self.assertEqual(rec.payload.dottedQuad(), '127.0.0.1') def test__a_records_shutdown(self): self.assertRaises(DomainError, self.resolver._a_records, 'cidsloths.docker') def test__a_records_invalid(self): self.assertRaises(DomainError, self.resolver._a_records, 'invalid.docker') def test__a_records_blank_query(self): self.assertRaises(DomainError, self.resolver._a_records, '') def test__a_records_authoritive(self): docker_dns.CONFIG['authoritive'] = True rec = self.resolver._a_records('cidpandas.docker') self.assertEqual(len(rec), 1) rec = rec[0] self.assertTrue( check_record( rec, name='cidpandas.docker', type=dns.A, auth=True, )) def test__a_records_non_authoritive(self): docker_dns.CONFIG['authoritive'] = False rec = self.resolver._a_records('cidpandas.docker') self.assertEqual(len(rec), 1) rec = rec[0] self.assertTrue( check_record( rec, name='cidpandas.docker', type=dns.A, auth=False, )) # # TEST lookupAddress # def test_lookupAddress_id(self): deferred = self.resolver.lookupAddress('cidfoxes.docker') result = check_deferred(deferred, True) self.assertNotEqual(result, False) self.assertEqual(len(result), 3) self.assertEqual(result[1], ()) self.assertEqual(result[2], ()) self.assertEqual(len(result[0]), 1) rec = result[0][0] self.assertTrue(check_record( rec, name='cidfoxes.docker', type=dns.A, )) self.assertEqual(rec.payload.dottedQuad(), '8.8.8.8') def test_lookupAddress_invalid(self): deferred = self.resolver.lookupAddress('invalid') result = check_deferred(deferred, False) self.assertNotEqual(result, False) def test_lookupAddress_invalid_nxdomain(self): docker_dns.CONFIG['no_nxdomain'] = False deferred = self.resolver.lookupAddress('invalid') result = check_deferred(deferred, False) self.assertNotEqual(result, False) self.assertEqual(result.type, DomainError) # noqa pylint:disable=maybe-no-member def test_lookupAddress_invalid_no_nxdomain(self): docker_dns.CONFIG['no_nxdomain'] = True deferred = self.resolver.lookupAddress('invalid') result = check_deferred(deferred, False) self.assertNotEqual(result, False) self.assertEqual(result.type, DNSQueryTimeoutError) # noqa pylint:disable=maybe-no-member
class DockerResolverTest(unittest.TestCase): def setUp(self): docker_dns.CONFIG = DEFAULT_CONFIG self.client = MockDockerClient() self.mapping = DockerMapping(self.client) self.resolver = DockerResolver(self.mapping) # # TEST _a_records # def test__a_records_hostname(self): rec = self.resolver._a_records('sneaky-foxes') self.assertEqual(len(rec), 1) rec = rec[0] self.assertTrue(check_record( rec, name='sneaky-foxes', type=dns.A, )) self.assertEqual(rec.payload.dottedQuad(), '8.8.8.8') def test__a_records_id(self): rec = self.resolver._a_records('cidpandas.docker') self.assertEqual(len(rec), 1) rec = rec[0] self.assertTrue(check_record( rec, name='cidpandas.docker', type=dns.A, )) self.assertEqual(rec.payload.dottedQuad(), '127.0.0.1') def test__a_records_shutdown(self): self.assertRaises( DomainError, self.resolver._a_records, 'cidsloths.docker' ) def test__a_records_invalid(self): self.assertRaises( DomainError, self.resolver._a_records, 'invalid.docker' ) def test__a_records_blank_query(self): self.assertRaises( DomainError, self.resolver._a_records, '' ) def test__a_records_authoritive(self): docker_dns.CONFIG['authoritive'] = True rec = self.resolver._a_records('cidpandas.docker') self.assertEqual(len(rec), 1) rec = rec[0] self.assertTrue(check_record( rec, name='cidpandas.docker', type=dns.A, auth=True, )) def test__a_records_non_authoritive(self): docker_dns.CONFIG['authoritive'] = False rec = self.resolver._a_records('cidpandas.docker') self.assertEqual(len(rec), 1) rec = rec[0] self.assertTrue(check_record( rec, name='cidpandas.docker', type=dns.A, auth=False, )) # # TEST lookupAddress # def test_lookupAddress_id(self): deferred = self.resolver.lookupAddress('cidfoxes.docker') result = check_deferred(deferred, True) self.assertNotEqual(result, False) self.assertEqual(len(result), 3) self.assertEqual(result[1], ()) self.assertEqual(result[2], ()) self.assertEqual(len(result[0]), 1) rec = result[0][0] self.assertTrue(check_record( rec, name='cidfoxes.docker', type=dns.A, )) self.assertEqual(rec.payload.dottedQuad(), '8.8.8.8') def test_lookupAddress_invalid(self): deferred = self.resolver.lookupAddress('invalid') result = check_deferred(deferred, False) self.assertNotEqual(result, False) def test_lookupAddress_invalid_nxdomain(self): docker_dns.CONFIG['no_nxdomain'] = False deferred = self.resolver.lookupAddress('invalid') result = check_deferred(deferred, False) self.assertNotEqual(result, False) self.assertEqual(result.type, DomainError) # noqa pylint:disable=maybe-no-member def test_lookupAddress_invalid_no_nxdomain(self): docker_dns.CONFIG['no_nxdomain'] = True deferred = self.resolver.lookupAddress('invalid') result = check_deferred(deferred, False) self.assertNotEqual(result, False) self.assertEqual(result.type, DNSQueryTimeoutError) # noqa pylint:disable=maybe-no-member