From: JINMEI Tatuya Date: Mon, 28 Jan 2013 22:15:31 +0000 (-0800) Subject: [1866] remove '()' from RRType/Class.XXX constants, making all tests now pass. X-Git-Tag: bind10-1.0.0-rc-release~27^2~8^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4f0716782cba2f94c577e80cc23e4759b2440907;p=thirdparty%2Fkea.git [1866] remove '()' from RRType/Class.XXX constants, making all tests now pass. --- diff --git a/src/bin/ddns/ddns.py.in b/src/bin/ddns/ddns.py.in index 094e0ecdb8..0817997723 100755 --- a/src/bin/ddns/ddns.py.in +++ b/src/bin/ddns/ddns.py.in @@ -134,7 +134,7 @@ def get_datasrc_client(cc_session): function will simply be removed. ''' - HARDCODED_DATASRC_CLASS = RRClass.IN() + HARDCODED_DATASRC_CLASS = RRClass.IN file, is_default = cc_session.get_remote_config_value("Auth", "database_file") # See xfrout.py:get_db_file() for this trick: diff --git a/src/bin/ddns/tests/ddns_test.py b/src/bin/ddns/tests/ddns_test.py index 0f5ca9b7f0..d64cec21f2 100755 --- a/src/bin/ddns/tests/ddns_test.py +++ b/src/bin/ddns/tests/ddns_test.py @@ -39,9 +39,9 @@ TESTDATA_PATH = os.environ['TESTDATA_PATH'] + os.sep READ_ZONE_DB_FILE = TESTDATA_PATH + "rwtest.sqlite3" # original, to be copied TEST_ZONE_NAME = Name('example.org') TEST_ZONE_NAME_STR = TEST_ZONE_NAME.to_text() -UPDATE_RRTYPE = RRType.SOA() +UPDATE_RRTYPE = RRType.SOA TEST_QID = 5353 # arbitrary chosen -TEST_RRCLASS = RRClass.IN() +TEST_RRCLASS = RRClass.IN TEST_RRCLASS_STR = TEST_RRCLASS.to_text() TEST_SERVER6 = ('2001:db8::53', 53, 0, 0) TEST_CLIENT6 = ('2001:db8::1', 53000, 0, 0) @@ -478,7 +478,7 @@ class TestDDNSServer(unittest.TestCase): # By default (in our faked config) it should be derived from the # test data source rrclass, datasrc_client = self.ddns_server._datasrc_info - self.assertEqual(RRClass.IN(), rrclass) + self.assertEqual(RRClass.IN, rrclass) self.assertEqual(DataSourceClient.SUCCESS, datasrc_client.find_zone(Name('example.org'))[0]) @@ -491,7 +491,7 @@ class TestDDNSServer(unittest.TestCase): {'database_file': './notexistentdir/somedb.sqlite3'} self.__cc_session.add_remote_config_by_name('Auth') rrclass, datasrc_client = self.ddns_server._datasrc_info - self.assertEqual(RRClass.IN(), rrclass) + self.assertEqual(RRClass.IN, rrclass) self.assertRaises(isc.datasrc.Error, datasrc_client.find_zone, Name('example.org')) @@ -1127,9 +1127,9 @@ class TestDDNSSession(unittest.TestCase): self.__faked_result = UPDATE_DROP # Put the same RR twice in the prerequisite section. We should see # them as separate RRs. - dummy_record = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.NS(), + dummy_record = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.NS, RRTTL(0)) - dummy_record.add_rdata(Rdata(RRType.NS(), TEST_RRCLASS, "ns.example")) + dummy_record.add_rdata(Rdata(RRType.NS, TEST_RRCLASS, "ns.example")) self.server.handle_request((self.__sock, TEST_SERVER6, TEST_CLIENT6, create_msg(prereq=[dummy_record, dummy_record]))) diff --git a/src/bin/loadzone/loadzone.py.in b/src/bin/loadzone/loadzone.py.in index 949446b926..736aa31ab6 100755 --- a/src/bin/loadzone/loadzone.py.in +++ b/src/bin/loadzone/loadzone.py.in @@ -164,7 +164,7 @@ class LoadZoneRunner: self._zone_class = RRClass(options.zone_class) except isc.dns.InvalidRRClass as ex: raise BadArgument('Invalid zone class: ' + str(ex)) - if self._zone_class != RRClass.IN(): + if self._zone_class != RRClass.IN: raise BadArgument("RR class is not supported: " + str(self._zone_class)) diff --git a/src/bin/loadzone/tests/loadzone_test.py b/src/bin/loadzone/tests/loadzone_test.py index fee8c2a381..351bc5921d 100755 --- a/src/bin/loadzone/tests/loadzone_test.py +++ b/src/bin/loadzone/tests/loadzone_test.py @@ -79,7 +79,7 @@ class TestLoadZoneRunner(unittest.TestCase): self.assertEqual(DATASRC_CONFIG, self.__runner._datasrc_config) self.assertEqual('sqlite3', self.__runner._datasrc_type) # default self.assertEqual(10000, self.__runner._report_interval) # default - self.assertEqual(RRClass.IN(), self.__runner._zone_class) # default + self.assertEqual(RRClass.IN, self.__runner._zone_class) # default self.assertEqual('INFO', self.__runner._log_severity) # default self.assertEqual(0, self.__runner._log_debuglevel) @@ -135,7 +135,7 @@ class TestLoadZoneRunner(unittest.TestCase): 'memory') def __common_load_setup(self): - self.__runner._zone_class = RRClass.IN() + self.__runner._zone_class = RRClass.IN self.__runner._zone_name = TEST_ZONE_NAME self.__runner._zone_file = NEW_ZONE_TXT_FILE self.__runner._datasrc_type = 'sqlite3' @@ -159,7 +159,7 @@ class TestLoadZoneRunner(unittest.TestCase): self.assertEqual(client.NOTFOUND, result) return self.assertEqual(client.SUCCESS, result) - result, rrset, _ = finder.find(zone_name, RRType.SOA()) + result, rrset, _ = finder.find(zone_name, RRType.SOA) if soa_txt: self.assertEqual(finder.SUCCESS, result) self.assertEqual(soa_txt, rrset.to_text()) diff --git a/src/bin/xfrin/tests/xfrin_test.py b/src/bin/xfrin/tests/xfrin_test.py index 99c5e1e1a5..aeeff579b8 100644 --- a/src/bin/xfrin/tests/xfrin_test.py +++ b/src/bin/xfrin/tests/xfrin_test.py @@ -40,7 +40,7 @@ import sqlite3 # TEST_ZONE_NAME_STR = "example.com." TEST_ZONE_NAME = Name(TEST_ZONE_NAME_STR) -TEST_RRCLASS = RRClass.IN() +TEST_RRCLASS = RRClass.IN TEST_RRCLASS_STR = 'IN' TEST_DB_FILE = 'db_file' TEST_MASTER_IPV4_ADDRESS = '127.0.0.1' @@ -59,21 +59,21 @@ TEST_MASTER_PORT = '53535' TSIG_KEY = TSIGKey("example.com:SFuWd/q99SzF8Yzd1QbB9g==") # SOA intended to be used for the new SOA as a result of transfer. -soa_rdata = Rdata(RRType.SOA(), TEST_RRCLASS, +soa_rdata = Rdata(RRType.SOA, TEST_RRCLASS, 'master.example.com. admin.example.com. ' + '1234 3600 1800 2419200 7200') -soa_rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA(), RRTTL(3600)) +soa_rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA, RRTTL(3600)) soa_rrset.add_rdata(soa_rdata) # SOA intended to be used for the current SOA at the secondary side. # Note that its serial is smaller than that of soa_rdata. -begin_soa_rdata = Rdata(RRType.SOA(), TEST_RRCLASS, +begin_soa_rdata = Rdata(RRType.SOA, TEST_RRCLASS, 'master.example.com. admin.example.com. ' + '1230 3600 1800 2419200 7200') -begin_soa_rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA(), RRTTL(3600)) +begin_soa_rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA, RRTTL(3600)) begin_soa_rrset.add_rdata(begin_soa_rdata) -example_axfr_question = Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.AXFR()) -example_soa_question = Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA()) +example_axfr_question = Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.AXFR) +example_soa_question = Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA) default_questions = [example_axfr_question] default_answers = [soa_rrset] @@ -202,12 +202,12 @@ class MockDataSourceClient(): zone names. ''' - if name == TEST_ZONE_NAME and rrtype == RRType.SOA(): + if name == TEST_ZONE_NAME and rrtype == RRType.SOA: return (ZoneFinder.SUCCESS, begin_soa_rrset, 0) if name == Name('no-soa.example'): return (ZoneFinder.NXDOMAIN, None, 0) if name == Name('dup-soa.example'): - dup_soa_rrset = RRset(name, TEST_RRCLASS, RRType.SOA(), RRTTL(0)) + dup_soa_rrset = RRset(name, TEST_RRCLASS, RRType.SOA, RRTTL(0)) dup_soa_rrset.add_rdata(begin_soa_rdata) dup_soa_rrset.add_rdata(soa_rdata) return (ZoneFinder.SUCCESS, dup_soa_rrset, 0) @@ -354,17 +354,17 @@ class TestXfrinState(unittest.TestCase): TEST_RRCLASS, None, threading.Event(), TEST_MASTER_IPV4_ADDRINFO) self.conn.init_socket() - self.begin_soa = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA(), + self.begin_soa = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA, RRTTL(3600)) - self.begin_soa.add_rdata(Rdata(RRType.SOA(), TEST_RRCLASS, + self.begin_soa.add_rdata(Rdata(RRType.SOA, TEST_RRCLASS, 'm. r. 1230 0 0 0 0')) - self.ns_rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.NS(), + self.ns_rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.NS, RRTTL(3600)) - self.ns_rrset.add_rdata(Rdata(RRType.NS(), TEST_RRCLASS, + self.ns_rrset.add_rdata(Rdata(RRType.NS, TEST_RRCLASS, 'ns.example.com')) - self.a_rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.A(), + self.a_rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.A, RRTTL(3600)) - self.a_rrset.add_rdata(Rdata(RRType.A(), TEST_RRCLASS, '192.0.2.1')) + self.a_rrset.add_rdata(Rdata(RRType.A, TEST_RRCLASS, '192.0.2.1')) self.conn._datasrc_client = MockDataSourceClient() self.conn._diff = Diff(self.conn._datasrc_client, TEST_ZONE_NAME) @@ -396,14 +396,14 @@ class TestXfrinInitialSOA(TestXfrinState): self.ns_rrset) def test_handle_ixfr_uptodate(self): - self.conn._request_type = RRType.IXFR() + self.conn._request_type = RRType.IXFR self.conn._request_serial = isc.dns.Serial(1234) # same as soa_rrset self.assertTrue(self.state.handle_rr(self.conn, soa_rrset)) self.assertEqual(type(XfrinIXFRUptodate()), type(self.conn.get_xfrstate())) def test_handle_ixfr_uptodate2(self): - self.conn._request_type = RRType.IXFR() + self.conn._request_type = RRType.IXFR self.conn._request_serial = isc.dns.Serial(1235) # > soa_rrset self.assertTrue(self.state.handle_rr(self.conn, soa_rrset)) self.assertEqual(type(XfrinIXFRUptodate()), @@ -412,7 +412,7 @@ class TestXfrinInitialSOA(TestXfrinState): def test_handle_ixfr_uptodate3(self): # Similar to the previous case, but checking serial number arithmetic # comparison - self.conn._request_type = RRType.IXFR() + self.conn._request_type = RRType.IXFR self.conn._request_serial = isc.dns.Serial(0xffffffff) self.assertTrue(self.state.handle_rr(self.conn, soa_rrset)) self.assertEqual(type(XfrinFirstData()), @@ -420,7 +420,7 @@ class TestXfrinInitialSOA(TestXfrinState): def test_handle_axfr_uptodate(self): # "request serial" should matter only for IXFR - self.conn._request_type = RRType.AXFR() + self.conn._request_type = RRType.AXFR self.conn._request_serial = isc.dns.Serial(1234) # same as soa_rrset self.assertTrue(self.state.handle_rr(self.conn, soa_rrset)) self.assertEqual(type(XfrinFirstData()), @@ -433,13 +433,13 @@ class TestXfrinFirstData(TestXfrinState): def setUp(self): super().setUp() self.state = XfrinFirstData() - self.conn._request_type = RRType.IXFR() + self.conn._request_type = RRType.IXFR # arbitrary chosen serial < 1234: self.conn._request_serial = isc.dns.Serial(1230) self.conn._diff = None # should be replaced in the AXFR case def test_handle_ixfr_begin_soa(self): - self.conn._request_type = RRType.IXFR() + self.conn._request_type = RRType.IXFR self.assertFalse(self.state.handle_rr(self.conn, self.begin_soa)) self.assertEqual(type(XfrinIXFRDeleteSOA()), type(self.conn.get_xfrstate())) @@ -447,7 +447,7 @@ class TestXfrinFirstData(TestXfrinState): def test_handle_axfr(self): # If the original type is AXFR, other conditions aren't considered, # and AXFR processing will continue - self.conn._request_type = RRType.AXFR() + self.conn._request_type = RRType.AXFR self.assertFalse(self.state.handle_rr(self.conn, self.begin_soa)) self.assertEqual(type(XfrinAXFR()), type(self.conn.get_xfrstate())) @@ -586,9 +586,9 @@ class TestXfrinIXFRAdd(TestXfrinState): # First, push a starting SOA inside. This should be OK, nothing checked # yet. self.state.handle_rr(self.conn, self.begin_soa) - end_soa_rdata = Rdata(RRType.SOA(), TEST_RRCLASS, + end_soa_rdata = Rdata(RRType.SOA, TEST_RRCLASS, 'm. r. 1234 0 0 0 0') - end_soa_rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA(), + end_soa_rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA, RRTTL(3600)) end_soa_rrset.add_rdata(end_soa_rdata) # This would try to finish up. But the TSIG pretends not everything is @@ -789,21 +789,21 @@ class TestXfrinConnection(unittest.TestCase): self.conn.reply_data += bogus_data def _create_a(self, address): - rrset = RRset(Name('a.example.com'), TEST_RRCLASS, RRType.A(), + rrset = RRset(Name('a.example.com'), TEST_RRCLASS, RRType.A, RRTTL(3600)) - rrset.add_rdata(Rdata(RRType.A(), TEST_RRCLASS, address)) + rrset.add_rdata(Rdata(RRType.A, TEST_RRCLASS, address)) return rrset def _create_soa(self, serial): - rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA(), + rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.SOA, RRTTL(3600)) rdata_str = 'm. r. ' + serial + ' 3600 1800 2419200 7200' - rrset.add_rdata(Rdata(RRType.SOA(), TEST_RRCLASS, rdata_str)) + rrset.add_rdata(Rdata(RRType.SOA, TEST_RRCLASS, rdata_str)) return rrset def _create_ns(self, nsname='ns.'+TEST_ZONE_NAME_STR): - rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.NS(), RRTTL(3600)) - rrset.add_rdata(Rdata(RRType.NS(), TEST_RRCLASS, nsname)) + rrset = RRset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.NS, RRTTL(3600)) + rrset.add_rdata(Rdata(RRType.NS, TEST_RRCLASS, nsname)) return rrset def _set_test_zone(self, zone_name): @@ -870,12 +870,12 @@ class TestAXFR(TestXfrinConnection): c.close() def test_init_chclass(self): - c = MockXfrinConnection({}, TEST_ZONE_NAME, RRClass.CH(), None, + c = MockXfrinConnection({}, TEST_ZONE_NAME, RRClass.CH, None, threading.Event(), TEST_MASTER_IPV4_ADDRINFO) c.init_socket() - axfrmsg = c._create_query(RRType.AXFR()) + axfrmsg = c._create_query(RRType.AXFR) self.assertEqual(axfrmsg.get_question()[0].get_class(), - RRClass.CH()) + RRClass.CH) c.close() def test_create_query(self): @@ -907,16 +907,16 @@ class TestAXFR(TestXfrinConnection): # Actual tests start here # SOA query - msg = self.conn._create_query(RRType.SOA()) - check_query(RRType.SOA(), None) + msg = self.conn._create_query(RRType.SOA) + check_query(RRType.SOA, None) # AXFR query - msg = self.conn._create_query(RRType.AXFR()) - check_query(RRType.AXFR(), None) + msg = self.conn._create_query(RRType.AXFR) + check_query(RRType.AXFR, None) # IXFR query - msg = self.conn._create_query(RRType.IXFR()) - check_query(RRType.IXFR(), begin_soa_rrset) + msg = self.conn._create_query(RRType.IXFR) + check_query(RRType.IXFR, begin_soa_rrset) self.assertEqual(1230, self.conn._request_serial.get_value()) def test_create_ixfr_query_fail(self): @@ -925,20 +925,20 @@ class TestAXFR(TestXfrinConnection): self._set_test_zone(Name('no-such-zone.example')) self.assertRaises(XfrinException, self.conn._create_query, - RRType.IXFR()) + RRType.IXFR) self._set_test_zone(Name('partial-match-zone.example')) self.assertRaises(XfrinException, self.conn._create_query, - RRType.IXFR()) + RRType.IXFR) self._set_test_zone(Name('no-soa.example')) self.assertRaises(XfrinException, self.conn._create_query, - RRType.IXFR()) + RRType.IXFR) self._set_test_zone(Name('dup-soa.example')) self.conn._zone_soa = self.conn._get_zone_soa() self.assertRaises(XfrinException, self.conn._create_query, - RRType.IXFR()) + RRType.IXFR) def test_send_query(self): def message_has_tsig(data): @@ -951,11 +951,11 @@ class TestAXFR(TestXfrinConnection): # soa request with tsig self.conn._tsig_key = TSIG_KEY - self.conn._send_query(RRType.SOA()) + self.conn._send_query(RRType.SOA) self.assertTrue(message_has_tsig(self.conn.query_data[2:])) # axfr request with tsig - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.assertTrue(message_has_tsig(self.conn.query_data[2:])) def test_response_with_invalid_msg(self): @@ -966,14 +966,14 @@ class TestAXFR(TestXfrinConnection): def test_response_with_tsigfail(self): self.conn._tsig_key = TSIG_KEY # server tsig check fail, return with RCODE 9 (NOTAUTH) - self.conn._send_query(RRType.SOA()) + self.conn._send_query(RRType.SOA) self.conn.reply_data = \ self.conn.create_response_data(rcode=Rcode.NOTAUTH()) self.assertRaises(XfrinProtocolError, self.conn._handle_xfrin_responses) def test_response_without_end_soa(self): - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn.reply_data = self.conn.create_response_data() # This should result in timeout in the asyncore loop. We emulate # that situation in recv() by emptying the reply data buffer. @@ -981,7 +981,7 @@ class TestAXFR(TestXfrinConnection): self.conn._handle_xfrin_responses) def test_response_bad_qid(self): - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn.reply_data = self.conn.create_response_data(bad_qid=True) self.assertRaises(XfrinProtocolError, self.conn._handle_xfrin_responses) @@ -990,7 +990,7 @@ class TestAXFR(TestXfrinConnection): self.conn._tsig_key = TSIG_KEY self.conn._tsig_ctx_creator = \ lambda key: self.__create_mock_tsig(key, TSIGError.BAD_SIG) - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn.reply_data = self.conn.create_response_data( rcode=Rcode.SERVFAIL()) # xfrin should check TSIG before other part of incoming message @@ -1003,7 +1003,7 @@ class TestAXFR(TestXfrinConnection): self.conn._tsig_key = TSIG_KEY self.conn._tsig_ctx_creator = \ lambda key: self.__create_mock_tsig(key, TSIGError.BAD_KEY) - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn.reply_data = self.conn.create_response_data(bad_qid=True) # xfrin should check TSIG before other part of incoming message # validate log message for XfrinException @@ -1012,26 +1012,26 @@ class TestAXFR(TestXfrinConnection): self.conn._handle_xfrin_responses) def test_response_non_response(self): - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn.reply_data = self.conn.create_response_data(response=False) self.assertRaises(XfrinException, self.conn._handle_xfrin_responses) def test_response_error_code(self): - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn.reply_data = self.conn.create_response_data( rcode=Rcode.SERVFAIL()) self.assertRaises(XfrinProtocolError, self.conn._handle_xfrin_responses) def test_response_multi_question(self): - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn.reply_data = self.conn.create_response_data( questions=[example_axfr_question, example_axfr_question]) self.assertRaises(XfrinProtocolError, self.conn._handle_xfrin_responses) def test_response_non_response(self): - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn.reply_data = self.conn.create_response_data(response = False) self.assertRaises(XfrinProtocolError, self.conn._handle_xfrin_responses) @@ -1117,21 +1117,21 @@ class TestAXFR(TestXfrinConnection): self.conn.response_generator = self._create_soa_response_data self.soa_response_params['questions'] = [Question(Name('example.org'), TEST_RRCLASS, - RRType.SOA())] + RRType.SOA)] self.assertRaises(XfrinProtocolError, self.conn._check_soa_serial) def test_soacheck_question_class_mismatch(self): self.conn.response_generator = self._create_soa_response_data self.soa_response_params['questions'] = [Question(TEST_ZONE_NAME, - RRClass.CH(), - RRType.SOA())] + RRClass.CH, + RRType.SOA)] self.assertRaises(XfrinProtocolError, self.conn._check_soa_serial) def test_soacheck_question_type_mismatch(self): self.conn.response_generator = self._create_soa_response_data self.soa_response_params['questions'] = [Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.AAAA())] + RRType.AAAA)] self.assertRaises(XfrinProtocolError, self.conn._check_soa_serial) def test_soacheck_no_soa(self): @@ -1149,8 +1149,8 @@ class TestAXFR(TestXfrinConnection): def test_soacheck_soa_class_mismatch(self): self.conn.response_generator = self._create_soa_response_data - soa = RRset(TEST_ZONE_NAME, RRClass.CH(), RRType.SOA(), RRTTL(0)) - soa.add_rdata(Rdata(RRType.SOA(), RRClass.CH(), 'm. r. 1234 0 0 0 0')) + soa = RRset(TEST_ZONE_NAME, RRClass.CH, RRType.SOA, RRTTL(0)) + soa.add_rdata(Rdata(RRType.SOA, RRClass.CH, 'm. r. 1234 0 0 0 0')) self.soa_response_params['answers'] = [soa] self.assertRaises(XfrinProtocolError, self.conn._check_soa_serial) @@ -1228,7 +1228,7 @@ class TestAXFR(TestXfrinConnection): def test_response_shutdown(self): self.conn.response_generator = self._create_normal_response_data self.conn._shutdown_event.set() - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.assertRaises(XfrinException, self.conn._handle_xfrin_responses) def test_response_timeout(self): @@ -1243,13 +1243,13 @@ class TestAXFR(TestXfrinConnection): def test_response_bad_message(self): self.conn.response_generator = self._create_broken_response_data - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.assertRaises(Exception, self.conn._handle_xfrin_responses) def test_axfr_response(self): # A simple normal case: AXFR consists of SOA, NS, then trailing SOA. self.conn.response_generator = self._create_normal_response_data - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn._handle_xfrin_responses() self.assertEqual(type(XfrinAXFREnd()), type(self.conn.get_xfrstate())) check_diffs(self.assertEqual, @@ -1270,7 +1270,7 @@ class TestAXFR(TestXfrinConnection): self._create_ns(), soa_rrset] self.conn.response_generator = self._create_normal_response_data - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn._handle_xfrin_responses() self.assertEqual(type(XfrinAXFREnd()), type(self.conn.get_xfrstate())) check_diffs(self.assertEqual, @@ -1285,10 +1285,10 @@ class TestAXFR(TestXfrinConnection): ''' ns_rr = self._create_ns() a_rr = self._create_a('192.0.2.1') - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn.reply_data = self.conn.create_response_data( questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.AXFR())], + RRType.AXFR)], # begin serial=1230, end serial=1234. end will be used. answers=[begin_soa_rrset, ns_rr, a_rr, soa_rrset]) self.conn._handle_xfrin_responses() @@ -1305,10 +1305,10 @@ class TestAXFR(TestXfrinConnection): ''' ns_rr = self._create_ns() a_rr = self._create_a('192.0.2.1') - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn.reply_data = self.conn.create_response_data( questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.AXFR())], + RRType.AXFR)], answers=[soa_rrset, ns_rr, a_rr, soa_rrset, a_rr]) self.assertRaises(XfrinProtocolError, self.conn._handle_xfrin_responses) @@ -1322,9 +1322,9 @@ class TestAXFR(TestXfrinConnection): ''' self.axfr_response_params['question_1st'] = \ - [Question(Name('mismatch.example'), TEST_RRCLASS, RRType.AXFR())] + [Question(Name('mismatch.example'), TEST_RRCLASS, RRType.AXFR)] self.conn.response_generator = self._create_normal_response_data - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn._handle_xfrin_responses() self.assertEqual(type(XfrinAXFREnd()), type(self.conn.get_xfrstate())) check_diffs(self.assertEqual, @@ -1338,9 +1338,9 @@ class TestAXFR(TestXfrinConnection): ''' self.axfr_response_params['question_1st'] = \ - [Question(TEST_ZONE_NAME, RRClass.CH(), RRType.AXFR())] + [Question(TEST_ZONE_NAME, RRClass.CH, RRType.AXFR)] self.conn.response_generator = self._create_normal_response_data - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn._handle_xfrin_responses() self.assertEqual(type(XfrinAXFREnd()), type(self.conn.get_xfrstate())) check_diffs(self.assertEqual, @@ -1355,9 +1355,9 @@ class TestAXFR(TestXfrinConnection): ''' # returning IXFR in question to AXFR query self.axfr_response_params['question_1st'] = \ - [Question(TEST_ZONE_NAME, RRClass.CH(), RRType.IXFR())] + [Question(TEST_ZONE_NAME, RRClass.CH, RRType.IXFR)] self.conn.response_generator = self._create_normal_response_data - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn._handle_xfrin_responses() self.assertEqual(type(XfrinAXFREnd()), type(self.conn.get_xfrstate())) check_diffs(self.assertEqual, @@ -1372,7 +1372,7 @@ class TestAXFR(TestXfrinConnection): ''' self.axfr_response_params['question_1st'] = [] self.conn.response_generator = self._create_normal_response_data - self.conn._send_query(RRType.AXFR()) + self.conn._send_query(RRType.AXFR) self.conn._handle_xfrin_responses() self.assertEqual(type(XfrinAXFREnd()), type(self.conn.get_xfrstate())) check_diffs(self.assertEqual, @@ -1552,7 +1552,7 @@ class TestIXFRResponse(TestXfrinConnection): super().setUp() self.conn._query_id = self.conn.qid = 1035 self.conn._request_serial = isc.dns.Serial(1230) - self.conn._request_type = RRType.IXFR() + self.conn._request_type = RRType.IXFR self.conn._datasrc_client = MockDataSourceClient() XfrinInitialSOA().set_xfrstate(self.conn, XfrinInitialSOA()) @@ -1566,7 +1566,7 @@ class TestIXFRResponse(TestXfrinConnection): ''' self.conn.reply_data = self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[soa_rrset, begin_soa_rrset, soa_rrset, soa_rrset]) self.conn._handle_xfrin_responses() self.assertEqual(type(XfrinIXFREnd()), type(self.conn.get_xfrstate())) @@ -1581,7 +1581,7 @@ class TestIXFRResponse(TestXfrinConnection): ''' self.conn.reply_data = self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[soa_rrset, # removing one A in serial 1230 begin_soa_rrset, self._create_a('192.0.2.1'), @@ -1621,10 +1621,10 @@ class TestIXFRResponse(TestXfrinConnection): ''' self.conn.reply_data = self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[soa_rrset, begin_soa_rrset, soa_rrset]) self.conn.reply_data += self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[soa_rrset]) self.conn._handle_xfrin_responses() self.assertEqual(type(XfrinIXFREnd()), type(self.conn.get_xfrstate())) @@ -1635,7 +1635,7 @@ class TestIXFRResponse(TestXfrinConnection): def test_ixfr_response_uptodate(self): '''IXFR response indicates the zone is new enough''' self.conn.reply_data = self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[begin_soa_rrset]) self.assertRaises(XfrinZoneUptodate, self.conn._handle_xfrin_responses) # no diffs should have been committed @@ -1648,7 +1648,7 @@ class TestIXFRResponse(TestXfrinConnection): ''' # SOA sequence is out-of-sync self.conn.reply_data = self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[soa_rrset, begin_soa_rrset, soa_rrset, self._create_soa('1235')]) self.assertRaises(XfrinProtocolError, @@ -1665,7 +1665,7 @@ class TestIXFRResponse(TestXfrinConnection): specification, but it is how BIND 9 works and we do the same. ''' self.conn.reply_data = self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[soa_rrset, begin_soa_rrset, soa_rrset, soa_rrset, self._create_a('192.0.2.1')]) self.assertRaises(XfrinProtocolError, @@ -1682,7 +1682,7 @@ class TestIXFRResponse(TestXfrinConnection): ''' self.conn.reply_data = self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[begin_soa_rrset, soa_rrset]) self.assertRaises(XfrinProtocolError, self.conn._handle_xfrin_responses) @@ -1699,7 +1699,7 @@ class TestIXFRResponse(TestXfrinConnection): ns_rr = self._create_ns() a_rr = self._create_a('192.0.2.1') self.conn.reply_data = self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[soa_rrset, ns_rr, a_rr, soa_rrset]) self.conn._handle_xfrin_responses() self.assertEqual(type(XfrinAXFREnd()), type(self.conn.get_xfrstate())) @@ -1721,7 +1721,7 @@ class TestIXFRResponse(TestXfrinConnection): ns_rr = self._create_ns() a_rr = self._create_a('192.0.2.1') self.conn.reply_data = self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[soa_rrset, ns_rr, a_rr, begin_soa_rrset]) self.conn._handle_xfrin_responses() self.assertEqual(type(XfrinAXFREnd()), type(self.conn.get_xfrstate())) @@ -1740,7 +1740,7 @@ class TestIXFRResponse(TestXfrinConnection): ns_rr = self._create_ns() a_rr = self._create_a('192.0.2.1') self.conn.reply_data = self.conn.create_response_data( - questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR())], + questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, RRType.IXFR)], answers=[soa_rrset, ns_rr, a_rr, soa_rrset, a_rr]) self.assertRaises(XfrinProtocolError, self.conn._handle_xfrin_responses) @@ -1767,10 +1767,10 @@ class TestIXFRSession(TestXfrinConnection): def create_ixfr_response(): self.conn.reply_data = self.conn.create_response_data( questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.IXFR())], + RRType.IXFR)], answers=[soa_rrset, begin_soa_rrset, soa_rrset, soa_rrset]) self.conn.response_generator = create_ixfr_response - self.assertEqual(XFRIN_OK, self.conn.do_xfrin(False, RRType.IXFR())) + self.assertEqual(XFRIN_OK, self.conn.do_xfrin(False, RRType.IXFR)) # Check some details of the IXFR protocol processing self.assertEqual(type(XfrinIXFREnd()), type(self.conn.get_xfrstate())) @@ -1784,7 +1784,7 @@ class TestIXFRSession(TestXfrinConnection): qmsg.from_wire(qdata, len(qdata)) self.assertEqual(1, qmsg.get_rr_count(Message.SECTION_QUESTION)) self.assertEqual(TEST_ZONE_NAME, qmsg.get_question()[0].get_name()) - self.assertEqual(RRType.IXFR(), qmsg.get_question()[0].get_type()) + self.assertEqual(RRType.IXFR, qmsg.get_question()[0].get_type()) self.assertEqual(1, self.conn._transfer_stats.message_count) self.assertEqual(0, self.conn._transfer_stats.axfr_rr_count) @@ -1801,18 +1801,18 @@ class TestIXFRSession(TestXfrinConnection): def create_ixfr_response(): self.conn.reply_data = self.conn.create_response_data( questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.IXFR())], + RRType.IXFR)], answers=[soa_rrset, begin_soa_rrset, soa_rrset, self._create_soa('1235')]) self.conn.response_generator = create_ixfr_response - self.assertEqual(XFRIN_FAIL, self.conn.do_xfrin(False, RRType.IXFR())) + self.assertEqual(XFRIN_FAIL, self.conn.do_xfrin(False, RRType.IXFR)) def test_do_xfrin_fail2(self): '''IXFR fails due to a bogus DNS message. ''' self._create_broken_response_data() - self.assertEqual(XFRIN_FAIL, self.conn.do_xfrin(False, RRType.IXFR())) + self.assertEqual(XFRIN_FAIL, self.conn.do_xfrin(False, RRType.IXFR)) def test_do_xfrin_uptodate(self): '''IXFR is (gracefully) aborted because serial is not new @@ -1821,10 +1821,10 @@ class TestIXFRSession(TestXfrinConnection): def create_response(): self.conn.reply_data = self.conn.create_response_data( questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.IXFR())], + RRType.IXFR)], answers=[begin_soa_rrset]) self.conn.response_generator = create_response - self.assertEqual(XFRIN_OK, self.conn.do_xfrin(False, RRType.IXFR())) + self.assertEqual(XFRIN_OK, self.conn.do_xfrin(False, RRType.IXFR)) self.assertEqual(1, self.conn._transfer_stats.message_count) self.assertEqual(0, self.conn._transfer_stats.axfr_rr_count) @@ -1871,7 +1871,7 @@ class TestXFRSessionWithSQLite3(TestXfrinConnection): def get_zone_serial(self): result, finder = self.conn._datasrc_client.find_zone(TEST_ZONE_NAME) self.assertEqual(DataSourceClient.SUCCESS, result) - result, soa, _ = finder.find(TEST_ZONE_NAME, RRType.SOA()) + result, soa, _ = finder.find(TEST_ZONE_NAME, RRType.SOA) self.assertEqual(ZoneFinder.SUCCESS, result) self.assertEqual(1, soa.get_rdata_count()) return get_soa_serial(soa.get_rdata()[0]) @@ -1886,13 +1886,13 @@ class TestXFRSessionWithSQLite3(TestXfrinConnection): def create_ixfr_response(): self.conn.reply_data = self.conn.create_response_data( questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.IXFR())], + RRType.IXFR)], answers=[soa_rrset, begin_soa_rrset, soa_rrset, soa_rrset]) self.conn.response_generator = create_ixfr_response # Confirm xfrin succeeds and SOA is updated self.assertEqual(1230, self.get_zone_serial().get_value()) - self.assertEqual(XFRIN_OK, self.conn.do_xfrin(False, RRType.IXFR())) + self.assertEqual(XFRIN_OK, self.conn.do_xfrin(False, RRType.IXFR)) self.assertEqual(1234, self.get_zone_serial().get_value()) # Also confirm the corresponding diffs are stored in the diffs table @@ -1917,18 +1917,18 @@ class TestXFRSessionWithSQLite3(TestXfrinConnection): def create_ixfr_response(): self.conn.reply_data = self.conn.create_response_data( questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.IXFR())], + RRType.IXFR)], answers=[soa_rrset, begin_soa_rrset, soa_rrset, self._create_soa('1235')]) self.conn.response_generator = create_ixfr_response self.assertEqual(1230, self.get_zone_serial().get_value()) - self.assertEqual(XFRIN_FAIL, self.conn.do_xfrin(False, RRType.IXFR())) + self.assertEqual(XFRIN_FAIL, self.conn.do_xfrin(False, RRType.IXFR)) self.assertEqual(1230, self.get_zone_serial().get_value()) def test_do_ixfrin_nozone_sqlite3(self): self._set_test_zone(Name('nosuchzone.example')) - self.assertEqual(XFRIN_FAIL, self.conn.do_xfrin(False, RRType.IXFR())) + self.assertEqual(XFRIN_FAIL, self.conn.do_xfrin(False, RRType.IXFR)) # This should fail even before starting state transition self.assertEqual(None, self.conn.get_xfrstate()) @@ -1945,23 +1945,23 @@ class TestXFRSessionWithSQLite3(TestXfrinConnection): # Confirm xfrin succeeds and SOA is updated, A RR is deleted. self.assertEqual(1230, self.get_zone_serial().get_value()) self.assertTrue(self.record_exist(Name('dns01.example.com'), - RRType.A())) + RRType.A)) self.assertEqual(XFRIN_OK, self.conn.do_xfrin(False, type)) self.assertEqual(1234, self.get_zone_serial().get_value()) self.assertFalse(self.record_exist(Name('dns01.example.com'), - RRType.A())) + RRType.A)) def test_do_ixfrin_axfr_sqlite3(self): '''AXFR-style IXFR. ''' - self.axfr_check(RRType.IXFR()) + self.axfr_check(RRType.IXFR) def test_do_axfrin_sqlite3(self): '''AXFR. ''' - self.axfr_check(RRType.AXFR()) + self.axfr_check(RRType.AXFR) def axfr_failure_check(self, type): '''Similar to the previous two tests, but xfrin fails due to error. @@ -1977,23 +1977,23 @@ class TestXFRSessionWithSQLite3(TestXfrinConnection): self.assertEqual(1230, self.get_zone_serial().get_value()) self.assertTrue(self.record_exist(Name('dns01.example.com'), - RRType.A())) + RRType.A)) self.assertEqual(XFRIN_FAIL, self.conn.do_xfrin(False, type)) self.assertEqual(1230, self.get_zone_serial().get_value()) self.assertTrue(self.record_exist(Name('dns01.example.com'), - RRType.A())) + RRType.A)) def test_do_xfrin_axfr_sqlite3_fail(self): '''Failure case for AXFR-style IXFR. ''' - self.axfr_failure_check(RRType.IXFR()) + self.axfr_failure_check(RRType.IXFR) def test_do_axfrin_sqlite3_fail(self): '''Failure case for AXFR. ''' - self.axfr_failure_check(RRType.AXFR()) + self.axfr_failure_check(RRType.AXFR) def test_do_axfrin_nozone_sqlite3(self): '''AXFR test with an empty SQLite3 DB file, thus no target zone there. @@ -2010,16 +2010,16 @@ class TestXFRSessionWithSQLite3(TestXfrinConnection): def create_response(): self.conn.reply_data = self.conn.create_response_data( questions=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.AXFR())], + RRType.AXFR)], answers=[soa_rrset, self._create_ns(), soa_rrset]) self.conn.response_generator = create_response self._set_test_zone(Name('example.com')) - self.assertEqual(XFRIN_OK, self.conn.do_xfrin(False, RRType.AXFR())) + self.assertEqual(XFRIN_OK, self.conn.do_xfrin(False, RRType.AXFR)) self.assertEqual(type(XfrinAXFREnd()), type(self.conn.get_xfrstate())) self.assertEqual(1234, self.get_zone_serial().get_value()) self.assertFalse(self.record_exist(Name('dns01.example.com'), - RRType.A())) + RRType.A)) class TestXfrinRecorder(unittest.TestCase): def setUp(self): @@ -2128,7 +2128,7 @@ class TestXfrinProcess(unittest.TestCase): # Normal, successful case. We only check that things are cleaned up # at the tearDown time. process_xfrin(self, self, TEST_ZONE_NAME, TEST_RRCLASS, None, None, - self.master, False, None, RRType.AXFR(), + self.master, False, None, RRType.AXFR, self.create_xfrinconn) def test_process_xfrin_exception_on_connect(self): @@ -2136,7 +2136,7 @@ class TestXfrinProcess(unittest.TestCase): # cleaned up. self.do_raise_on_connect = True process_xfrin(self, self, TEST_ZONE_NAME, TEST_RRCLASS, None, None, - self.master, False, None, RRType.AXFR(), + self.master, False, None, RRType.AXFR, self.create_xfrinconn) def test_process_xfrin_exception_on_close(self): @@ -2146,7 +2146,7 @@ class TestXfrinProcess(unittest.TestCase): self.do_raise_on_connect = True self.do_raise_on_close = True process_xfrin(self, self, TEST_ZONE_NAME, TEST_RRCLASS, None, None, - self.master, False, None, RRType.AXFR(), + self.master, False, None, RRType.AXFR, self.create_xfrinconn) def test_process_xfrin_exception_on_publish(self): @@ -2154,7 +2154,7 @@ class TestXfrinProcess(unittest.TestCase): # everything must still be cleaned up. self.do_raise_on_publish = True process_xfrin(self, self, TEST_ZONE_NAME, TEST_RRCLASS, None, None, - self.master, False, None, RRType.AXFR(), + self.master, False, None, RRType.AXFR, self.create_xfrinconn) class TestXfrin(unittest.TestCase): @@ -2207,7 +2207,7 @@ class TestXfrin(unittest.TestCase): def test_parse_cmd_params_chclass(self): self.args['zone_class'] = 'CH' - self.assertEqual(self._do_parse_zone_name_class()[1], RRClass.CH()) + self.assertEqual(self._do_parse_zone_name_class()[1], RRClass.CH) def test_parse_cmd_params_bogusclass(self): self.args['zone_class'] = 'XXX' @@ -2254,7 +2254,7 @@ class TestXfrin(unittest.TestCase): self.assertEqual(self.args['master'], self.xfr.xfrin_started_master_addr) self.assertEqual(int(self.args['port']), self.xfr.xfrin_started_master_port) # By default we use AXFR (for now) - self.assertEqual(RRType.AXFR(), self.xfr.xfrin_started_request_type) + self.assertEqual(RRType.AXFR, self.xfr.xfrin_started_request_type) def test_command_handler_retransfer_short_command1(self): # try it when only specifying the zone name (of unknown zone) @@ -2368,7 +2368,7 @@ class TestXfrin(unittest.TestCase): self.assertEqual(int(TEST_MASTER_PORT), self.xfr.xfrin_started_master_port) # By default we use AXFR (for now) - self.assertEqual(RRType.AXFR(), self.xfr.xfrin_started_request_type) + self.assertEqual(RRType.AXFR, self.xfr.xfrin_started_request_type) def test_command_handler_notify(self): # at this level, refresh is no different than retransfer. @@ -2435,7 +2435,7 @@ class TestXfrin(unittest.TestCase): self.xfr._max_transfers_in) for zone_config in config_given['zones']: zone_name = zone_config['name'] - zone_info = self.xfr._get_zone_info(Name(zone_name), RRClass.IN()) + zone_info = self.xfr._get_zone_info(Name(zone_name), RRClass.IN) self.assertEqual(str(zone_info.master_addr), zone_config['master_addr']) self.assertEqual(zone_info.master_port, zone_config['master_port']) if 'tsig_key' in zone_config: @@ -2610,16 +2610,16 @@ class TestXfrin(unittest.TestCase): def test_command_handler_retransfer_ixfr_enabled(self): # If IXFR is explicitly enabled in config, IXFR will be used self.common_ixfr_setup('retransfer', True) - self.assertEqual(RRType.IXFR(), self.xfr.xfrin_started_request_type) + self.assertEqual(RRType.IXFR, self.xfr.xfrin_started_request_type) def test_command_handler_refresh_ixfr_enabled(self): # Same for refresh self.common_ixfr_setup('refresh', True) - self.assertEqual(RRType.IXFR(), self.xfr.xfrin_started_request_type) + self.assertEqual(RRType.IXFR, self.xfr.xfrin_started_request_type) def test_command_handler_retransfer_with_tsig(self): self.common_ixfr_setup('retransfer', False, 'example.com.key') - self.assertEqual(RRType.AXFR(), self.xfr.xfrin_started_request_type) + self.assertEqual(RRType.AXFR, self.xfr.xfrin_started_request_type) def test_command_handler_retransfer_with_tsig_bad_key(self): # bad keys should not reach xfrin, but should they somehow, @@ -2633,7 +2633,7 @@ class TestXfrin(unittest.TestCase): def test_command_handler_refresh_with_tsig(self): self.common_ixfr_setup('refresh', False, 'example.com.key') - self.assertEqual(RRType.AXFR(), self.xfr.xfrin_started_request_type) + self.assertEqual(RRType.AXFR, self.xfr.xfrin_started_request_type) def test_command_handler_refresh_with_tsig_bad_key(self): # bad keys should not reach xfrin, but should they somehow, @@ -2649,12 +2649,12 @@ class TestXfrin(unittest.TestCase): # Similar to the previous case, but explicitly disabled. AXFR should # be used. self.common_ixfr_setup('retransfer', False) - self.assertEqual(RRType.AXFR(), self.xfr.xfrin_started_request_type) + self.assertEqual(RRType.AXFR, self.xfr.xfrin_started_request_type) def test_command_handler_refresh_ixfr_disabled(self): # Same for refresh self.common_ixfr_setup('refresh', False) - self.assertEqual(RRType.AXFR(), self.xfr.xfrin_started_request_type) + self.assertEqual(RRType.AXFR, self.xfr.xfrin_started_request_type) class TestXfrinMemoryZones(unittest.TestCase): def setUp(self): @@ -2930,7 +2930,7 @@ class TestXfrinProcess(unittest.TestCase): self.__rets = rets published = rets[-1] xfrin.process_xfrin(self, XfrinRecorder(), Name("example.org."), - RRClass.IN(), None, None, None, True, None, + RRClass.IN, None, None, None, True, None, request_type, self.__get_connection) self.assertEqual([], self.__rets) self.assertEqual(transfers, self.__transfers) @@ -2942,7 +2942,7 @@ class TestXfrinProcess(unittest.TestCase): """ Everything OK the first time, over IXFR. """ - self.__do_test([XFRIN_OK], [RRType.IXFR()], RRType.IXFR()) + self.__do_test([XFRIN_OK], [RRType.IXFR], RRType.IXFR) # Check there was loadzone command self.assertTrue(self._send_cc_session.send_called) self.assertTrue(self._send_cc_session.send_called_correctly) @@ -2953,7 +2953,7 @@ class TestXfrinProcess(unittest.TestCase): """ Everything OK the first time, over AXFR. """ - self.__do_test([XFRIN_OK], [RRType.AXFR()], RRType.AXFR()) + self.__do_test([XFRIN_OK], [RRType.AXFR], RRType.AXFR) def test_axfr_fail(self): """ @@ -2961,15 +2961,15 @@ class TestXfrinProcess(unittest.TestCase): to fail on AXFR, but succeed on IXFR and we didn't use IXFR in the first place for some reason. """ - self.__do_test([XFRIN_FAIL], [RRType.AXFR()], RRType.AXFR()) + self.__do_test([XFRIN_FAIL], [RRType.AXFR], RRType.AXFR) def test_ixfr_fallback(self): """ The transfer fails over IXFR, but suceeds over AXFR. It should fall back to it and say everything is OK. """ - self.__do_test([XFRIN_FAIL, XFRIN_OK], [RRType.IXFR(), RRType.AXFR()], - RRType.IXFR()) + self.__do_test([XFRIN_FAIL, XFRIN_OK], [RRType.IXFR, RRType.AXFR], + RRType.IXFR) def test_ixfr_fail(self): """ @@ -2977,13 +2977,13 @@ class TestXfrinProcess(unittest.TestCase): (only once) and should try both before giving up. """ self.__do_test([XFRIN_FAIL, XFRIN_FAIL], - [RRType.IXFR(), RRType.AXFR()], RRType.IXFR()) + [RRType.IXFR, RRType.AXFR], RRType.IXFR) def test_send_loadzone(self): """ Check the loadzone command is sent after successful transfer. """ - self.__do_test([XFRIN_OK], [RRType.IXFR()], RRType.IXFR()) + self.__do_test([XFRIN_OK], [RRType.IXFR], RRType.IXFR) self.assertTrue(self._send_cc_session.send_called) self.assertTrue(self._send_cc_session.send_called_correctly) self.assertTrue(self._send_cc_session.recv_called) diff --git a/src/bin/xfrin/xfrin.py.in b/src/bin/xfrin/xfrin.py.in index da0f20702e..fa69b413f1 100755 --- a/src/bin/xfrin/xfrin.py.in +++ b/src/bin/xfrin/xfrin.py.in @@ -84,7 +84,7 @@ DBG_XFRIN_TRACE = logger.DBGLVL_TRACE_BASIC # (TODO: have similar support to get default values for command # arguments as we do for config options) DEFAULT_MASTER_PORT = 53 -DEFAULT_ZONE_CLASS = RRClass.IN() +DEFAULT_ZONE_CLASS = RRClass.IN __version__ = 'BIND10' @@ -132,7 +132,7 @@ def _check_zone_class(zone_class_str): """If the given argument is a string: checks if the given class is a valid one, and returns an RRClass object if so. Raises XfrinZoneInfoException if not. - If it is None, this function returns the default RRClass.IN()""" + If it is None, this function returns the default RRClass.IN""" if zone_class_str is None: return DEFAULT_ZONE_CLASS try: @@ -313,12 +313,12 @@ class XfrinState: class XfrinInitialSOA(XfrinState): def handle_rr(self, conn, rr): - if rr.get_type() != RRType.SOA(): + if rr.get_type() != RRType.SOA: raise XfrinProtocolError('First RR in zone transfer must be SOA (' + rr.get_type().to_text() + ' received)') conn._end_serial = get_soa_serial(rr.get_rdata()[0]) - if conn._request_type == RRType.IXFR() and \ + if conn._request_type == RRType.IXFR and \ conn._end_serial <= conn._request_serial: logger.info(XFRIN_IXFR_UPTODATE, conn.zone_str(), conn._request_serial, conn._end_serial) @@ -361,8 +361,8 @@ class XfrinFirstData(XfrinState): http://www.ietf.org/mail-archive/web/dnsext/current/msg07908.html ''' - if conn._request_type == RRType.IXFR() and \ - rr.get_type() == RRType.SOA() and \ + if conn._request_type == RRType.IXFR and \ + rr.get_type() == RRType.SOA and \ conn._request_serial == get_soa_serial(rr.get_rdata()[0]): logger.debug(DBG_XFRIN_TRACE, XFRIN_GOT_INCREMENTAL_RESP, conn.zone_str()) @@ -379,7 +379,7 @@ class XfrinFirstData(XfrinState): class XfrinIXFRDeleteSOA(XfrinState): def handle_rr(self, conn, rr): - if rr.get_type() != RRType.SOA(): + if rr.get_type() != RRType.SOA: # this shouldn't happen; should this occur it means an internal # bug. raise XfrinException(rr.get_type().to_text() + @@ -399,7 +399,7 @@ class XfrinIXFRDeleteSOA(XfrinState): class XfrinIXFRDelete(XfrinState): def handle_rr(self, conn, rr): - if rr.get_type() == RRType.SOA(): + if rr.get_type() == RRType.SOA: # This is the only place where current_serial is set conn._current_serial = get_soa_serial(rr.get_rdata()[0]) self.set_xfrstate(conn, XfrinIXFRAddSOA()) @@ -410,7 +410,7 @@ class XfrinIXFRDelete(XfrinState): class XfrinIXFRAddSOA(XfrinState): def handle_rr(self, conn, rr): - if rr.get_type() != RRType.SOA(): + if rr.get_type() != RRType.SOA: # this shouldn't happen; should this occur it means an internal # bug. raise XfrinException(rr.get_type().to_text() + @@ -422,7 +422,7 @@ class XfrinIXFRAddSOA(XfrinState): class XfrinIXFRAdd(XfrinState): def handle_rr(self, conn, rr): - if rr.get_type() == RRType.SOA(): + if rr.get_type() == RRType.SOA: # This SOA marks the end of a difference sequence conn.get_transfer_stats().ixfr_changeset_count += 1 soa_serial = get_soa_serial(rr.get_rdata()[0]) @@ -477,7 +477,7 @@ class XfrinAXFR(XfrinState): Handle the RR by putting it into the zone. """ conn._diff.add_data(rr) - if rr.get_type() == RRType.SOA(): + if rr.get_type() == RRType.SOA: # SOA means end. Don't commit it yet - we need to perform # post-transfer checks @@ -663,7 +663,7 @@ class XfrinConnection(asyncore.dispatcher): result, finder = self._datasrc_client.find_zone(self._zone_name) if result != DataSourceClient.SUCCESS: return None - result, soa_rrset, _ = finder.find(self._zone_name, RRType.SOA()) + result, soa_rrset, _ = finder.find(self._zone_name, RRType.SOA) if result != ZoneFinder.SUCCESS: logger.info(XFRIN_ZONE_NO_SOA, self.zone_str()) return None @@ -724,7 +724,7 @@ class XfrinConnection(asyncore.dispatcher): if self._zone_soa is not None else None # Set the authority section with our SOA for IXFR - if query_type == RRType.IXFR(): + if query_type == RRType.IXFR: if self._zone_soa is None: # (incremental) IXFR doesn't work without known SOA raise XfrinException('Failed to create IXFR query due to no ' + @@ -831,7 +831,7 @@ class XfrinConnection(asyncore.dispatcher): resp_question = msg.get_question()[0] if resp_question.get_name() != self._zone_name or \ resp_question.get_class() != self._rrclass or \ - resp_question.get_type() != RRType.SOA(): + resp_question.get_type() != RRType.SOA: raise XfrinProtocolError('Invalid response to SOA query: ' 'question mismatch: ' + str(resp_question)) @@ -839,21 +839,21 @@ class XfrinConnection(asyncore.dispatcher): # Look into the answer section for SOA soa = None for rr in msg.get_section(Message.SECTION_ANSWER): - if rr.get_type() == RRType.SOA(): + if rr.get_type() == RRType.SOA: if soa is not None: raise XfrinProtocolError('SOA response had multiple SOAs') soa = rr # There should not be a CNAME record at top of zone. - if rr.get_type() == RRType.CNAME(): + if rr.get_type() == RRType.CNAME: raise XfrinProtocolError('SOA query resulted in CNAME') # If SOA is not found, try to figure out the reason then report it. if soa is None: # See if we have any SOA records in the authority section. for rr in msg.get_section(Message.SECTION_AUTHORITY): - if rr.get_type() == RRType.NS(): + if rr.get_type() == RRType.NS: raise XfrinProtocolError('SOA query resulted in referral') - if rr.get_type() == RRType.SOA(): + if rr.get_type() == RRType.SOA: raise XfrinProtocolError('SOA query resulted in NODATA') raise XfrinProtocolError('No SOA record found in response to ' + 'SOA query') @@ -877,7 +877,7 @@ class XfrinConnection(asyncore.dispatcher): ''' - self._send_query(RRType.SOA()) + self._send_query(RRType.SOA) data_len = self._get_request_response(2) msg_len = socket.htons(struct.unpack('H', data_len)[0]) soa_response = self._get_request_response(msg_len) @@ -901,7 +901,7 @@ class XfrinConnection(asyncore.dispatcher): return XFRIN_OK - def do_xfrin(self, check_soa, request_type=RRType.AXFR()): + def do_xfrin(self, check_soa, request_type=RRType.AXFR): '''Do an xfr session by sending xfr request and parsing responses.''' try: @@ -909,7 +909,7 @@ class XfrinConnection(asyncore.dispatcher): self._request_type = request_type # Right now RRType.[IA]XFR().to_text() is 'TYPExxx', so we need # to hardcode here. - req_str = 'IXFR' if request_type == RRType.IXFR() else 'AXFR' + req_str = 'IXFR' if request_type == RRType.IXFR else 'AXFR' if check_soa: self._check_soa_serial() self.close() @@ -1088,13 +1088,13 @@ def __process_xfrin(server, zone_name, rrclass, db_file, ret = XFRIN_FAIL if conn.connect_to_master(): ret = conn.do_xfrin(check_soa, request_type) - if ret == XFRIN_FAIL and request_type == RRType.IXFR(): + if ret == XFRIN_FAIL and request_type == RRType.IXFR: # IXFR failed for some reason. It might mean the server can't # handle it, or we don't have the zone or we are out of sync or # whatever else. So we retry with with AXFR, as it may succeed # in many such cases. retry = True - request_type = RRType.AXFR() + request_type = RRType.AXFR logger.warn(XFRIN_XFR_TRANSFER_FALLBACK, conn.zone_str()) conn.close() conn = None @@ -1140,7 +1140,7 @@ def process_xfrin(server, xfrin_recorder, zone_name, rrclass, db_file, xfrin_recorder.decrement(zone_name) if exception is not None: - typestr = "AXFR" if request_type == RRType.AXFR() else "IXFR" + typestr = "AXFR" if request_type == RRType.AXFR else "IXFR" logger.error(XFRIN_XFR_PROCESS_FAILURE, typestr, zone_name.to_text(), str(rrclass), str(exception)) @@ -1475,9 +1475,9 @@ class Xfrin: logger.info(XFRIN_RETRANSFER_UNKNOWN_ZONE, zone_str) answer = create_answer(1, errmsg) else: - request_type = RRType.AXFR() + request_type = RRType.AXFR if zone_info.use_ixfr: - request_type = RRType.IXFR() + request_type = RRType.IXFR master_addr = zone_info.get_master_addr_info() if notify_addr[0] == master_addr[0] and\ notify_addr[2] == master_addr[2]: @@ -1506,11 +1506,11 @@ class Xfrin: rrclass) zone_info = self._get_zone_info(zone_name, rrclass) tsig_key = None - request_type = RRType.AXFR() + request_type = RRType.AXFR if zone_info: tsig_key = zone_info.get_tsig_key() if zone_info.use_ixfr: - request_type = RRType.IXFR() + request_type = RRType.IXFR db_file = args.get('db_file') or self._get_db_file() ret = self.xfrin_start(zone_name, rrclass, diff --git a/src/bin/xfrout/tests/xfrout_test.py.in b/src/bin/xfrout/tests/xfrout_test.py.in index 774187f484..fa97ca72ed 100644 --- a/src/bin/xfrout/tests/xfrout_test.py.in +++ b/src/bin/xfrout/tests/xfrout_test.py.in @@ -38,7 +38,7 @@ TSIG_KEY = TSIGKey("example.com:SFuWd/q99SzF8Yzd1QbB9g==") # TEST_ZONE_NAME_STR = "example.com." TEST_ZONE_NAME = Name(TEST_ZONE_NAME_STR) -TEST_RRCLASS = RRClass.IN() +TEST_RRCLASS = RRClass.IN IXFR_OK_VERSION = 2011111802 IXFR_NG_VERSION = 2011111803 SOA_CURRENT_VERSION = 2011112001 @@ -109,16 +109,16 @@ class MockDataSrcClient: zone names. ''' - if name == Name('nosoa.example.com') and rrtype == RRType.SOA(): + if name == Name('nosoa.example.com') and rrtype == RRType.SOA: return (ZoneFinder.NXDOMAIN, None, 0) - elif name == Name('multisoa.example.com') and rrtype == RRType.SOA(): + elif name == Name('multisoa.example.com') and rrtype == RRType.SOA: soa_rrset = create_soa(SOA_CURRENT_VERSION) soa_rrset.add_rdata(soa_rrset.get_rdata()[0]) return (ZoneFinder.SUCCESS, soa_rrset, 0) elif name == Name('maxserial.example.com'): soa_rrset = create_soa(0xffffffff) return (ZoneFinder.SUCCESS, soa_rrset, 0) - elif rrtype == RRType.SOA(): + elif rrtype == RRType.SOA: return (ZoneFinder.SUCCESS, create_soa(SOA_CURRENT_VERSION), 0) raise ValueError('Unexpected input to mock finder: bug in test case?') @@ -240,15 +240,15 @@ class TestXfroutSessionBase(unittest.TestCase): msg.set_qid(query_id) msg.set_opcode(Opcode.QUERY()) msg.set_rcode(Rcode.NOERROR()) - req_type = RRType.AXFR() if ixfr is None else RRType.IXFR() + req_type = RRType.AXFR if ixfr is None else RRType.IXFR if with_question: - msg.add_question(Question(zone_name, RRClass.IN(), + msg.add_question(Question(zone_name, RRClass.IN, req_type if qtype is None else qtype)) - if req_type == RRType.IXFR(): - soa = RRset(zone_name, soa_class, RRType.SOA(), RRTTL(0)) + if req_type == RRType.IXFR: + soa = RRset(zone_name, soa_class, RRType.SOA, RRTTL(0)) # In the RDATA only the serial matters. for i in range(0, num_soa): - soa.add_rdata(Rdata(RRType.SOA(), soa_class, + soa.add_rdata(Rdata(RRType.SOA, soa_class, 'm. r. ' + str(ixfr) + ' 1 1 1 1')) msg.add_rrset(Message.SECTION_AUTHORITY, soa) @@ -263,7 +263,7 @@ class TestXfroutSessionBase(unittest.TestCase): def set_request_type(self, type): self.xfrsess._request_type = type - if type == RRType.AXFR(): + if type == RRType.AXFR: self.xfrsess._request_typestr = 'AXFR' else: self.xfrsess._request_typestr = 'IXFR' @@ -280,7 +280,7 @@ class TestXfroutSessionBase(unittest.TestCase): [{"action": "ACCEPT"}]), {}, **self._counters) - self.set_request_type(RRType.AXFR()) # test AXFR by default + self.set_request_type(RRType.AXFR) # test AXFR by default self.mdata = self.create_request_data() self.soa_rrset = create_soa(SOA_CURRENT_VERSION) # some test replaces a module-wide function. We should ensure the @@ -372,13 +372,13 @@ class TestXfroutSession(TestXfroutSessionBase): def test_parse_query_message(self): # Valid AXFR [get_rcode, get_msg] = self.xfrsess._parse_query_message(self.mdata) - self.assertEqual(RRType.AXFR(), self.xfrsess._request_type) + self.assertEqual(RRType.AXFR, self.xfrsess._request_type) self.assertEqual(get_rcode.to_text(), "NOERROR") # Valid IXFR request_data = self.create_request_data(ixfr=2011111801) rcode, msg = self.xfrsess._parse_query_message(request_data) - self.assertEqual(RRType.IXFR(), self.xfrsess._request_type) + self.assertEqual(RRType.IXFR, self.xfrsess._request_type) self.assertEqual(Rcode.NOERROR(), rcode) # Broken request: no question @@ -387,7 +387,7 @@ class TestXfroutSession(TestXfroutSessionBase): # Broken request: invalid RR type (neither AXFR nor IXFR) self.assertRaises(RuntimeError, self.xfrsess._parse_query_message, - self.create_request_data(qtype=RRType.A())) + self.create_request_data(qtype=RRType.A)) # NOERROR request_data = self.create_request_data(ixfr=IXFR_OK_VERSION) @@ -554,7 +554,7 @@ class TestXfroutSession(TestXfroutSessionBase): # should be used. self.xfrsess._acl = isc.acl.dns.REQUEST_LOADER.load([ {"from": "127.0.0.1", "action": "ACCEPT"}]) - acl = self.xfrsess._get_transfer_acl(Name('example.com'), RRClass.IN()) + acl = self.xfrsess._get_transfer_acl(Name('example.com'), RRClass.IN) self.assertEqual(acl, self.xfrsess._acl) # install a per zone config with transfer ACL for example.com. Then @@ -567,15 +567,15 @@ class TestXfroutSession(TestXfroutSessionBase): com_acl self.assertEqual(com_acl, self.xfrsess._get_transfer_acl(Name('example.com'), - RRClass.IN())) + RRClass.IN)) self.assertEqual(self.xfrsess._acl, self.xfrsess._get_transfer_acl(Name('example.org'), - RRClass.IN())) + RRClass.IN)) # Name matching should be case insensitive. self.assertEqual(com_acl, self.xfrsess._get_transfer_acl(Name('EXAMPLE.COM'), - RRClass.IN())) + RRClass.IN)) def test_send_data(self): self.xfrsess._send_data(self.sock, self.mdata) @@ -600,9 +600,9 @@ class TestXfroutSession(TestXfroutSessionBase): msg = self.getmsg() msg.make_response() # SOA record data with different cases - soa_rrset = RRset(Name('Example.com.'), RRClass.IN(), RRType.SOA(), + soa_rrset = RRset(Name('Example.com.'), RRClass.IN, RRType.SOA, RRTTL(3600)) - soa_rrset.add_rdata(Rdata(RRType.SOA(), RRClass.IN(), + soa_rrset.add_rdata(Rdata(RRType.SOA, RRClass.IN, 'master.Example.com. admin.exAmple.com. ' + '2011112001 3600 1800 2419200 7200')) msg.add_rrset(Message.SECTION_ANSWER, soa_rrset) @@ -680,8 +680,8 @@ class TestXfroutSession(TestXfroutSessionBase): self.assertEqual(get_msg.get_rr_count(Message.SECTION_AUTHORITY), 0) def test_trigger_send_message_with_last_soa(self): - rrset_a = RRset(Name("example.com"), RRClass.IN(), RRType.A(), RRTTL(3600)) - rrset_a.add_rdata(Rdata(RRType.A(), RRClass.IN(), "192.0.2.1")) + rrset_a = RRset(Name("example.com"), RRClass.IN, RRType.A, RRTTL(3600)) + rrset_a.add_rdata(Rdata(RRType.A, RRClass.IN, "192.0.2.1")) msg = self.getmsg() msg.make_response() @@ -775,7 +775,7 @@ class TestXfroutSession(TestXfroutSessionBase): def test_xfrout_ixfr_setup(self): self.xfrsess.ClientClass = MockDataSrcClient - self.set_request_type(RRType.IXFR()) + self.set_request_type(RRType.IXFR) # Successful case of pure IXFR. A zone journal reader should be set # up. @@ -858,7 +858,7 @@ class TestXfroutSession(TestXfroutSessionBase): # query's RR class doesn't match the SOA's class zone_name = TEST_ZONE_NAME # make sure the name matches this time self.mdata = self.create_request_data(ixfr=IXFR_OK_VERSION, - soa_class=RRClass.CH()) + soa_class=RRClass.CH) self.assertEqual(self.xfrsess._xfrout_setup( self.getmsg(), zone_name, TEST_RRCLASS), Rcode.FORMERR()) @@ -925,9 +925,9 @@ class TestXfroutSession(TestXfroutSessionBase): self.assertEqual(reply_msg.get_rr_count(Message.SECTION_ANSWER), 2) def test_reply_xfrout_query_axfr_with_tsig(self): - rrset = RRset(Name('a.example.com'), RRClass.IN(), RRType.A(), + rrset = RRset(Name('a.example.com'), RRClass.IN, RRType.A, RRTTL(3600)) - rrset.add_rdata(Rdata(RRType.A(), RRClass.IN(), '192.0.2.1')) + rrset.add_rdata(Rdata(RRType.A, RRClass.IN, '192.0.2.1')) global xfrout def get_rrset_len(rrset): @@ -1015,8 +1015,8 @@ class TestXfroutSession(TestXfroutSessionBase): algorithm = hmac-md5) ''' - soa = RRset(Name('.'), RRClass.IN(), RRType.SOA(), RRTTL(3600)) - soa.add_rdata(Rdata(RRType.SOA(), RRClass.IN(), '. . 0 0 0 0 0')) + soa = RRset(Name('.'), RRClass.IN, RRType.SOA, RRTTL(3600)) + soa.add_rdata(Rdata(RRType.SOA, RRClass.IN, '. . 0 0 0 0 0')) self.mdata = self.create_request_data(zone_name=Name('.')) self.xfrsess._soa = soa if tsig: @@ -1179,8 +1179,8 @@ class TestXfroutSessionWithSQLite3(TestXfroutSessionBase): response = self.sock.read_msg(Message.PRESERVE_ORDER); self.assertEqual(Rcode.NOERROR(), response.get_rcode()) self.check_axfr_stream(response) - self.assertEqual(self.xfrsess._request_type, RRType.AXFR()) - self.assertNotEqual(self.xfrsess._request_type, RRType.IXFR()) + self.assertEqual(self.xfrsess._request_type, RRType.AXFR) + self.assertNotEqual(self.xfrsess._request_type, RRType.IXFR) self.assertEqual(self.get_counter('axfr_started'), 1) self.assertEqual(self.get_counter('axfr_ended'), 1) self.assertEqual(self.get_counter('ixfr_started'), 0) @@ -1194,7 +1194,7 @@ class TestXfroutSessionWithSQLite3(TestXfroutSessionBase): self.assertEqual(Rcode.NOERROR(), response.get_rcode()) # This is an AXFR-style IXFR. So the question section should indicate # that it's an IXFR resposne. - self.assertEqual(RRType.IXFR(), response.get_question()[0].get_type()) + self.assertEqual(RRType.IXFR, response.get_question()[0].get_type()) self.check_axfr_stream(response) def test_ixfr_normal_session(self): @@ -1222,8 +1222,8 @@ class TestXfroutSessionWithSQLite3(TestXfroutSessionBase): self.assertEqual(len(expected_records), len(actual_records)) for (expected_rr, actual_rr) in zip(expected_records, actual_records): self.assertTrue(rrsets_equal(expected_rr, actual_rr)) - self.assertNotEqual(self.xfrsess._request_type, RRType.AXFR()) - self.assertEqual(self.xfrsess._request_type, RRType.IXFR()) + self.assertNotEqual(self.xfrsess._request_type, RRType.AXFR) + self.assertEqual(self.xfrsess._request_type, RRType.IXFR) self.assertEqual(self.get_counter('axfr_started'), 0) self.assertEqual(self.get_counter('axfr_ended'), 0) self.assertEqual(self.get_counter('ixfr_started'), 1) diff --git a/src/bin/xfrout/xfrout.py.in b/src/bin/xfrout/xfrout.py.in index f869955cc1..7d8077ec96 100755 --- a/src/bin/xfrout/xfrout.py.in +++ b/src/bin/xfrout/xfrout.py.in @@ -257,9 +257,9 @@ class XfroutSession(): # Identify the request type self._request_type = question.get_type() - if self._request_type == RRType.AXFR(): + if self._request_type == RRType.AXFR: self._request_typestr = 'AXFR' - elif self._request_type == RRType.IXFR(): + elif self._request_type == RRType.IXFR: self._request_typestr = 'IXFR' else: # Likewise, this should be impossible. @@ -352,7 +352,7 @@ class XfroutSession(): result, finder = self._datasrc_client.find_zone(zone_name) if result != DataSourceClient.SUCCESS: return (Rcode.NOTAUTH(), None) - result, soa_rrset, _ = finder.find(zone_name, RRType.SOA()) + result, soa_rrset, _ = finder.find(zone_name, RRType.SOA) if result != ZoneFinder.SUCCESS: return (Rcode.SERVFAIL(), None) # Especially for database-based zones, a working zone may be in @@ -405,7 +405,7 @@ class XfroutSession(): # Ignore data whose owner name is not the zone apex, and # ignore non-SOA or different class of records. if auth_rrset.get_name() != zone_name or \ - auth_rrset.get_type() != RRType.SOA() or \ + auth_rrset.get_type() != RRType.SOA or \ auth_rrset.get_class() != zone_class: continue if auth_rrset.get_rdata_count() != 1: @@ -490,7 +490,7 @@ class XfroutSession(): self._server.get_db_file() + '"}' self._datasrc_client = self.ClientClass('sqlite3', datasrc_config) - if self._request_type == RRType.AXFR(): + if self._request_type == RRType.AXFR: return self.__axfr_setup(zone_name) else: return self.__ixfr_setup(request_msg, zone_name, zone_class) @@ -530,7 +530,7 @@ class XfroutSession(): try: # increment Xfr starts by RRType - if self._request_type == RRType.AXFR(): + if self._request_type == RRType.AXFR: self._inc_axfr_running() else: self._inc_ixfr_running() @@ -542,7 +542,7 @@ class XfroutSession(): format_addrinfo(self._remote), zone_str, err) finally: # decrement Xfr starts by RRType - if self._request_type == RRType.AXFR(): + if self._request_type == RRType.AXFR: self._dec_axfr_running() else: self._dec_ixfr_running() @@ -614,7 +614,7 @@ class XfroutSession(): # For AXFR (or AXFR-style IXFR), in which case _jnl_reader is None, # we should skip SOAs from the iterator. - if self._jnl_reader is None and rrset.get_type() == RRType.SOA(): + if self._jnl_reader is None and rrset.get_type() == RRType.SOA: continue # We calculate the maximum size of the RRset (i.e. the @@ -1215,7 +1215,7 @@ class XfroutServer: zone_name = args.get('zone_name') zone_class = args.get('zone_class') if not zone_class: - zone_class = str(RRClass.IN()) + zone_class = str(RRClass.IN) if zone_name: logger.info(XFROUT_NOTIFY_COMMAND, zone_name, zone_class) if self.send_notify(zone_name, zone_class): diff --git a/src/lib/python/isc/datasrc/tests/clientlist_test.py b/src/lib/python/isc/datasrc/tests/clientlist_test.py index ea39d4edcb..bdac69cf33 100644 --- a/src/lib/python/isc/datasrc/tests/clientlist_test.py +++ b/src/lib/python/isc/datasrc/tests/clientlist_test.py @@ -43,8 +43,8 @@ class ClientListTest(unittest.TestCase): Test the constructor. It should accept an RRClass. Check it reject invalid inputs. """ - isc.datasrc.ConfigurableClientList(isc.dns.RRClass.IN()) - isc.datasrc.ConfigurableClientList(isc.dns.RRClass.CH()) + isc.datasrc.ConfigurableClientList(isc.dns.RRClass.IN) + isc.datasrc.ConfigurableClientList(isc.dns.RRClass.CH) # Not enough arguments self.assertRaises(TypeError, isc.datasrc.ConfigurableClientList) # Bad types of arguments @@ -52,7 +52,7 @@ class ClientListTest(unittest.TestCase): self.assertRaises(TypeError, isc.datasrc.ConfigurableClientList, "IN") # Too many arguments self.assertRaises(TypeError, isc.datasrc.ConfigurableClientList, - isc.dns.RRClass.IN(), isc.dns.RRClass.IN()) + isc.dns.RRClass.IN, isc.dns.RRClass.IN) def test_configure(self): """ @@ -60,7 +60,7 @@ class ClientListTest(unittest.TestCase): ones are acceptend and invalid rejected. We check the changes have effect. """ - self.clist = isc.datasrc.ConfigurableClientList(isc.dns.RRClass.IN()) + self.clist = isc.datasrc.ConfigurableClientList(isc.dns.RRClass.IN) # This should be NOP now self.clist.configure("[]", True) # Check the zone is not there yet @@ -102,7 +102,7 @@ class ClientListTest(unittest.TestCase): Test the find accepts the right arguments, some of them can be omitted, etc. """ - self.clist = isc.datasrc.ConfigurableClientList(isc.dns.RRClass.IN()) + self.clist = isc.datasrc.ConfigurableClientList(isc.dns.RRClass.IN) self.clist.configure('''[{ "type": "MasterFiles", "params": { diff --git a/src/lib/python/isc/datasrc/tests/datasrc_test.py b/src/lib/python/isc/datasrc/tests/datasrc_test.py index 36cf951554..64f3e53d3a 100644 --- a/src/lib/python/isc/datasrc/tests/datasrc_test.py +++ b/src/lib/python/isc/datasrc/tests/datasrc_test.py @@ -51,8 +51,8 @@ def check_for_rrset(expected_rrsets, rrset): return False def create_soa(serial): - soa = RRset(Name('example.org'), RRClass.IN(), RRType.SOA(), RRTTL(3600)) - soa.add_rdata(Rdata(RRType.SOA(), RRClass.IN(), + soa = RRset(Name('example.org'), RRClass.IN, RRType.SOA, RRTTL(3600)) + soa.add_rdata(Rdata(RRType.SOA, RRClass.IN, 'ns1.example.org. admin.example.org. ' + str(serial) + ' 3600 1800 2419200 7200')) return soa @@ -66,13 +66,13 @@ def test_findall_common(self, tested): result, rrset, _ = tested.find_all(isc.dns.Name("www.sql1.example.com"), ZoneFinder.FIND_DEFAULT) self.assertEqual(ZoneFinder.DELEGATION, result) - expected = RRset(Name('sql1.example.com.'), RRClass.IN(), RRType.NS(), + expected = RRset(Name('sql1.example.com.'), RRClass.IN, RRType.NS, RRTTL(3600)) - expected.add_rdata(Rdata(RRType.NS(), RRClass.IN(), + expected.add_rdata(Rdata(RRType.NS, RRClass.IN, 'dns01.example.com.')) - expected.add_rdata(Rdata(RRType.NS(), RRClass.IN(), + expected.add_rdata(Rdata(RRType.NS, RRClass.IN, 'dns02.example.com.')) - expected.add_rdata(Rdata(RRType.NS(), RRClass.IN(), + expected.add_rdata(Rdata(RRType.NS, RRClass.IN, 'dns03.example.com.')) self.assertTrue(rrsets_equal(expected, rrset)) @@ -88,16 +88,16 @@ def test_findall_common(self, tested): self.assertEqual(2, len(rrsets)) rrsets.sort(key=lambda rrset: rrset.get_type().to_text()) expected = [ - RRset(Name('mix.example.com.'), RRClass.IN(), RRType.A(), + RRset(Name('mix.example.com.'), RRClass.IN, RRType.A, RRTTL(3600)), - RRset(Name('mix.example.com.'), RRClass.IN(), RRType.AAAA(), + RRset(Name('mix.example.com.'), RRClass.IN, RRType.AAAA, RRTTL(3600)) ] - expected[0].add_rdata(Rdata(RRType.A(), RRClass.IN(), "192.0.2.1")) - expected[0].add_rdata(Rdata(RRType.A(), RRClass.IN(), "192.0.2.2")) - expected[1].add_rdata(Rdata(RRType.AAAA(), RRClass.IN(), + expected[0].add_rdata(Rdata(RRType.A, RRClass.IN, "192.0.2.1")) + expected[0].add_rdata(Rdata(RRType.A, RRClass.IN, "192.0.2.2")) + expected[1].add_rdata(Rdata(RRType.AAAA, RRClass.IN, "2001:db8::1")) - expected[1].add_rdata(Rdata(RRType.AAAA(), RRClass.IN(), + expected[1].add_rdata(Rdata(RRType.AAAA, RRClass.IN, "2001:db8::2")) for (rrset, exp) in zip(rrsets, expected): self.assertTrue(rrsets_equal(exp, rrset)) @@ -158,9 +158,9 @@ class DataSrcClient(unittest.TestCase): expected_rrset_list = [] name = isc.dns.Name("sql1.example.com") - rrclass = isc.dns.RRClass.IN() + rrclass = isc.dns.RRClass.IN add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.DNSKEY(), isc.dns.RRTTL(3600), + isc.dns.RRType.DNSKEY, isc.dns.RRTTL(3600), [ "256 3 5 AwEAAdYdRhBAEY67R/8G1N5AjGF6asIiNh/pNGeQ8xDQP13J"+ "N2lo+sNqWcmpYNhuVqRbLB+mamsU1XcCICSBvAlSmfz/ZUdafX23knAr"+ @@ -168,7 +168,7 @@ class DataSrcClient(unittest.TestCase): "5fs0dE/xLztL/CzZ" ]) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.DNSKEY(), isc.dns.RRTTL(3600), + isc.dns.RRType.DNSKEY, isc.dns.RRTTL(3600), [ "257 3 5 AwEAAbaKDSa9XEFTsjSYpUTHRotTS9Tz3krfDucugW5UokGQ"+ "KC26QlyHXlPTZkC+aRFUs/dicJX2kopndLcnlNAPWiKnKtrsFSCnIJDB"+ @@ -179,22 +179,22 @@ class DataSrcClient(unittest.TestCase): "jRWAzGsxJiJyjd6w2k0=" ]) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.NS(), isc.dns.RRTTL(3600), + isc.dns.RRType.NS, isc.dns.RRTTL(3600), [ "dns01.example.com." ]) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.NS(), isc.dns.RRTTL(3600), + isc.dns.RRType.NS, isc.dns.RRTTL(3600), [ "dns02.example.com." ]) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.NS(), isc.dns.RRTTL(3600), + isc.dns.RRType.NS, isc.dns.RRTTL(3600), [ "dns03.example.com." ]) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.NSEC(), isc.dns.RRTTL(7200), + isc.dns.RRType.NSEC, isc.dns.RRTTL(7200), [ "www.sql1.example.com. NS SOA RRSIG NSEC DNSKEY" ]) @@ -204,36 +204,36 @@ class DataSrcClient(unittest.TestCase): # Since we passed separate_rrs = True to get_iterator, we get several # sets of RRSIGs, one for each TTL add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.RRSIG(), isc.dns.RRTTL(3600), None) + isc.dns.RRType.RRSIG, isc.dns.RRTTL(3600), None) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.RRSIG(), isc.dns.RRTTL(3600), None) + isc.dns.RRType.RRSIG, isc.dns.RRTTL(3600), None) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.RRSIG(), isc.dns.RRTTL(3600), None) + isc.dns.RRType.RRSIG, isc.dns.RRTTL(3600), None) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.RRSIG(), isc.dns.RRTTL(3600), None) + isc.dns.RRType.RRSIG, isc.dns.RRTTL(3600), None) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.RRSIG(), isc.dns.RRTTL(7200), None) + isc.dns.RRType.RRSIG, isc.dns.RRTTL(7200), None) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.SOA(), isc.dns.RRTTL(3600), + isc.dns.RRType.SOA, isc.dns.RRTTL(3600), [ "master.example.com. admin.example.com. 678 3600 1800 2419200 7200" ]) name = isc.dns.Name("www.sql1.example.com.") add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.A(), isc.dns.RRTTL(3600), + isc.dns.RRType.A, isc.dns.RRTTL(3600), [ "192.0.2.100" ]) name = isc.dns.Name("www.sql1.example.com.") add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.NSEC(), isc.dns.RRTTL(7200), + isc.dns.RRType.NSEC, isc.dns.RRTTL(7200), [ "sql1.example.com. A RRSIG NSEC" ]) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.RRSIG(), isc.dns.RRTTL(3600), None) + isc.dns.RRType.RRSIG, isc.dns.RRTTL(3600), None) add_rrset(expected_rrset_list, name, rrclass, - isc.dns.RRType.RRSIG(), isc.dns.RRTTL(7200), None) + isc.dns.RRType.RRSIG, isc.dns.RRTTL(7200), None) # rrs is an iterator, but also has direct get_next_rrset(), use # the latter one here @@ -287,11 +287,11 @@ class DataSrcClient(unittest.TestCase): dsc = isc.datasrc.DataSourceClient("sqlite3", READ_ZONE_DB_CONFIG) iterator = dsc.get_iterator(isc.dns.Name("sql1.example.com.")) expected_soa = isc.dns.RRset(isc.dns.Name("sql1.example.com."), - isc.dns.RRClass.IN(), - isc.dns.RRType.SOA(), + isc.dns.RRClass.IN, + isc.dns.RRType.SOA, isc.dns.RRTTL(3600)) - expected_soa.add_rdata(isc.dns.Rdata(isc.dns.RRType.SOA(), - isc.dns.RRClass.IN(), + expected_soa.add_rdata(isc.dns.Rdata(isc.dns.RRType.SOA, + isc.dns.RRClass.IN, "master.example.com. " + "admin.example.com. 678 " + "3600 1800 2419200 7200")) @@ -337,7 +337,7 @@ class DataSrcClient(unittest.TestCase): result, finder = dsc.find_zone(isc.dns.Name("example.com")) self.assertEqual(finder.SUCCESS, result) - self.assertEqual(isc.dns.RRClass.IN(), finder.get_class()) + self.assertEqual(isc.dns.RRClass.IN, finder.get_class()) self.assertEqual("example.com.", finder.get_origin().to_text()) test_findall_common(self, finder) @@ -347,11 +347,11 @@ class DataSrcClient(unittest.TestCase): result, finder = dsc.find_zone(isc.dns.Name("example.com")) self.assertEqual(finder.SUCCESS, result) - self.assertEqual(isc.dns.RRClass.IN(), finder.get_class()) + self.assertEqual(isc.dns.RRClass.IN, finder.get_class()) self.assertEqual("example.com.", finder.get_origin().to_text()) result, rrset, _ = finder.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.SUCCESS, result) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", @@ -359,13 +359,13 @@ class DataSrcClient(unittest.TestCase): # Check the optional parameters are optional result, rrset, _ = finder.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A()) + isc.dns.RRType.A) self.assertEqual(finder.SUCCESS, result) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", rrset.to_text()) result, rrset, _ = finder.find(isc.dns.Name("www.sql1.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.DELEGATION, result) self.assertEqual("sql1.example.com. 3600 IN NS dns01.example.com.\n" + @@ -374,7 +374,7 @@ class DataSrcClient(unittest.TestCase): rrset.to_text()) result, rrset, _ = finder.find(isc.dns.Name("doesnotexist.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.NXDOMAIN, result) self.assertEqual(None, rrset) @@ -382,16 +382,16 @@ class DataSrcClient(unittest.TestCase): self.assertRaises(isc.datasrc.OutOfZone, finder.find, isc.dns.Name("www.some.other.domain"), - isc.dns.RRType.A()) + isc.dns.RRType.A) result, rrset, _ = finder.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.TXT(), + isc.dns.RRType.TXT, finder.FIND_DEFAULT) self.assertEqual(finder.NXRRSET, result) self.assertEqual(None, rrset) result, rrset, _ = finder.find(isc.dns.Name("cname-ext.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.CNAME, result) self.assertEqual( @@ -400,14 +400,14 @@ class DataSrcClient(unittest.TestCase): result, rrset, flags = \ finder.find(isc.dns.Name("foo.wild.example.com"), - isc.dns.RRType.A(), finder.FIND_DEFAULT) + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.SUCCESS, result) self.assertEqual(finder.RESULT_WILDCARD, flags) self.assertEqual("foo.wild.example.com. 3600 IN A 192.0.2.255\n", rrset.to_text()) result, rrset, _ = finder.find(isc.dns.Name("foo.wild.example.com"), - isc.dns.RRType.TXT(), + isc.dns.RRType.TXT, finder.FIND_DEFAULT) self.assertEqual(finder.NXRRSET, result) self.assertTrue(finder.RESULT_WILDCARD, flags) @@ -415,7 +415,7 @@ class DataSrcClient(unittest.TestCase): self.assertRaises(TypeError, finder.find, "foo", - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertRaises(TypeError, finder.find, isc.dns.Name("cname-ext.example.com"), @@ -423,7 +423,7 @@ class DataSrcClient(unittest.TestCase): finder.FIND_DEFAULT) self.assertRaises(TypeError, finder.find, isc.dns.Name("cname-ext.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, "foo") class DataSrcUpdater(unittest.TestCase): @@ -451,7 +451,7 @@ class DataSrcUpdater(unittest.TestCase): dsc = isc.datasrc.DataSourceClient("sqlite3", WRITE_ZONE_DB_CONFIG) updater = dsc.get_updater(isc.dns.Name("example.com"), False) result, rrset, _ = updater.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, ZoneFinder.FIND_DEFAULT) self.assertEqual(ZoneFinder.SUCCESS, result) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", @@ -459,7 +459,7 @@ class DataSrcUpdater(unittest.TestCase): # Omit optional parameters result, rrset, _ = updater.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A()) + isc.dns.RRType.A) self.assertEqual(ZoneFinder.SUCCESS, result) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", rrset.to_text()) @@ -471,11 +471,11 @@ class DataSrcUpdater(unittest.TestCase): # first make sure, through a separate finder, that some record exists result, finder = dsc.find_zone(isc.dns.Name("example.com")) self.assertEqual(finder.SUCCESS, result) - self.assertEqual(isc.dns.RRClass.IN(), finder.get_class()) + self.assertEqual(isc.dns.RRClass.IN, finder.get_class()) self.assertEqual("example.com.", finder.get_origin().to_text()) result, rrset, _ = finder.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.SUCCESS, result) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", @@ -490,13 +490,13 @@ class DataSrcUpdater(unittest.TestCase): # The record should be gone in the updater, but not in the original # finder (since we have not committed) result, rrset, _ = updater.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.NXDOMAIN, result) self.assertEqual(None, rrset) result, rrset, _ = finder.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.SUCCESS, result) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", @@ -508,7 +508,7 @@ class DataSrcUpdater(unittest.TestCase): # the record should be gone now in the 'real' finder as well result, rrset, _ = finder.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.NXDOMAIN, result) self.assertEqual(None, rrset) @@ -522,7 +522,7 @@ class DataSrcUpdater(unittest.TestCase): self.assertRaises(isc.datasrc.Error, updater.commit) result, rrset, _ = finder.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.SUCCESS, result) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", @@ -537,26 +537,26 @@ class DataSrcUpdater(unittest.TestCase): rrsets = updater.get_rrset_collection() # From this point we cannot make further updates - rrset = RRset(isc.dns.Name('www.example.com'), isc.dns.RRClass.IN(), - isc.dns.RRType.AAAA(), isc.dns.RRTTL(10)) - rrset.add_rdata(isc.dns.Rdata(isc.dns.RRType.AAAA(), - isc.dns.RRClass.IN(), '2001:db8::1')) + rrset = RRset(isc.dns.Name('www.example.com'), isc.dns.RRClass.IN, + isc.dns.RRType.AAAA, isc.dns.RRTTL(10)) + rrset.add_rdata(isc.dns.Rdata(isc.dns.RRType.AAAA, + isc.dns.RRClass.IN, '2001:db8::1')) self.assertRaises(isc.datasrc.Error, updater.add_rrset, rrset) # Checks basic API found = rrsets.find(isc.dns.Name("www.example.com"), - isc.dns.RRClass.IN(), isc.dns.RRType.A()) + isc.dns.RRClass.IN, isc.dns.RRType.A) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", found.to_text()) self.assertEqual(None, rrsets.find(isc.dns.Name("www.example.com"), - isc.dns.RRClass.IN(), - isc.dns.RRType.AAAA())) + isc.dns.RRClass.IN, + isc.dns.RRType.AAAA)) # Once committed collection cannot be used any more. updater.commit() self.assertRaises(isc.dns.RRsetCollectionError, rrsets.find, isc.dns.Name("www.example.com"), - isc.dns.RRClass.IN(), isc.dns.RRType.A()) + isc.dns.RRClass.IN, isc.dns.RRType.A) # When we destroy the RRsetCollection it should release the refcount # to the updater. @@ -578,10 +578,10 @@ class DataSrcUpdater(unittest.TestCase): # see if a lookup succeeds in sqlite3 ds result, finder = dsc_sql.find_zone(isc.dns.Name("example.com")) self.assertEqual(finder.SUCCESS, result) - self.assertEqual(isc.dns.RRClass.IN(), finder.get_class()) + self.assertEqual(isc.dns.RRClass.IN, finder.get_class()) self.assertEqual("example.com.", finder.get_origin().to_text()) result, rrset, _ = finder.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.SUCCESS, result) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", @@ -600,11 +600,11 @@ class DataSrcUpdater(unittest.TestCase): # first make sure, through a separate finder, that some record exists result, finder = dsc.find_zone(isc.dns.Name("example.com")) self.assertEqual(finder.SUCCESS, result) - self.assertEqual(isc.dns.RRClass.IN(), finder.get_class()) + self.assertEqual(isc.dns.RRClass.IN, finder.get_class()) self.assertEqual("example.com.", finder.get_origin().to_text()) result, rrset, _ = finder.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.SUCCESS, result) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", @@ -619,7 +619,7 @@ class DataSrcUpdater(unittest.TestCase): # The record should be gone in the updater, but not in the original # finder (since we have not committed) result, rrset, _ = updater.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.NXDOMAIN, result) self.assertEqual(None, rrset) @@ -629,7 +629,7 @@ class DataSrcUpdater(unittest.TestCase): # the record should still be available in the 'real' finder as well result, rrset, _ = finder.find(isc.dns.Name("www.example.com"), - isc.dns.RRType.A(), + isc.dns.RRType.A, finder.FIND_DEFAULT) self.assertEqual(finder.SUCCESS, result) self.assertEqual("www.example.com. 3600 IN A 192.0.2.1\n", @@ -755,9 +755,9 @@ class JournalWrite(unittest.TestCase): conn.close() def create_a(self, address): - a_rr = RRset(Name('www.example.org'), RRClass.IN(), RRType.A(), + a_rr = RRset(Name('www.example.org'), RRClass.IN, RRType.A, RRTTL(3600)) - a_rr.add_rdata(Rdata(RRType.A(), RRClass.IN(), address)) + a_rr.add_rdata(Rdata(RRType.A, RRClass.IN, address)) return (a_rr) def test_journal_write(self): diff --git a/src/lib/python/isc/datasrc/tests/zone_loader_test.py b/src/lib/python/isc/datasrc/tests/zone_loader_test.py index 62f67cd997..759afd7433 100644 --- a/src/lib/python/isc/datasrc/tests/zone_loader_test.py +++ b/src/lib/python/isc/datasrc/tests/zone_loader_test.py @@ -96,7 +96,7 @@ class ZoneLoaderTests(unittest.TestCase): """ result, finder = self.client.find_zone(self.test_name) self.assertEqual(self.client.SUCCESS, result) - result, rrset, _ = finder.find(self.test_name, isc.dns.RRType.SOA()) + result, rrset, _ = finder.find(self.test_name, isc.dns.RRType.SOA) self.assertEqual(finder.SUCCESS, result) self.assertEqual(soa_txt, rrset.to_text()) @@ -231,7 +231,7 @@ class ZoneLoaderTests(unittest.TestCase): def test_wrong_class_from_client(self): # For ds->ds loading, wrong class is detected upon construction # Need a bit of the extended setup for CH source client - clientlist = isc.datasrc.ConfigurableClientList(isc.dns.RRClass.CH()) + clientlist = isc.datasrc.ConfigurableClientList(isc.dns.RRClass.CH) clientlist.configure('[ { "type": "static", "params": "' + STATIC_ZONE_FILE +'" } ]', False) self.source_client, _, _ = clientlist.find(isc.dns.Name("bind."), diff --git a/src/lib/python/isc/ddns/session.py b/src/lib/python/isc/ddns/session.py index 60834fb79b..c05d43191e 100644 --- a/src/lib/python/isc/ddns/session.py +++ b/src/lib/python/isc/ddns/session.py @@ -135,7 +135,7 @@ class DDNS_SOA: def __write_soa_internal(self, origin_soa, soa_num): '''Write back serial number to soa''' new_soa = RRset(origin_soa.get_name(), origin_soa.get_class(), - RRType.SOA(), origin_soa.get_ttl()) + RRType.SOA, origin_soa.get_ttl()) soa_rdata_parts = origin_soa.get_rdata()[0].to_text().split() soa_rdata_parts[2] = str(soa_num.get_value()) new_soa.add_rdata(Rdata(origin_soa.get_type(), origin_soa.get_class(), @@ -297,7 +297,7 @@ class UpdateSession: raise UpdateError('Invalid number of records in zone section: ' + str(n_zones), None, None, Rcode.FORMERR()) zrecord = self.__message.get_question()[0] - if zrecord.get_type() != RRType.SOA(): + if zrecord.get_type() != RRType.SOA: raise UpdateError('update zone section contains non-SOA', None, None, Rcode.FORMERR()) @@ -476,7 +476,7 @@ class UpdateSession: return Rcode.NOTZONE() # Algorithm taken from RFC2136 Section 3.2 - if rrset.get_class() == RRClass.ANY(): + if rrset.get_class() == RRClass.ANY: if rrset.get_ttl().get_value() != 0 or\ rrset.get_rdata_count() != 0: logger.info(LIBDDNS_PREREQ_FORMERR_ANY, @@ -484,7 +484,7 @@ class UpdateSession: ZoneFormatter(self.__zname, self.__zclass), RRsetFormatter(rrset)) return Rcode.FORMERR() - elif rrset.get_type() == RRType.ANY(): + elif rrset.get_type() == RRType.ANY: if not self.__prereq_name_in_use(rrset): rcode = Rcode.NXDOMAIN() logger.info(LIBDDNS_PREREQ_NAME_IN_USE_FAILED, @@ -500,7 +500,7 @@ class UpdateSession: ZoneFormatter(self.__zname, self.__zclass), RRsetFormatter(rrset), rcode) return rcode - elif rrset.get_class() == RRClass.NONE(): + elif rrset.get_class() == RRClass.NONE: if rrset.get_ttl().get_value() != 0 or\ rrset.get_rdata_count() != 0: logger.info(LIBDDNS_PREREQ_FORMERR_NONE, @@ -508,7 +508,7 @@ class UpdateSession: ZoneFormatter(self.__zname, self.__zclass), RRsetFormatter(rrset)) return Rcode.FORMERR() - elif rrset.get_type() == RRType.ANY(): + elif rrset.get_type() == RRType.ANY: if not self.__prereq_name_not_in_use(rrset): rcode = Rcode.YXDOMAIN() logger.info(LIBDDNS_PREREQ_NAME_NOT_IN_USE_FAILED, @@ -582,12 +582,12 @@ class UpdateSession: ZoneFormatter(self.__zname, self.__zclass), RRsetFormatter(rrset)) return Rcode.FORMERR() - if rrset.get_type() == RRType.SOA(): + if rrset.get_type() == RRType.SOA: # In case there's multiple soa records in the update # somehow, just take the last for rr in foreach_rr(rrset): self.__set_soa_rrset(rr) - elif rrset.get_class() == RRClass.ANY(): + elif rrset.get_class() == RRClass.ANY: if rrset.get_ttl().get_value() != 0: logger.info(LIBDDNS_UPDATE_DELETE_NONZERO_TTL, ClientFormatter(self.__client_addr), @@ -607,7 +607,7 @@ class UpdateSession: ZoneFormatter(self.__zname, self.__zclass), RRsetFormatter(rrset)) return Rcode.FORMERR() - elif rrset.get_class() == RRClass.NONE(): + elif rrset.get_class() == RRClass.NONE: if rrset.get_ttl().get_value() != 0: logger.info(LIBDDNS_UPDATE_DELETE_RR_NONZERO_TTL, ClientFormatter(self.__client_addr), @@ -657,7 +657,7 @@ class UpdateSession: # For a number of cases, we may need to remove data in the zone # (note; SOA is handled separately by __do_update, so that one # is explicitely ignored here) - if rrset.get_type() == RRType.SOA(): + if rrset.get_type() == RRType.SOA: return result, orig_rrset, _ = self.__diff.find(rrset.get_name(), rrset.get_type()) @@ -668,7 +668,7 @@ class UpdateSession: return elif result == ZoneFinder.SUCCESS: # if update is cname, and zone rr is not, ignore - if rrset.get_type() == RRType.CNAME(): + if rrset.get_type() == RRType.CNAME: # Remove original CNAME record (the new one # is added below) self.__diff.delete_data(orig_rrset) @@ -679,7 +679,7 @@ class UpdateSession: elif result == ZoneFinder.NXRRSET: # There is data present, but not for this type. # If this type is CNAME, ignore the update - if rrset.get_type() == RRType.CNAME(): + if rrset.get_type() == RRType.CNAME: return for rr in foreach_rr(rrset): self.__do_update_add_single_rr(rr, orig_rrset) @@ -696,8 +696,8 @@ class UpdateSession: rrset.get_type()) if result == ZoneFinder.SUCCESS: if to_delete.get_name() == self.__zname and\ - (to_delete.get_type() == RRType.SOA() or\ - to_delete.get_type() == RRType.NS()): + (to_delete.get_type() == RRType.SOA or\ + to_delete.get_type() == RRType.NS): # ignore return for rr in foreach_rr(to_delete): @@ -749,8 +749,8 @@ class UpdateSession: for to_delete in rrsets: # if name == self.__zname and type is soa or ns, don't delete! if to_delete.get_name() == self.__zname and\ - (to_delete.get_type() == RRType.SOA() or - to_delete.get_type() == RRType.NS()): + (to_delete.get_type() == RRType.SOA or + to_delete.get_type() == RRType.NS): continue else: for rr in foreach_rr(to_delete): @@ -771,10 +771,10 @@ class UpdateSession: to_delete = convert_rrset_class(rrset, self.__zclass) if rrset.get_name() == self.__zname: - if rrset.get_type() == RRType.SOA(): + if rrset.get_type() == RRType.SOA: # ignore return - elif rrset.get_type() == RRType.NS(): + elif rrset.get_type() == RRType.NS: # hmm. okay. annoying. There must be at least one left, # delegate to helper method self.__ns_deleter_helper(to_delete) @@ -793,7 +793,7 @@ class UpdateSession: # serial magic and add the newly created one # get it from DS and to increment and stuff - result, old_soa, _ = self.__diff.find(self.__zname, RRType.SOA(), + result, old_soa, _ = self.__diff.find(self.__zname, RRType.SOA, ZoneFinder.NO_WILDCARD | ZoneFinder.FIND_GLUE_OK) # We may implement recovering from missing SOA data at some point, but @@ -841,12 +841,12 @@ class UpdateSession: for rrset in self.__message.get_section(SECTION_UPDATE): if rrset.get_class() == self.__zclass: self.__do_update_add_rrs_to_rrset(rrset) - elif rrset.get_class() == RRClass.ANY(): - if rrset.get_type() == RRType.ANY(): + elif rrset.get_class() == RRClass.ANY: + if rrset.get_type() == RRType.ANY: self.__do_update_delete_name(rrset) else: self.__do_update_delete_rrset(rrset) - elif rrset.get_class() == RRClass.NONE(): + elif rrset.get_class() == RRClass.NONE: self.__do_update_delete_rrs_from_rrset(rrset) self.__diff.commit() diff --git a/src/lib/python/isc/ddns/tests/session_tests.py b/src/lib/python/isc/ddns/tests/session_tests.py index f7c2d3cbde..59d0c5d05b 100644 --- a/src/lib/python/isc/ddns/tests/session_tests.py +++ b/src/lib/python/isc/ddns/tests/session_tests.py @@ -30,8 +30,8 @@ WRITE_ZONE_DB_FILE = TESTDATA_WRITE_PATH + "rwtest.sqlite3.copied" WRITE_ZONE_DB_CONFIG = "{ \"database_file\": \"" + WRITE_ZONE_DB_FILE + "\"}" TEST_ZONE_NAME = Name('example.org') -UPDATE_RRTYPE = RRType.SOA() -TEST_RRCLASS = RRClass.IN() +UPDATE_RRTYPE = RRType.SOA +TEST_RRCLASS = RRClass.IN TEST_ZONE_RECORD = Question(TEST_ZONE_NAME, TEST_RRCLASS, UPDATE_RRTYPE) TEST_CLIENT6 = ('2001:db8::1', 53, 0, 0) TEST_CLIENT4 = ('192.0.2.1', 53) @@ -99,7 +99,7 @@ class SessionModuleTests(unittest.TestCase): def test_foreach_rr_in_rrset(self): rrset = create_rrset("www.example.org", TEST_RRCLASS, - RRType.A(), 3600, [ "192.0.2.1" ]) + RRType.A, 3600, [ "192.0.2.1" ]) l = [] for rr in foreach_rr(rrset): @@ -121,15 +121,15 @@ class SessionModuleTests(unittest.TestCase): def test_convert_rrset_class(self): # Converting an RRSET to a different class should work # if the rdata types can be converted - rrset = create_rrset("www.example.org", RRClass.NONE(), RRType.A(), + rrset = create_rrset("www.example.org", RRClass.NONE, RRType.A, 3600, [ b'\xc0\x00\x02\x01', b'\xc0\x00\x02\x02']) - rrset2 = convert_rrset_class(rrset, RRClass.IN()) + rrset2 = convert_rrset_class(rrset, RRClass.IN) self.assertEqual("www.example.org. 3600 IN A 192.0.2.1\n" + "www.example.org. 3600 IN A 192.0.2.2\n", str(rrset2)) - rrset3 = convert_rrset_class(rrset2, RRClass.NONE()) + rrset3 = convert_rrset_class(rrset2, RRClass.NONE) self.assertEqual("www.example.org. 3600 CLASS254 A \\# 4 " + "c0000201\nwww.example.org. 3600 CLASS254 " + "A \\# 4 c0000202\n", @@ -140,10 +140,10 @@ class SessionModuleTests(unittest.TestCase): # there was a ticket about making a better hierarchy for # dns/parsing related exceptions) self.assertRaises(InvalidRdataLength, convert_rrset_class, - rrset, RRClass.CH()) + rrset, RRClass.CH) add_rdata(rrset, b'\xc0\x00') self.assertRaises(DNSMessageFORMERR, convert_rrset_class, - rrset, RRClass.IN()) + rrset, RRClass.IN) def test_collect_rrsets(self): ''' @@ -152,25 +152,25 @@ class SessionModuleTests(unittest.TestCase): ''' collected = [] - collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.1" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.1" ])) # Same name and class, different type - collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN(), - RRType.TXT(), 0, [ "one" ])) - collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.2" ])) - collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN(), - RRType.TXT(), 0, [ "two" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN, + RRType.TXT, 0, [ "one" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.2" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN, + RRType.TXT, 0, [ "two" ])) # Same class and type as an existing one, different name - collect_rrsets(collected, create_rrset("b.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.3" ])) + collect_rrsets(collected, create_rrset("b.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.3" ])) # Same name and type as an existing one, different class - collect_rrsets(collected, create_rrset("a.example.org", RRClass.CH(), - RRType.TXT(), 0, [ "one" ])) - collect_rrsets(collected, create_rrset("b.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.4" ])) - collect_rrsets(collected, create_rrset("a.example.org", RRClass.CH(), - RRType.TXT(), 0, [ "two" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.CH, + RRType.TXT, 0, [ "one" ])) + collect_rrsets(collected, create_rrset("b.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.4" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.CH, + RRType.TXT, 0, [ "two" ])) strings = [ rrset.to_text() for rrset in collected ] # note + vs , in this list @@ -230,22 +230,22 @@ class TestDDNSSOA(unittest.TestCase): '''unittest for update_soa function''' soa_update = DDNS_SOA() soa_rr = create_rrset("example.org", TEST_RRCLASS, - RRType.SOA(), 3600, ["ns1.example.org. " + + RRType.SOA, 3600, ["ns1.example.org. " + "admin.example.org. " + "1233 3600 1800 2419200 7200"]) expected_soa_rr = create_rrset("example.org", TEST_RRCLASS, - RRType.SOA(), 3600, ["ns1.example.org. " + RRType.SOA, 3600, ["ns1.example.org. " + "admin.example.org. " + "1234 3600 1800 2419200 7200"]) self.assertEqual(soa_update.update_soa(soa_rr).get_rdata()[0].to_text(), expected_soa_rr.get_rdata()[0].to_text()) max_serial = 2 ** 32 - 1 soa_rdata = "%d %s"%(max_serial,"3600 1800 2419200 7200") - soa_rr = create_rrset("example.org", TEST_RRCLASS, RRType.SOA(), 3600, + soa_rr = create_rrset("example.org", TEST_RRCLASS, RRType.SOA, 3600, ["ns1.example.org. " + "admin.example.org. " + soa_rdata]) expected_soa_rr = create_rrset("example.org", TEST_RRCLASS, - RRType.SOA(), 3600, ["ns1.example.org. " + RRType.SOA, 3600, ["ns1.example.org. " + "admin.example.org. " + "1 3600 1800 2419200 7200"]) self.assertEqual(soa_update.update_soa(soa_rr).get_rdata()[0].to_text(), @@ -253,11 +253,11 @@ class TestDDNSSOA(unittest.TestCase): def test_soa_update_check(self): '''unittest for soa_update_check function''' - small_soa_rr = create_rrset("example.org", TEST_RRCLASS, RRType.SOA(), + small_soa_rr = create_rrset("example.org", TEST_RRCLASS, RRType.SOA, 3600, ["ns1.example.org. " + "admin.example.org. " + "1233 3600 1800 2419200 7200"]) - large_soa_rr = create_rrset("example.org", TEST_RRCLASS, RRType.SOA(), + large_soa_rr = create_rrset("example.org", TEST_RRCLASS, RRType.SOA, 3600, ["ns1.example.org. " + "admin.example.org. " + "1234 3600 1800 2419200 7200"]) @@ -269,11 +269,11 @@ class TestDDNSSOA(unittest.TestCase): small_soa_rr)) small_serial = 1235 + 2 ** 31 soa_rdata = "%d %s"%(small_serial,"3600 1800 2419200 7200") - small_soa_rr = create_rrset("example.org", TEST_RRCLASS, RRType.SOA(), + small_soa_rr = create_rrset("example.org", TEST_RRCLASS, RRType.SOA, 3600, ["ns1.example.org. " + "admin.example.org. " + soa_rdata]) - large_soa_rr = create_rrset("example.org", TEST_RRCLASS, RRType.SOA(), + large_soa_rr = create_rrset("example.org", TEST_RRCLASS, RRType.SOA, 3600, ["ns1.example.org. " + "admin.example.org. " + "1234 3600 1800 2419200 7200"]) @@ -315,7 +315,7 @@ class SessionTest(SessionTestBase): # Zone section's type is not SOA msg = create_update_msg(zones=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.A())]) + RRType.A)]) session = UpdateSession(msg, TEST_CLIENT4, None) self.assertEqual(UPDATE_ERROR, session.handle()[0]) self.check_response(session.get_message(), Rcode.FORMERR()) @@ -325,7 +325,7 @@ class SessionTest(SessionTestBase): # implementation doesn't support update forwarding, the result # should be NOTIMP. msg = create_update_msg(zones=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.SOA())]) + RRType.SOA)]) session = UpdateSession(msg, TEST_CLIENT4, ZoneConfig({(TEST_ZONE_NAME, TEST_RRCLASS)}, TEST_RRCLASS, self._datasrc_client)) @@ -334,7 +334,7 @@ class SessionTest(SessionTestBase): def check_notauth(self, zname, zclass=TEST_RRCLASS): '''Common test sequence for the 'notauth' test''' - msg = create_update_msg(zones=[Question(zname, zclass, RRType.SOA())]) + msg = create_update_msg(zones=[Question(zname, zclass, RRType.SOA)]) session = UpdateSession(msg, TEST_CLIENT4, ZoneConfig({(TEST_ZONE_NAME, TEST_RRCLASS)}, TEST_RRCLASS, self._datasrc_client)) @@ -349,7 +349,7 @@ class SessionTest(SessionTestBase): # (match must be exact) self.check_notauth(Name('sub.example.org')) # zone class doesn't match - self.check_notauth(Name('example.org'), RRClass.CH()) + self.check_notauth(Name('example.org'), RRClass.CH) def test_update_datasrc_error(self): # if the data source client raises an exception, it should result in @@ -358,7 +358,7 @@ class SessionTest(SessionTestBase): def find_zone(self, name): raise isc.datasrc.Error('faked exception') msg = create_update_msg(zones=[Question(TEST_ZONE_NAME, TEST_RRCLASS, - RRType.SOA())]) + RRType.SOA)]) session = UpdateSession(msg, TEST_CLIENT4, ZoneConfig({(TEST_ZONE_NAME, TEST_RRCLASS)}, TEST_RRCLASS, @@ -368,7 +368,7 @@ class SessionTest(SessionTestBase): def test_foreach_rr_in_rrset(self): rrset = create_rrset("www.example.org", TEST_RRCLASS, - RRType.A(), 3600, [ "192.0.2.1" ]) + RRType.A, 3600, [ "192.0.2.1" ]) l = [] for rr in foreach_rr(rrset): @@ -390,15 +390,15 @@ class SessionTest(SessionTestBase): def test_convert_rrset_class(self): # Converting an RRSET to a different class should work # if the rdata types can be converted - rrset = create_rrset("www.example.org", RRClass.NONE(), RRType.A(), + rrset = create_rrset("www.example.org", RRClass.NONE, RRType.A, 3600, [ b'\xc0\x00\x02\x01', b'\xc0\x00\x02\x02']) - rrset2 = convert_rrset_class(rrset, RRClass.IN()) + rrset2 = convert_rrset_class(rrset, RRClass.IN) self.assertEqual("www.example.org. 3600 IN A 192.0.2.1\n" + "www.example.org. 3600 IN A 192.0.2.2\n", str(rrset2)) - rrset3 = convert_rrset_class(rrset2, RRClass.NONE()) + rrset3 = convert_rrset_class(rrset2, RRClass.NONE) self.assertEqual("www.example.org. 3600 CLASS254 A \\# 4 " + "c0000201\nwww.example.org. 3600 CLASS254 " + "A \\# 4 c0000202\n", @@ -409,10 +409,10 @@ class SessionTest(SessionTestBase): # there was a ticket about making a better hierarchy for # dns/parsing related exceptions) self.assertRaises(InvalidRdataLength, convert_rrset_class, - rrset, RRClass.CH()) + rrset, RRClass.CH) add_rdata(rrset, b'\xc0\x00') self.assertRaises(DNSMessageFORMERR, convert_rrset_class, - rrset, RRClass.IN()) + rrset, RRClass.IN) def test_collect_rrsets(self): ''' @@ -421,25 +421,25 @@ class SessionTest(SessionTestBase): ''' collected = [] - collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.1" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.1" ])) # Same name and class, different type - collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN(), - RRType.TXT(), 0, [ "one" ])) - collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.2" ])) - collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN(), - RRType.TXT(), 0, [ "two" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN, + RRType.TXT, 0, [ "one" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.2" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.IN, + RRType.TXT, 0, [ "two" ])) # Same class and type as an existing one, different name - collect_rrsets(collected, create_rrset("b.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.3" ])) + collect_rrsets(collected, create_rrset("b.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.3" ])) # Same name and type as an existing one, different class - collect_rrsets(collected, create_rrset("a.example.org", RRClass.CH(), - RRType.TXT(), 0, [ "one" ])) - collect_rrsets(collected, create_rrset("b.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.4" ])) - collect_rrsets(collected, create_rrset("a.example.org", RRClass.CH(), - RRType.TXT(), 0, [ "two" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.CH, + RRType.TXT, 0, [ "one" ])) + collect_rrsets(collected, create_rrset("b.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.4" ])) + collect_rrsets(collected, create_rrset("a.example.org", RRClass.CH, + RRType.TXT, 0, [ "two" ])) strings = [ rrset.to_text() for rrset in collected ] # note + vs , in this list @@ -469,64 +469,64 @@ class SessionTest(SessionTestBase): ''' # Basic existence checks # www.example.org should have an A, but not an MX - rrset = create_rrset("www.example.org", rrclass, RRType.A(), 0) + rrset = create_rrset("www.example.org", rrclass, RRType.A, 0) self.__prereq_helper(method, expected, rrset) - rrset = create_rrset("www.example.org", rrclass, RRType.MX(), 0) + rrset = create_rrset("www.example.org", rrclass, RRType.MX, 0) self.__prereq_helper(method, not expected, rrset) # example.org should have an MX, but not an A - rrset = create_rrset("example.org", rrclass, RRType.MX(), 0) + rrset = create_rrset("example.org", rrclass, RRType.MX, 0) self.__prereq_helper(method, expected, rrset) - rrset = create_rrset("example.org", rrclass, RRType.A(), 0) + rrset = create_rrset("example.org", rrclass, RRType.A, 0) self.__prereq_helper(method, not expected, rrset) # Also check the case where the name does not even exist - rrset = create_rrset("doesnotexist.example.org", rrclass, RRType.A(), 0) + rrset = create_rrset("doesnotexist.example.org", rrclass, RRType.A, 0) self.__prereq_helper(method, not expected, rrset) # Wildcard expansion should not be applied, but literal matches # should work - rrset = create_rrset("foo.wildcard.example.org", rrclass, RRType.A(), 0) + rrset = create_rrset("foo.wildcard.example.org", rrclass, RRType.A, 0) self.__prereq_helper(method, not expected, rrset) - rrset = create_rrset("*.wildcard.example.org", rrclass, RRType.A(), 0) + rrset = create_rrset("*.wildcard.example.org", rrclass, RRType.A, 0) self.__prereq_helper(method, expected, rrset) # Likewise, CNAME directly should match, but what it points to should # not - rrset = create_rrset("cname.example.org", rrclass, RRType.A(), 0) + rrset = create_rrset("cname.example.org", rrclass, RRType.A, 0) self.__prereq_helper(method, not expected, rrset) - rrset = create_rrset("cname.example.org", rrclass, RRType.CNAME(), 0) + rrset = create_rrset("cname.example.org", rrclass, RRType.CNAME, 0) self.__prereq_helper(method, expected, rrset) # And also make sure a delegation (itself) is not treated as existing # data - rrset = create_rrset("foo.sub.example.org", rrclass, RRType.A(), 0) + rrset = create_rrset("foo.sub.example.org", rrclass, RRType.A, 0) self.__prereq_helper(method, not expected, rrset) # But the delegation data itself should match - rrset = create_rrset("sub.example.org", rrclass, RRType.NS(), 0) + rrset = create_rrset("sub.example.org", rrclass, RRType.NS, 0) self.__prereq_helper(method, expected, rrset) # As should glue - rrset = create_rrset("ns.sub.example.org", rrclass, RRType.A(), 0) + rrset = create_rrset("ns.sub.example.org", rrclass, RRType.A, 0) self.__prereq_helper(method, expected, rrset) def test_check_prerequisite_exists(self): method = self._session._UpdateSession__prereq_rrset_exists self.__check_prerequisite_exists_combined(method, - RRClass.ANY(), + RRClass.ANY, True) def test_check_prerequisite_does_not_exist(self): method = self._session._UpdateSession__prereq_rrset_does_not_exist self.__check_prerequisite_exists_combined(method, - RRClass.NONE(), + RRClass.NONE, False) def test_check_prerequisite_exists_value(self): method = self._session._UpdateSession__prereq_rrset_exists_value - rrset = create_rrset("www.example.org", RRClass.IN(), RRType.A(), 0) + rrset = create_rrset("www.example.org", RRClass.IN, RRType.A, 0) # empty one should not match self.__prereq_helper(method, False, rrset) @@ -539,7 +539,7 @@ class SessionTest(SessionTestBase): self.__prereq_helper(method, False, rrset) # Also test one with more than one RR - rrset = create_rrset("example.org", RRClass.IN(), RRType.NS(), 0) + rrset = create_rrset("example.org", RRClass.IN, RRType.NS, 0) self.__prereq_helper(method, False, rrset) add_rdata(rrset, "ns1.example.org.") self.__prereq_helper(method, False, rrset) @@ -551,7 +551,7 @@ class SessionTest(SessionTestBase): self.__prereq_helper(method, False, rrset) # Repeat that, but try a different order of Rdata addition - rrset = create_rrset("example.org", RRClass.IN(), RRType.NS(), 0) + rrset = create_rrset("example.org", RRClass.IN, RRType.NS, 0) self.__prereq_helper(method, False, rrset) add_rdata(rrset, "ns3.example.org.") self.__prereq_helper(method, False, rrset) @@ -563,8 +563,8 @@ class SessionTest(SessionTestBase): self.__prereq_helper(method, False, rrset) # and test one where the name does not even exist - rrset = create_rrset("doesnotexist.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.1" ]) + rrset = create_rrset("doesnotexist.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.1" ]) self.__prereq_helper(method, False, rrset) def __check_prerequisite_name_in_use_combined(self, method, rrclass, @@ -573,42 +573,42 @@ class SessionTest(SessionTestBase): in behaviour) methods __prereq_name_in_use and __prereq_name_not_in_use ''' - rrset = create_rrset("example.org", rrclass, RRType.ANY(), 0) + rrset = create_rrset("example.org", rrclass, RRType.ANY, 0) self.__prereq_helper(method, expected, rrset) - rrset = create_rrset("www.example.org", rrclass, RRType.ANY(), 0) + rrset = create_rrset("www.example.org", rrclass, RRType.ANY, 0) self.__prereq_helper(method, expected, rrset) rrset = create_rrset("doesnotexist.example.org", rrclass, - RRType.ANY(), 0) + RRType.ANY, 0) self.__prereq_helper(method, not expected, rrset) rrset = create_rrset("belowdelegation.sub.example.org", rrclass, - RRType.ANY(), 0) + RRType.ANY, 0) self.__prereq_helper(method, not expected, rrset) rrset = create_rrset("foo.wildcard.example.org", rrclass, - RRType.ANY(), 0) + RRType.ANY, 0) self.__prereq_helper(method, not expected, rrset) # empty nonterminal should not match rrset = create_rrset("nonterminal.example.org", rrclass, - RRType.ANY(), 0) + RRType.ANY, 0) self.__prereq_helper(method, not expected, rrset) rrset = create_rrset("empty.nonterminal.example.org", rrclass, - RRType.ANY(), 0) + RRType.ANY, 0) self.__prereq_helper(method, expected, rrset) def test_check_prerequisite_name_in_use(self): method = self._session._UpdateSession__prereq_name_in_use self.__check_prerequisite_name_in_use_combined(method, - RRClass.ANY(), + RRClass.ANY, True) def test_check_prerequisite_name_not_in_use(self): method = self._session._UpdateSession__prereq_name_not_in_use self.__check_prerequisite_name_in_use_combined(method, - RRClass.NONE(), + RRClass.NONE, False) def check_prerequisite_result(self, expected, prerequisites): @@ -685,47 +685,47 @@ class SessionTest(SessionTestBase): # in the specific prerequisite type tests) # Let's first define a number of prereq's that should succeed - rrset_exists_yes = create_rrset("example.org", RRClass.ANY(), - RRType.SOA(), 0) + rrset_exists_yes = create_rrset("example.org", RRClass.ANY, + RRType.SOA, 0) - rrset_exists_value_yes = create_rrset("www.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.1" ]) + rrset_exists_value_yes = create_rrset("www.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.1" ]) rrset_does_not_exist_yes = create_rrset("foo.example.org", - RRClass.NONE(), RRType.SOA(), + RRClass.NONE, RRType.SOA, 0) - name_in_use_yes = create_rrset("www.example.org", RRClass.ANY(), - RRType.ANY(), 0) + name_in_use_yes = create_rrset("www.example.org", RRClass.ANY, + RRType.ANY, 0) - name_not_in_use_yes = create_rrset("foo.example.org", RRClass.NONE(), - RRType.ANY(), 0) + name_not_in_use_yes = create_rrset("foo.example.org", RRClass.NONE, + RRType.ANY, 0) - rrset_exists_value_1 = create_rrset("example.org", RRClass.IN(), - RRType.NS(), 0, + rrset_exists_value_1 = create_rrset("example.org", RRClass.IN, + RRType.NS, 0, [ "ns1.example.org" ]) - rrset_exists_value_2 = create_rrset("example.org", RRClass.IN(), - RRType.NS(), 0, + rrset_exists_value_2 = create_rrset("example.org", RRClass.IN, + RRType.NS, 0, [ "ns2.example.org" ]) - rrset_exists_value_3 = create_rrset("example.org", RRClass.IN(), - RRType.NS(), 0, + rrset_exists_value_3 = create_rrset("example.org", RRClass.IN, + RRType.NS, 0, [ "ns3.example.org" ]) # and a number that should not - rrset_exists_no = create_rrset("foo.example.org", RRClass.ANY(), - RRType.SOA(), 0) + rrset_exists_no = create_rrset("foo.example.org", RRClass.ANY, + RRType.SOA, 0) - rrset_exists_value_no = create_rrset("www.example.org", RRClass.IN(), - RRType.A(), 0, [ "192.0.2.2" ]) + rrset_exists_value_no = create_rrset("www.example.org", RRClass.IN, + RRType.A, 0, [ "192.0.2.2" ]) - rrset_does_not_exist_no = create_rrset("example.org", RRClass.NONE(), - RRType.SOA(), 0) + rrset_does_not_exist_no = create_rrset("example.org", RRClass.NONE, + RRType.SOA, 0) - name_in_use_no = create_rrset("foo.example.org", RRClass.ANY(), - RRType.ANY(), 0) + name_in_use_no = create_rrset("foo.example.org", RRClass.ANY, + RRType.ANY, 0) - name_not_in_use_no = create_rrset("www.example.org", RRClass.NONE(), - RRType.ANY(), 0) + name_not_in_use_no = create_rrset("www.example.org", RRClass.NONE, + RRType.ANY, 0) # check 'no' result codes self.check_prerequisite_result(Rcode.NXRRSET(), [ rrset_exists_no ]) @@ -786,37 +786,37 @@ class SessionTest(SessionTestBase): rrset_exists_value_1]) def test_prerequisite_notzone(self): - rrset = create_rrset("some.other.zone.", RRClass.ANY(), RRType.SOA(), 0) + rrset = create_rrset("some.other.zone.", RRClass.ANY, RRType.SOA, 0) self.check_prerequisite_result(Rcode.NOTZONE(), [ rrset ]) def test_prerequisites_formerr(self): # test for form errors in the prerequisite section # Class ANY, non-zero TTL - rrset = create_rrset("example.org", RRClass.ANY(), RRType.SOA(), 1) + rrset = create_rrset("example.org", RRClass.ANY, RRType.SOA, 1) self.check_prerequisite_result(Rcode.FORMERR(), [ rrset ]) # Class ANY, but with rdata - rrset = create_rrset("example.org", RRClass.ANY(), RRType.A(), 0, + rrset = create_rrset("example.org", RRClass.ANY, RRType.A, 0, [ b'\x00\x00\x00\x00' ]) self.check_prerequisite_result(Rcode.FORMERR(), [ rrset ]) # Class NONE, non-zero TTL - rrset = create_rrset("example.org", RRClass.NONE(), RRType.SOA(), 1) + rrset = create_rrset("example.org", RRClass.NONE, RRType.SOA, 1) self.check_prerequisite_result(Rcode.FORMERR(), [ rrset ]) # Class NONE, but with rdata - rrset = create_rrset("example.org", RRClass.NONE(), RRType.A(), 0, + rrset = create_rrset("example.org", RRClass.NONE, RRType.A, 0, [ b'\x00\x00\x00\x00' ]) self.check_prerequisite_result(Rcode.FORMERR(), [ rrset ]) # Matching class and type, but non-zero TTL - rrset = create_rrset("www.example.org", RRClass.IN(), RRType.A(), 1, + rrset = create_rrset("www.example.org", RRClass.IN, RRType.A, 1, [ "192.0.2.1" ]) self.check_prerequisite_result(Rcode.FORMERR(), [ rrset ]) # Completely different class - rrset = create_rrset("example.org", RRClass.CH(), RRType.TXT(), 0, + rrset = create_rrset("example.org", RRClass.CH, RRType.TXT, 0, [ "foo" ]) self.check_prerequisite_result(Rcode.FORMERR(), [ rrset ]) @@ -830,81 +830,81 @@ class SessionTest(SessionTestBase): '''Prepare a number of RRsets to be used in several update tests The rrsets are stored in self''' orig_a_rrset = create_rrset("www.example.org", TEST_RRCLASS, - RRType.A(), 3600, [ "192.0.2.1" ]) + RRType.A, 3600, [ "192.0.2.1" ]) self.orig_a_rrset = orig_a_rrset rrset_update_a = create_rrset("www.example.org", TEST_RRCLASS, - RRType.A(), 3600, + RRType.A, 3600, [ "192.0.2.2", "192.0.2.3" ]) self.rrset_update_a = rrset_update_a rrset_update_soa = create_rrset("example.org", TEST_RRCLASS, - RRType.SOA(), 3600, + RRType.SOA, 3600, [ "ns1.example.org. " + "admin.example.org. " + "1233 3600 1800 2419200 7200" ]) self.rrset_update_soa = rrset_update_soa - rrset_update_soa_del = create_rrset("example.org", RRClass.NONE(), - RRType.SOA(), 0, + rrset_update_soa_del = create_rrset("example.org", RRClass.NONE, + RRType.SOA, 0, [ "ns1.example.org. " + "admin.example.org. " + "1233 3600 1800 2419200 7200" ]) self.rrset_update_soa_del = rrset_update_soa_del rrset_update_soa2 = create_rrset("example.org", TEST_RRCLASS, - RRType.SOA(), 3600, + RRType.SOA, 3600, [ "ns1.example.org. " + "admin.example.org. " + "4000 3600 1800 2419200 7200" ]) self.rrset_update_soa2 = rrset_update_soa2 - rrset_update_del_name = create_rrset("www.example.org", RRClass.ANY(), - RRType.ANY(), 0) + rrset_update_del_name = create_rrset("www.example.org", RRClass.ANY, + RRType.ANY, 0) self.rrset_update_del_name = rrset_update_del_name - rrset_update_del_name_apex = create_rrset("example.org", RRClass.ANY(), - RRType.ANY(), 0) + rrset_update_del_name_apex = create_rrset("example.org", RRClass.ANY, + RRType.ANY, 0) self.rrset_update_del_name_apex = rrset_update_del_name_apex - rrset_update_del_rrset = create_rrset("www.example.org", RRClass.ANY(), - RRType.A(), 0) + rrset_update_del_rrset = create_rrset("www.example.org", RRClass.ANY, + RRType.A, 0) self.rrset_update_del_rrset = rrset_update_del_rrset - rrset_update_del_mx_apex = create_rrset("example.org", RRClass.ANY(), - RRType.MX(), 0) + rrset_update_del_mx_apex = create_rrset("example.org", RRClass.ANY, + RRType.MX, 0) self.rrset_update_del_mx_apex = rrset_update_del_mx_apex - rrset_update_del_soa_apex = create_rrset("example.org", RRClass.ANY(), - RRType.SOA(), 0) + rrset_update_del_soa_apex = create_rrset("example.org", RRClass.ANY, + RRType.SOA, 0) self.rrset_update_del_soa_apex = rrset_update_del_soa_apex - rrset_update_del_ns_apex = create_rrset("example.org", RRClass.ANY(), - RRType.NS(), 0) + rrset_update_del_ns_apex = create_rrset("example.org", RRClass.ANY, + RRType.NS, 0) self.rrset_update_del_ns_apex = rrset_update_del_ns_apex rrset_update_del_rrset_part = create_rrset("www.example.org", - RRClass.NONE(), RRType.A(), + RRClass.NONE, RRType.A, 0, [ b'\xc0\x00\x02\x02', b'\xc0\x00\x02\x03' ]) self.rrset_update_del_rrset_part = rrset_update_del_rrset_part - rrset_update_del_rrset_ns = create_rrset("example.org", RRClass.NONE(), - RRType.NS(), 0, + rrset_update_del_rrset_ns = create_rrset("example.org", RRClass.NONE, + RRType.NS, 0, [ b'\x03ns1\x07example\x03org\x00', b'\x03ns2\x07example\x03org\x00', b'\x03ns3\x07example\x03org\x00' ]) self.rrset_update_del_rrset_ns = rrset_update_del_rrset_ns - rrset_update_del_rrset_mx = create_rrset("example.org", RRClass.NONE(), - RRType.MX(), 0, + rrset_update_del_rrset_mx = create_rrset("example.org", RRClass.NONE, + RRType.MX, 0, [ b'\x00\x0a\x04mail\x07example\x03org\x00' ]) self.rrset_update_del_rrset_mx = rrset_update_del_rrset_mx def test_acl_before_prereq(self): - name_in_use_no = create_rrset("foo.example.org", RRClass.ANY(), - RRType.ANY(), 0) + name_in_use_no = create_rrset("foo.example.org", RRClass.ANY, + RRType.ANY, 0) # Test a prerequisite that would fail self.check_full_handle_result(Rcode.NXDOMAIN(), [], [ name_in_use_no ]) @@ -984,34 +984,34 @@ class SessionTest(SessionTestBase): def test_prescan_failures(self): '''Test whether prescan fails on bad data''' # out of zone data - rrset = create_rrset("different.zone", RRClass.ANY(), RRType.TXT(), 0) + rrset = create_rrset("different.zone", RRClass.ANY, RRType.TXT, 0) self.check_prescan_result(Rcode.NOTZONE(), [ rrset ]) # forbidden type, zone class - rrset = create_rrset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.ANY(), 0, + rrset = create_rrset(TEST_ZONE_NAME, TEST_RRCLASS, RRType.ANY, 0, [ b'\x00' ]) self.check_prescan_result(Rcode.FORMERR(), [ rrset ]) # non-zero TTL, class ANY - rrset = create_rrset(TEST_ZONE_NAME, RRClass.ANY(), RRType.TXT(), 1) + rrset = create_rrset(TEST_ZONE_NAME, RRClass.ANY, RRType.TXT, 1) self.check_prescan_result(Rcode.FORMERR(), [ rrset ]) # non-zero Rdata, class ANY - rrset = create_rrset(TEST_ZONE_NAME, RRClass.ANY(), RRType.TXT(), 0, + rrset = create_rrset(TEST_ZONE_NAME, RRClass.ANY, RRType.TXT, 0, [ "foo" ]) self.check_prescan_result(Rcode.FORMERR(), [ rrset ]) # forbidden type, class ANY - rrset = create_rrset(TEST_ZONE_NAME, RRClass.ANY(), RRType.AXFR(), 0, + rrset = create_rrset(TEST_ZONE_NAME, RRClass.ANY, RRType.AXFR, 0, [ b'\x00' ]) self.check_prescan_result(Rcode.FORMERR(), [ rrset ]) # non-zero TTL, class NONE - rrset = create_rrset(TEST_ZONE_NAME, RRClass.NONE(), RRType.TXT(), 1) + rrset = create_rrset(TEST_ZONE_NAME, RRClass.NONE, RRType.TXT, 1) self.check_prescan_result(Rcode.FORMERR(), [ rrset ]) # forbidden type, class NONE - rrset = create_rrset(TEST_ZONE_NAME, RRClass.NONE(), RRType.AXFR(), 0, + rrset = create_rrset(TEST_ZONE_NAME, RRClass.NONE, RRType.AXFR, 0, [ b'\x00' ]) self.check_prescan_result(Rcode.FORMERR(), [ rrset ]) @@ -1054,7 +1054,7 @@ class SessionTest(SessionTestBase): # during this test, we will extend it at some point extended_a_rrset = create_rrset("www.example.org", TEST_RRCLASS, - RRType.A(), 3600, + RRType.A, 3600, [ "192.0.2.1", "192.0.2.2", "192.0.2.3" ]) @@ -1062,7 +1062,7 @@ class SessionTest(SessionTestBase): # Sanity check, make sure original data is really there before updates self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A(), + RRType.A, self.orig_a_rrset) # Add two rrs @@ -1070,7 +1070,7 @@ class SessionTest(SessionTestBase): self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A(), + RRType.A, extended_a_rrset) # Adding the same RRsets should not make a difference. @@ -1078,7 +1078,7 @@ class SessionTest(SessionTestBase): self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A(), + RRType.A, extended_a_rrset) # Now delete those two, and we should end up with the original RRset @@ -1086,7 +1086,7 @@ class SessionTest(SessionTestBase): [ self.rrset_update_del_rrset_part ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A(), + RRType.A, self.orig_a_rrset) # 'Deleting' them again should make no difference @@ -1094,7 +1094,7 @@ class SessionTest(SessionTestBase): [ self.rrset_update_del_rrset_part ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A(), + RRType.A, self.orig_a_rrset) # But deleting the entire rrset, independent of its contents, should @@ -1103,49 +1103,49 @@ class SessionTest(SessionTestBase): [ self.rrset_update_del_rrset ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.NXDOMAIN, isc.dns.Name("www.example.org"), - RRType.A()) + RRType.A) # Check that if we update the SOA, it is updated to our value self.check_full_handle_result(Rcode.NOERROR(), [ self.rrset_update_soa2 ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("example.org"), - RRType.SOA(), + RRType.SOA, self.rrset_update_soa2) def test_glue_deletions(self): self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("sub.example.org."), - RRType.NS()) + RRType.NS) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("ns.sub.example.org."), - RRType.A()) + RRType.A) # See that we can delete glue rrset_delete_glue = create_rrset("ns.sub.example.org.", - RRClass.ANY(), - RRType.A(), + RRClass.ANY, + RRType.A, 0) self.check_full_handle_result(Rcode.NOERROR(), [ rrset_delete_glue ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("sub.example.org."), - RRType.NS()) + RRType.NS) self.__check_inzone_data(isc.datasrc.ZoneFinder.NXDOMAIN, isc.dns.Name("ns.sub.example.org."), - RRType.A()) + RRType.A) # Check that we don't accidentally delete a delegation if we # try to delete non-existent glue rrset_delete_nonexistent_glue = create_rrset("foo.sub.example.org.", - RRClass.ANY(), - RRType.A(), + RRClass.ANY, + RRType.A, 0) self.check_full_handle_result(Rcode.NOERROR(), [ rrset_delete_nonexistent_glue ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("sub.example.org."), - RRType.NS()) + RRType.NS) def test_update_add_new_data(self): ''' @@ -1154,26 +1154,26 @@ class SessionTest(SessionTestBase): # Add data at a completely new name self.__check_inzone_data(isc.datasrc.ZoneFinder.NXDOMAIN, isc.dns.Name("new.example.org"), - RRType.A()) - rrset = create_rrset("new.example.org", TEST_RRCLASS, RRType.A(), + RRType.A) + rrset = create_rrset("new.example.org", TEST_RRCLASS, RRType.A, 3600, [ "192.0.2.1", "192.0.2.2" ]) self.check_full_handle_result(Rcode.NOERROR(), [ rrset ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("new.example.org"), - RRType.A(), + RRType.A, rrset) # Also try a name where data is present, but none of this # specific type self.__check_inzone_data(isc.datasrc.ZoneFinder.NXRRSET, isc.dns.Name("new.example.org"), - RRType.TXT()) - rrset = create_rrset("new.example.org", TEST_RRCLASS, RRType.TXT(), + RRType.TXT) + rrset = create_rrset("new.example.org", TEST_RRCLASS, RRType.TXT, 3600, [ "foo" ]) self.check_full_handle_result(Rcode.NOERROR(), [ rrset ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("new.example.org"), - RRType.TXT(), + RRType.TXT, rrset) def test_update_add_new_data_interspersed(self): @@ -1186,18 +1186,18 @@ class SessionTest(SessionTestBase): # Add data at a completely new name self.__check_inzone_data(isc.datasrc.ZoneFinder.NXDOMAIN, isc.dns.Name("new_a.example.org"), - RRType.A()) + RRType.A) self.__check_inzone_data(isc.datasrc.ZoneFinder.NXDOMAIN, isc.dns.Name("new_txt.example.org"), - RRType.TXT()) + RRType.TXT) - rrset1 = create_rrset("new_a.example.org", TEST_RRCLASS, RRType.A(), + rrset1 = create_rrset("new_a.example.org", TEST_RRCLASS, RRType.A, 3600, [ "192.0.2.1" ]) - rrset2 = create_rrset("new_txt.example.org", TEST_RRCLASS, RRType.TXT(), + rrset2 = create_rrset("new_txt.example.org", TEST_RRCLASS, RRType.TXT, 3600, [ "foo" ]) - rrset3 = create_rrset("new_a.example.org", TEST_RRCLASS, RRType.A(), + rrset3 = create_rrset("new_a.example.org", TEST_RRCLASS, RRType.A, 3600, [ "192.0.2.2" ]) self.check_full_handle_result(Rcode.NOERROR(), @@ -1205,17 +1205,17 @@ class SessionTest(SessionTestBase): # The update should have merged rrset1 and rrset3 rrset_merged = create_rrset("new_a.example.org", TEST_RRCLASS, - RRType.A(), 3600, + RRType.A, 3600, [ "192.0.2.1", "192.0.2.2" ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("new_a.example.org"), - RRType.A(), + RRType.A, rrset_merged) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("new_txt.example.org"), - RRType.TXT(), + RRType.TXT, rrset2) def test_update_delete_name(self): @@ -1227,21 +1227,21 @@ class SessionTest(SessionTestBase): # First check it is there self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A()) + RRType.A) # Delete the entire name self.check_full_handle_result(Rcode.NOERROR(), [ self.rrset_update_del_name ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.NXDOMAIN, isc.dns.Name("www.example.org"), - RRType.A()) + RRType.A) # Should still be gone after pointless second delete self.check_full_handle_result(Rcode.NOERROR(), [ self.rrset_update_del_name ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.NXDOMAIN, isc.dns.Name("www.example.org"), - RRType.A()) + RRType.A) def test_update_apex_special_cases(self): ''' @@ -1251,23 +1251,23 @@ class SessionTest(SessionTestBase): # the original SOA orig_soa_rrset = create_rrset("example.org", TEST_RRCLASS, - RRType.SOA(), 3600, + RRType.SOA, 3600, [ "ns1.example.org. " + "admin.example.org. " + "1234 3600 1800 2419200 7200" ]) # At some point, the SOA SERIAL will be auto-incremented incremented_soa_rrset_01 = create_rrset("example.org", TEST_RRCLASS, - RRType.SOA(), 3600, ["ns1.example.org. " + + RRType.SOA, 3600, ["ns1.example.org. " + "admin.example.org. " + "1235 3600 1800 2419200 7200" ]) incremented_soa_rrset_02 = create_rrset("example.org", TEST_RRCLASS, - RRType.SOA(), 3600, ["ns1.example.org. " + + RRType.SOA, 3600, ["ns1.example.org. " + "admin.example.org. " + "1236 3600 1800 2419200 7200" ]) # We will delete some of the NS records orig_ns_rrset = create_rrset("example.org", TEST_RRCLASS, - RRType.NS(), 3600, + RRType.NS, 3600, [ "ns1.example.org.", "ns2.example.org.", "ns3.example.org." ]) @@ -1275,13 +1275,13 @@ class SessionTest(SessionTestBase): # Sanity check, make sure original data is really there before updates self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("example.org"), - RRType.NS(), + RRType.NS, orig_ns_rrset) # We will delete the MX record later in this test, so let's make # sure that it exists (we do not care about its value) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("example.org"), - RRType.MX()) + RRType.MX) # Check that we cannot delete the SOA record by direct deletion # both by name+type and by full rrset @@ -1290,7 +1290,7 @@ class SessionTest(SessionTestBase): self.rrset_update_soa_del ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("example.org"), - RRType.SOA(), + RRType.SOA, incremented_soa_rrset_01) # If we delete everything at the apex, the SOA and NS rrsets should be @@ -1299,16 +1299,16 @@ class SessionTest(SessionTestBase): [ self.rrset_update_del_name_apex ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("example.org"), - RRType.SOA(), + RRType.SOA, incremented_soa_rrset_02) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("example.org"), - RRType.NS(), + RRType.NS, orig_ns_rrset) # but the MX should be gone self.__check_inzone_data(isc.datasrc.ZoneFinder.NXRRSET, isc.dns.Name("example.org"), - RRType.MX()) + RRType.MX) # Deleting the NS rrset by name and type only, it should also be left # untouched @@ -1316,7 +1316,7 @@ class SessionTest(SessionTestBase): [ self.rrset_update_del_ns_apex ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("example.org"), - RRType.NS(), + RRType.NS, orig_ns_rrset) def test_update_apex_special_case_ns_rrset(self): @@ -1325,20 +1325,20 @@ class SessionTest(SessionTestBase): self.__initialize_update_rrsets() # When we are done, we should have a reduced NS rrset short_ns_rrset = create_rrset("example.org", TEST_RRCLASS, - RRType.NS(), 3600, + RRType.NS, 3600, [ "ns3.example.org." ]) self.check_full_handle_result(Rcode.NOERROR(), [ self.rrset_update_del_rrset_ns ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("example.org"), - RRType.NS(), + RRType.NS, short_ns_rrset) def test_update_apex_special_case_ns_rrset2(self): # If we add new NS records, then delete all existing ones, it # should not keep any self.__initialize_update_rrsets() - new_ns = create_rrset("example.org", TEST_RRCLASS, RRType.NS(), 3600, + new_ns = create_rrset("example.org", TEST_RRCLASS, RRType.NS, 3600, [ "newns1.example.org", "newns2.example.org" ]) self.check_full_handle_result(Rcode.NOERROR(), @@ -1346,7 +1346,7 @@ class SessionTest(SessionTestBase): self.rrset_update_del_rrset_ns ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("example.org"), - RRType.NS(), + RRType.NS, new_ns) def test_update_delete_normal_rrset_at_apex(self): @@ -1358,12 +1358,12 @@ class SessionTest(SessionTestBase): self.__initialize_update_rrsets() self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("example.org"), - RRType.MX()) + RRType.MX) self.check_full_handle_result(Rcode.NOERROR(), [ self.rrset_update_del_rrset_mx ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.NXRRSET, isc.dns.Name("example.org"), - RRType.MX()) + RRType.MX) def test_update_add_then_delete_rrset(self): # If we add data, then delete the whole rrset, added data should @@ -1371,13 +1371,13 @@ class SessionTest(SessionTestBase): self.__initialize_update_rrsets() self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A()) + RRType.A) self.check_full_handle_result(Rcode.NOERROR(), [ self.rrset_update_a, self.rrset_update_del_rrset ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.NXDOMAIN, isc.dns.Name("www.example.org"), - RRType.A()) + RRType.A) def test_update_add_then_delete_name(self): # If we add data, then delete the entire name, added data should @@ -1385,13 +1385,13 @@ class SessionTest(SessionTestBase): self.__initialize_update_rrsets() self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A()) + RRType.A) self.check_full_handle_result(Rcode.NOERROR(), [ self.rrset_update_a, self.rrset_update_del_name ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.NXDOMAIN, isc.dns.Name("www.example.org"), - RRType.A()) + RRType.A) def test_update_delete_then_add_rrset(self): # If we delete an entire rrset, then add something there again, @@ -1399,13 +1399,13 @@ class SessionTest(SessionTestBase): self.__initialize_update_rrsets() self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A()) + RRType.A) self.check_full_handle_result(Rcode.NOERROR(), [ self.rrset_update_del_rrset, self.rrset_update_a ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A(), + RRType.A, self.rrset_update_a) def test_update_delete_then_add_rrset(self): @@ -1414,13 +1414,13 @@ class SessionTest(SessionTestBase): self.__initialize_update_rrsets() self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A()) + RRType.A) self.check_full_handle_result(Rcode.NOERROR(), [ self.rrset_update_del_name, self.rrset_update_a ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A(), + RRType.A, self.rrset_update_a) def test_update_cname_special_cases(self): @@ -1428,31 +1428,31 @@ class SessionTest(SessionTestBase): # Sanity check orig_cname_rrset = create_rrset("cname.example.org", TEST_RRCLASS, - RRType.CNAME(), 3600, + RRType.CNAME, 3600, [ "www.example.org." ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.CNAME, isc.dns.Name("cname.example.org"), - RRType.A(), + RRType.A, orig_cname_rrset) # If we try to add data where a cname is preset - rrset = create_rrset("cname.example.org", TEST_RRCLASS, RRType.A(), + rrset = create_rrset("cname.example.org", TEST_RRCLASS, RRType.A, 3600, [ "192.0.2.1" ]) self.check_full_handle_result(Rcode.NOERROR(), [ rrset ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.CNAME, isc.dns.Name("cname.example.org"), - RRType.A(), + RRType.A, orig_cname_rrset) # But updating the cname itself should work new_cname_rrset = create_rrset("cname.example.org", TEST_RRCLASS, - RRType.CNAME(), 3600, + RRType.CNAME, 3600, [ "mail.example.org." ]) self.check_full_handle_result(Rcode.NOERROR(), [ new_cname_rrset ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.CNAME, isc.dns.Name("cname.example.org"), - RRType.A(), + RRType.A, new_cname_rrset) self.__initialize_update_rrsets() @@ -1461,19 +1461,19 @@ class SessionTest(SessionTestBase): # present should do nothing either self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A(), + RRType.A, self.orig_a_rrset) new_cname_rrset = create_rrset("www.example.org", TEST_RRCLASS, - RRType.CNAME(), 3600, + RRType.CNAME, 3600, [ "mail.example.org." ]) self.check_full_handle_result(Rcode.NOERROR(), [ new_cname_rrset ]) self.__check_inzone_data(isc.datasrc.ZoneFinder.SUCCESS, isc.dns.Name("www.example.org"), - RRType.A(), + RRType.A, self.orig_a_rrset) def test_update_bad_class(self): - rrset = create_rrset("example.org.", RRClass.CH(), RRType.TXT(), 0, + rrset = create_rrset("example.org.", RRClass.CH, RRType.TXT, 0, [ "foo" ]) self.check_full_handle_result(Rcode.FORMERR(), [ rrset ]) diff --git a/src/lib/python/isc/ddns/tests/zone_config_tests.py b/src/lib/python/isc/ddns/tests/zone_config_tests.py index 7facb48eb5..0ada90636e 100644 --- a/src/lib/python/isc/ddns/tests/zone_config_tests.py +++ b/src/lib/python/isc/ddns/tests/zone_config_tests.py @@ -26,7 +26,7 @@ import socket # Some common test parameters TEST_ZONE_NAME = Name('example.org') TEST_SECONDARY_ZONE_NAME = Name('example.com') -TEST_RRCLASS = RRClass.IN() +TEST_RRCLASS = RRClass.IN TEST_TSIG_KEY = TSIGKey("example.com:SFuWd/q99SzF8Yzd1QbB9g==") TEST_ACL_CONTEXT = isc.acl.dns.RequestContext( socket.getaddrinfo("192.0.2.1", 1234, 0, socket.SOCK_DGRAM, @@ -88,12 +88,12 @@ class ZoneConfigTest(unittest.TestCase): # zone class doesn't match (but zone name matches) self.__datasrc_client.set_find_result(DataSourceClient.SUCCESS) zconfig = ZoneConfig({(TEST_SECONDARY_ZONE_NAME, TEST_RRCLASS)}, - RRClass.CH(), self.__datasrc_client) + RRClass.CH, self.__datasrc_client) self.assertEqual((ZONE_NOTFOUND, None), (zconfig.find_zone(TEST_ZONE_NAME, TEST_RRCLASS))) # similar to the previous case, but also in the secondary list zconfig = ZoneConfig({(TEST_ZONE_NAME, TEST_RRCLASS)}, - RRClass.CH(), self.__datasrc_client) + RRClass.CH, self.__datasrc_client) self.assertEqual((ZONE_NOTFOUND, None), (zconfig.find_zone(TEST_ZONE_NAME, TEST_RRCLASS))) @@ -107,7 +107,7 @@ class ZoneConfigTest(unittest.TestCase): zconfig = ZoneConfig({(TEST_SECONDARY_ZONE_NAME, TEST_RRCLASS), (Name('example'), TEST_RRCLASS), (Name('sub.example.org'), TEST_RRCLASS), - (TEST_ZONE_NAME, RRClass.CH())}, + (TEST_ZONE_NAME, RRClass.CH)}, TEST_RRCLASS, self.__datasrc_client) self.assertEqual((ZONE_PRIMARY, self.__datasrc_client), self.zconfig.find_zone(TEST_ZONE_NAME, TEST_RRCLASS)) @@ -134,7 +134,7 @@ class ACLConfigTest(unittest.TestCase): # 'All reject' ACL will still apply for any other zones acl = self.__zconfig.get_update_acl(Name('example.com'), TEST_RRCLASS) self.assertEqual(REJECT, acl.execute(TEST_ACL_CONTEXT)) - acl = self.__zconfig.get_update_acl(TEST_ZONE_NAME, RRClass.CH()) + acl = self.__zconfig.get_update_acl(TEST_ZONE_NAME, RRClass.CH) self.assertEqual(REJECT, acl.execute(TEST_ACL_CONTEXT)) # Test with a map with a few more ACL entries. Should be nothing @@ -143,14 +143,14 @@ class ACLConfigTest(unittest.TestCase): REQUEST_LOADER.load([{"action": "REJECT"}]), (TEST_ZONE_NAME, TEST_RRCLASS): REQUEST_LOADER.load([{"action": "ACCEPT"}]), - (TEST_ZONE_NAME, RRClass.CH()): + (TEST_ZONE_NAME, RRClass.CH): REQUEST_LOADER.load([{"action": "DROP"}])} self.__zconfig.set_update_acl_map(acl_map) acl = self.__zconfig.get_update_acl(TEST_ZONE_NAME, TEST_RRCLASS) self.assertEqual(ACCEPT, acl.execute(TEST_ACL_CONTEXT)) acl = self.__zconfig.get_update_acl(Name('example.com'), TEST_RRCLASS) self.assertEqual(REJECT, acl.execute(TEST_ACL_CONTEXT)) - acl = self.__zconfig.get_update_acl(TEST_ZONE_NAME, RRClass.CH()) + acl = self.__zconfig.get_update_acl(TEST_ZONE_NAME, RRClass.CH) self.assertEqual(DROP, acl.execute(TEST_ACL_CONTEXT)) if __name__ == "__main__": diff --git a/src/lib/python/isc/notify/notify_out.py b/src/lib/python/isc/notify/notify_out.py index 46bb00b05c..1e14982325 100644 --- a/src/lib/python/isc/notify/notify_out.py +++ b/src/lib/python/isc/notify/notify_out.py @@ -302,12 +302,12 @@ class NotifyOut: format_zone_str(zone_name, zone_class)) return [] - result, ns_rrset, _ = finder.find(zone_name, RRType.NS()) + result, ns_rrset, _ = finder.find(zone_name, RRType.NS) if result is not finder.SUCCESS or ns_rrset is None: logger.warn(NOTIFY_OUT_ZONE_NO_NS, format_zone_str(zone_name, zone_class)) return [] - result, soa_rrset, _ = finder.find(zone_name, RRType.SOA()) + result, soa_rrset, _ = finder.find(zone_name, RRType.SOA) if result is not finder.SUCCESS or soa_rrset is None or \ soa_rrset.get_rdata_count() != 1: logger.warn(NOTIFY_OUT_ZONE_BAD_SOA, @@ -323,11 +323,11 @@ class NotifyOut: ns_result, ns_finder = ds_client.find_zone(ns_name) if ns_result is DataSourceClient.SUCCESS or \ ns_result is DataSourceClient.PARTIALMATCH: - result, rrset, _ = ns_finder.find(ns_name, RRType.A()) + result, rrset, _ = ns_finder.find(ns_name, RRType.A) if result is ns_finder.SUCCESS and rrset is not None: addrs.extend([a.to_text() for a in rrset.get_rdata()]) - result, rrset, _ = ns_finder.find(ns_name, RRType.AAAA()) + result, rrset, _ = ns_finder.find(ns_name, RRType.AAAA) if result is ns_finder.SUCCESS and rrset is not None: addrs.extend([aaaa.to_text() for aaaa in rrset.get_rdata()]) @@ -512,7 +512,7 @@ class NotifyOut: msg.set_opcode(Opcode.NOTIFY()) msg.set_rcode(Rcode.NOERROR()) msg.set_header_flag(Message.HEADERFLAG_AA) - msg.add_question(Question(zone_name, zone_class, RRType.SOA())) + msg.add_question(Question(zone_name, zone_class, RRType.SOA)) msg.add_rrset(Message.SECTION_ANSWER, self._get_zone_soa(zone_name, zone_class)) return msg, qid @@ -531,7 +531,7 @@ class NotifyOut: zone_name.to_text() + '/' + zone_class.to_text() + ' not found') - result, soa_rrset, _ = finder.find(zone_name, RRType.SOA()) + result, soa_rrset, _ = finder.find(zone_name, RRType.SOA) if result is not finder.SUCCESS or soa_rrset is None or \ soa_rrset.get_rdata_count() != 1: raise NotifyOutDataSourceError('_get_zone_soa: Zone ' + diff --git a/src/lib/python/isc/notify/tests/notify_out_test.py b/src/lib/python/isc/notify/tests/notify_out_test.py index b9183e0396..560ac4d165 100644 --- a/src/lib/python/isc/notify/tests/notify_out_test.py +++ b/src/lib/python/isc/notify/tests/notify_out_test.py @@ -377,7 +377,7 @@ class TestNotifyOut(unittest.TestCase): def test_get_notify_slaves_from_ns(self): records = self._notify._get_notify_slaves_from_ns(Name('example.net.'), - RRClass.IN()) + RRClass.IN) self.assertEqual(6, len(records)) self.assertEqual('8:8::8:8', records[5]) self.assertEqual('7.7.7.7', records[4]) @@ -387,7 +387,7 @@ class TestNotifyOut(unittest.TestCase): self.assertEqual('3.3.3.3', records[0]) records = self._notify._get_notify_slaves_from_ns(Name('example.com.'), - RRClass.IN()) + RRClass.IN) self.assertEqual(3, len(records)) self.assertEqual('5:5::5:5', records[2]) self.assertEqual('4:4::4:4', records[1]) @@ -396,19 +396,19 @@ class TestNotifyOut(unittest.TestCase): def test_get_notify_slaves_from_ns_unusual(self): self._notify._db_file = TESTDATA_SRCDIR + '/brokentest.sqlite3' self.assertEqual([], self._notify._get_notify_slaves_from_ns( - Name('nons.example'), RRClass.IN())) + Name('nons.example'), RRClass.IN)) self.assertEqual([], self._notify._get_notify_slaves_from_ns( - Name('nosoa.example'), RRClass.IN())) + Name('nosoa.example'), RRClass.IN)) self.assertEqual([], self._notify._get_notify_slaves_from_ns( - Name('multisoa.example'), RRClass.IN())) + Name('multisoa.example'), RRClass.IN)) self.assertEqual([], self._notify._get_notify_slaves_from_ns( - Name('nosuchzone.example'), RRClass.IN())) + Name('nosuchzone.example'), RRClass.IN)) # This will cause failure in getting access to the data source. self._notify._db_file = TESTDATA_SRCDIR + '/nodir/error.sqlite3' self.assertEqual([], self._notify._get_notify_slaves_from_ns( - Name('example.com'), RRClass.IN())) + Name('example.com'), RRClass.IN)) def test_init_notify_out(self): self._notify._init_notify_out(self._db_file) diff --git a/src/lib/python/isc/testutils/rrset_utils.py b/src/lib/python/isc/testutils/rrset_utils.py index 7eac772c98..21f6e6f229 100644 --- a/src/lib/python/isc/testutils/rrset_utils.py +++ b/src/lib/python/isc/testutils/rrset_utils.py @@ -30,7 +30,7 @@ def rrsets_equal(a, b): a.get_class() == b.get_class() and \ a.get_type() == b.get_type() and \ a.get_ttl() == b.get_ttl() and \ - (a.get_type() == RRType.RRSIG() or + (a.get_type() == RRType.RRSIG or sorted(a.get_rdata()) == sorted(b.get_rdata())) # The following are short cut utilities to create an RRset of a specific @@ -38,25 +38,25 @@ def rrsets_equal(a, b): # tests, so we define default values for them for convenience. def create_a(name, address, ttl=3600): - rrset = RRset(name, RRClass.IN(), RRType.A(), RRTTL(ttl)) - rrset.add_rdata(Rdata(RRType.A(), RRClass.IN(), address)) + rrset = RRset(name, RRClass.IN, RRType.A, RRTTL(ttl)) + rrset.add_rdata(Rdata(RRType.A, RRClass.IN, address)) return rrset def create_aaaa(name, address, ttl=3600): - rrset = RRset(name, RRClass.IN(), RRType.AAAA(), RRTTL(ttl)) - rrset.add_rdata(Rdata(RRType.AAAA(), RRClass.IN(), address)) + rrset = RRset(name, RRClass.IN, RRType.AAAA, RRTTL(ttl)) + rrset.add_rdata(Rdata(RRType.AAAA, RRClass.IN, address)) return rrset def create_ns(nsname, name=Name('example.com'), ttl=3600): '''For convenience we use a default name often used as a zone name''' - rrset = RRset(name, RRClass.IN(), RRType.NS(), RRTTL(ttl)) - rrset.add_rdata(Rdata(RRType.NS(), RRClass.IN(), nsname)) + rrset = RRset(name, RRClass.IN, RRType.NS, RRTTL(ttl)) + rrset.add_rdata(Rdata(RRType.NS, RRClass.IN, nsname)) return rrset def create_cname(target='target.example.com', name=Name('example.com'), ttl=3600): - rrset = RRset(name, RRClass.IN(), RRType.CNAME(), RRTTL(ttl)) - rrset.add_rdata(Rdata(RRType.CNAME(), RRClass.IN(), target)) + rrset = RRset(name, RRClass.IN, RRType.CNAME, RRTTL(ttl)) + rrset.add_rdata(Rdata(RRType.CNAME, RRClass.IN, target)) return rrset def create_generic(name, rdlen, type=RRType('TYPE65300'), ttl=3600): @@ -67,16 +67,16 @@ def create_generic(name, rdlen, type=RRType('TYPE65300'), ttl=3600): The RDATA will be filled with specified length of all-0 data. ''' - rrset = RRset(name, RRClass.IN(), type, RRTTL(ttl)) - rrset.add_rdata(Rdata(type, RRClass.IN(), '\\# ' + + rrset = RRset(name, RRClass.IN, type, RRTTL(ttl)) + rrset.add_rdata(Rdata(type, RRClass.IN, '\\# ' + str(rdlen) + ' ' + '00' * rdlen)) return rrset def create_soa(serial, name=Name('example.com'), ttl=3600): '''For convenience we use a default name often used as a zone name''' - rrset = RRset(name, RRClass.IN(), RRType.SOA(), RRTTL(ttl)) + rrset = RRset(name, RRClass.IN, RRType.SOA, RRTTL(ttl)) rdata_str = 'master.example.com. admin.example.com. ' + \ str(serial) + ' 3600 1800 2419200 7200' - rrset.add_rdata(Rdata(RRType.SOA(), RRClass.IN(), rdata_str)) + rrset.add_rdata(Rdata(RRType.SOA, RRClass.IN, rdata_str)) return rrset diff --git a/src/lib/python/isc/xfrin/diff.py b/src/lib/python/isc/xfrin/diff.py index ea51967c30..5ecb1b3e83 100644 --- a/src/lib/python/isc/xfrin/diff.py +++ b/src/lib/python/isc/xfrin/diff.py @@ -146,12 +146,12 @@ class Diff: """ # first add or delete must be of type SOA if len(buf) == 0 and\ - rr.get_type() != isc.dns.RRType.SOA(): + rr.get_type() != isc.dns.RRType.SOA: raise ValueError("First " + operation + " in single update mode must be of type SOA") # And later adds or deletes may not elif len(buf) != 0 and\ - rr.get_type() == isc.dns.RRType.SOA(): + rr.get_type() == isc.dns.RRType.SOA: raise ValueError("Multiple SOA records in single " + "update mode " + operation) buf.append((operation, rr)) @@ -238,8 +238,8 @@ class Diff: '''A helper routine to identify whether two RRsets are of the same 'type'. For RRSIGs we should consider type covered, too. ''' - if rrset1.get_type() != isc.dns.RRType.RRSIG() or \ - rrset2.get_type != isc.dns.RRType.RRSIG(): + if rrset1.get_type() != isc.dns.RRType.RRSIG or \ + rrset2.get_type != isc.dns.RRType.RRSIG: return rrset1.get_type() == rrset2.get_type() # RR type of the both RRsets is RRSIG. Compare type covered. # We know they have exactly one RDATA. @@ -425,7 +425,7 @@ class Diff: return a.get_name() == b.get_name() and\ a.get_type() == b.get_type() and\ a.get_rdata()[0] == b.get_rdata()[0] - if rr.get_type() == isc.dns.RRType.SOA(): + if rr.get_type() == isc.dns.RRType.SOA: return buf else: return [ op for op in buf if not same_rr(op[1], rr)] diff --git a/src/lib/python/isc/xfrin/tests/diff_tests.py b/src/lib/python/isc/xfrin/tests/diff_tests.py index 906406f26b..a05e260bc7 100644 --- a/src/lib/python/isc/xfrin/tests/diff_tests.py +++ b/src/lib/python/isc/xfrin/tests/diff_tests.py @@ -56,8 +56,8 @@ class DiffTest(unittest.TestCase): self.__find_all_name = None self.__find_all_options = None # Some common values - self.__rrclass = RRClass.IN() - self.__type = RRType.A() + self.__rrclass = RRClass.IN + self.__type = RRType.A self.__ttl = RRTTL(3600) # And RRsets # Create two valid rrsets @@ -80,27 +80,27 @@ class DiffTest(unittest.TestCase): # Also create a few other (valid) rrsets # A SOA record self.__rrset_soa = RRset(Name('example.org.'), self.__rrclass, - RRType.SOA(), RRTTL(3600)) - self.__rrset_soa.add_rdata(Rdata(RRType.SOA(), self.__rrclass, + RRType.SOA, RRTTL(3600)) + self.__rrset_soa.add_rdata(Rdata(RRType.SOA, self.__rrclass, "ns1.example.org. " + "admin.example.org. " + "1233 3600 1800 2419200 7200")) # A few single-rr rrsets that together would for a multi-rr rrset self.__rrset3 = RRset(Name('c.example.org.'), self.__rrclass, - RRType.TXT(), self.__ttl) - self.__rrset3.add_rdata(Rdata(RRType.TXT(), self.__rrclass, "one")) + RRType.TXT, self.__ttl) + self.__rrset3.add_rdata(Rdata(RRType.TXT, self.__rrclass, "one")) self.__rrset4 = RRset(Name('c.example.org.'), self.__rrclass, - RRType.TXT(), self.__ttl) - self.__rrset4.add_rdata(Rdata(RRType.TXT(), self.__rrclass, "two")) + RRType.TXT, self.__ttl) + self.__rrset4.add_rdata(Rdata(RRType.TXT, self.__rrclass, "two")) self.__rrset5 = RRset(Name('c.example.org.'), self.__rrclass, - RRType.TXT(), self.__ttl) - self.__rrset5.add_rdata(Rdata(RRType.TXT(), self.__rrclass, "three")) + RRType.TXT, self.__ttl) + self.__rrset5.add_rdata(Rdata(RRType.TXT, self.__rrclass, "three")) self.__rrset6 = RRset(Name('d.example.org.'), self.__rrclass, - RRType.A(), self.__ttl) - self.__rrset6.add_rdata(Rdata(RRType.A(), self.__rrclass, "192.0.2.1")) + RRType.A, self.__ttl) + self.__rrset6.add_rdata(Rdata(RRType.A, self.__rrclass, "192.0.2.1")) self.__rrset7 = RRset(Name('d.example.org.'), self.__rrclass, - RRType.A(), self.__ttl) - self.__rrset7.add_rdata(Rdata(RRType.A(), self.__rrclass, "192.0.2.2")) + RRType.A, self.__ttl) + self.__rrset7.add_rdata(Rdata(RRType.A, self.__rrclass, "192.0.2.2")) def __mock_compact(self): """ @@ -315,7 +315,7 @@ class DiffTest(unittest.TestCase): self.assertRaises(ValueError, diff.add_data, self.__rrset2) self.assertRaises(ValueError, diff.delete_data, self.__rrset1) self.assertRaises(ValueError, diff.find, Name('foo.example.org.'), - RRType.A()) + RRType.A) self.assertRaises(ValueError, diff.find_all, Name('foo.example.org.')) diff.apply = orig_apply self.assertRaises(ValueError, diff.apply) @@ -434,9 +434,9 @@ class DiffTest(unittest.TestCase): Test a wrong class of rrset is rejected. """ diff = Diff(self, Name('example.org.')) - rrset = RRset(Name('a.example.org.'), RRClass.CH(), RRType.NS(), + rrset = RRset(Name('a.example.org.'), RRClass.CH, RRType.NS, self.__ttl) - rrset.add_rdata(Rdata(RRType.NS(), RRClass.CH(), 'ns.example.org.')) + rrset.add_rdata(Rdata(RRType.NS, RRClass.CH, 'ns.example.org.')) self.assertRaises(ValueError, diff.add_data, rrset) self.assertRaises(ValueError, diff.delete_data, rrset) @@ -516,14 +516,14 @@ class DiffTest(unittest.TestCase): ''' diff = Diff(self, Name('example.org.')) rrsig1 = RRset(Name('example.org'), self.__rrclass, - RRType.RRSIG(), RRTTL(3600)) - rrsig1.add_rdata(Rdata(RRType.RRSIG(), self.__rrclass, + RRType.RRSIG, RRTTL(3600)) + rrsig1.add_rdata(Rdata(RRType.RRSIG, self.__rrclass, 'A 5 3 3600 20000101000000 20000201000000 ' + '0 example.org. FAKEFAKEFAKE')) diff.add_data(rrsig1) rrsig2 = RRset(Name('example.org'), self.__rrclass, - RRType.RRSIG(), RRTTL(1800)) - rrsig2.add_rdata(Rdata(RRType.RRSIG(), self.__rrclass, + RRType.RRSIG, RRTTL(1800)) + rrsig2.add_rdata(Rdata(RRType.RRSIG, self.__rrclass, 'AAAA 5 3 3600 20000101000000 20000201000000 ' + '1 example.org. FAKEFAKEFAKE')) diff.add_data(rrsig2) @@ -557,7 +557,7 @@ class DiffTest(unittest.TestCase): ''' diff_multi = Diff(self, Name('example.org.'), single_update_mode=False) self.assertRaises(ValueError, diff_multi.find_updated, - Name('example.org.'), RRType.A()) + Name('example.org.'), RRType.A) self.assertRaises(ValueError, diff_multi.find_all_updated, Name('example.org.')) @@ -570,12 +570,12 @@ class DiffTest(unittest.TestCase): ''' # full rrset for A (to check compact()) - txt = RRset(Name('c.example.org.'), self.__rrclass, RRType.TXT(), + txt = RRset(Name('c.example.org.'), self.__rrclass, RRType.TXT, RRTTL(3600)) txt.add_rdata(Rdata(txt.get_type(), txt.get_class(), "one")) txt.add_rdata(Rdata(txt.get_type(), txt.get_class(), "two")) txt.add_rdata(Rdata(txt.get_type(), txt.get_class(), "three")) - a = RRset(Name('d.example.org.'), self.__rrclass, RRType.A(), + a = RRset(Name('d.example.org.'), self.__rrclass, RRType.A, RRTTL(3600)) a.add_rdata(Rdata(a.get_type(), a.get_class(), "192.0.2.1")) a.add_rdata(Rdata(a.get_type(), a.get_class(), "192.0.2.2")) @@ -679,7 +679,7 @@ class DiffTest(unittest.TestCase): def test_find(self): diff = Diff(self, Name('example.org.')) name = Name('www.example.org.') - rrtype = RRType.A() + rrtype = RRType.A self.assertFalse(self.__find_called) self.assertEqual(None, self.__find_name) @@ -697,7 +697,7 @@ class DiffTest(unittest.TestCase): def test_find_options(self): diff = Diff(self, Name('example.org.')) name = Name('foo.example.org.') - rrtype = RRType.TXT() + rrtype = RRType.TXT options = ZoneFinder.NO_WILDCARD self.assertEqual("find_return", diff.find(name, rrtype, options)) @@ -997,8 +997,8 @@ class DiffTest(unittest.TestCase): # Add a second rr with different type at same name add_rrset = RRset(self.__rrset3.get_name(), self.__rrclass, - RRType.A(), self.__ttl) - add_rrset.add_rdata(Rdata(RRType.A(), self.__rrclass, "192.0.2.2")) + RRType.A, self.__ttl) + add_rrset.add_rdata(Rdata(RRType.A, self.__rrclass, "192.0.2.2")) diff.add_data(add_rrset) self.__check_find_all_call(diff.find_all_updated, self.__rrset3,