def _test_dyn_resp_check(self, config, assertResult): cp = ConfigParser(config) cp.generate_config_objects() dnshandler = DNSHandler(cp) q = Query('foobar.com') result = dnshandler._dynamicResponseRequired(q) self.assertEqual(result, assertResult)
def test_config_dns_listener(self): """ Performs various tests on the config files """ init_config = os.path.join(self.config_dir, 'init_test.yaml') cp = ConfigParser() cp.parse_config(init_config) self.assertEqual(cp['dns_server']['ip'], '127.0.0.1') self.assertEqual(cp['dns_server']['port'], 53)
def _test_domain_match(self, config, qtype, domain, should_match=None): cp = ConfigParser(config) cp.generate_config_objects() drg = DNSReplyGenerator(config) if should_match: config_entry = drg.getDomainConfigEntry(domain) self.assertEqual(config_entry[qtype], should_match) else: with self.assertRaises(RuntimeError): drg.getDomainConfigEntry(domain)
def test_handling_non_existant_key(self): cp = ConfigParser({}) self.assertEqual(False, 'nonexistant' in cp)
def test_minimal_dns_config(self): cp = ConfigParser({}) with self.assertRaises(RuntimeError): cp.validate_config()
def generateValidConfigParser(self): cp = ConfigParser({}) cp['dns_server' ] = {'ip': '127.0.0.1', 'port': 53} cp['listening_info'] = {'ip': '127.0.0.1', 'port': 53} cp['default_dns_policy'] = 'forward' return cp
def _test_dns_reply_generation(self, config, query_type): cp = ConfigParser(config) cp.generate_config_objects() dnshandler = DNSHandler(cp) q = Query('domain.com', type=query_type) return dnshandler._doDynamicResponse(q)