Browse Source

[2225_xfrout] update creating the counter object and invoking the getter method according to the new interface

Naoki Kambe 12 years ago
parent
commit
f99dea73ed
1 changed files with 61 additions and 35 deletions
  1. 61 35
      src/bin/xfrout/tests/xfrout_test.py.in

+ 61 - 35
src/bin/xfrout/tests/xfrout_test.py.in

@@ -291,7 +291,7 @@ class TestXfroutSessionBase(unittest.TestCase):
         # the XfroutSession object.  We check the condition here.
         self.assertEqual(0, self.xfrsess._server.transfer_counter)
         # clear statistics counters
-        Counter.clear_counters()
+        self.xfrsess._counter.clear_counters()
 
 class TestXfroutSession(TestXfroutSessionBase):
     def test_quota_error(self):
@@ -380,7 +380,8 @@ class TestXfroutSession(TestXfroutSessionBase):
         ]))
         # check the 'xfrrej' counter initially
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_xfrrej, TEST_ZONE_NAME_STR)
+                          self.xfrsess._counter.get, 'zones',
+                          TEST_ZONE_NAME_STR, 'xfrrej')
         # Localhost (the default in this test) is accepted
         rcode, msg = self.xfrsess._parse_query_message(self.mdata)
         self.assertEqual(rcode.to_text(), "NOERROR")
@@ -395,7 +396,8 @@ class TestXfroutSession(TestXfroutSessionBase):
         rcode, msg = self.xfrsess._parse_query_message(self.mdata)
         self.assertEqual(rcode.to_text(), "REFUSED")
         # check the 'xfrrej' counter after incrementing
-        self.assertEqual(Counter.get_xfrrej(TEST_ZONE_NAME_STR), 1)
+        self.assertEqual(self.xfrsess._counter.get(
+                'zones', TEST_ZONE_NAME_STR, 'xfrrej'), 1)
 
         # TSIG signed request
         request_data = self.create_request_data(with_tsig=True)
@@ -425,7 +427,8 @@ class TestXfroutSession(TestXfroutSessionBase):
         [rcode, msg] = self.xfrsess._parse_query_message(request_data)
         self.assertEqual(rcode.to_text(), "REFUSED")
         # check the 'xfrrej' counter after incrementing
-        self.assertEqual(Counter.get_xfrrej(TEST_ZONE_NAME_STR), 2)
+        self.assertEqual(self.xfrsess._counter.get(
+                'zones', TEST_ZONE_NAME_STR, 'xfrrej'), 2)
 
         # ACL using TSIG: no TSIG; should be rejected
         acl_setter(isc.acl.dns.REQUEST_LOADER.load([
@@ -434,7 +437,8 @@ class TestXfroutSession(TestXfroutSessionBase):
         [rcode, msg] = self.xfrsess._parse_query_message(self.mdata)
         self.assertEqual(rcode.to_text(), "REFUSED")
         # check the 'xfrrej' counter after incrementing
-        self.assertEqual(Counter.get_xfrrej(TEST_ZONE_NAME_STR), 3)
+        self.assertEqual(self.xfrsess._counter.get(
+                'zones', TEST_ZONE_NAME_STR, 'xfrrej'), 3)
 
         #
         # ACL using IP + TSIG: both should match
@@ -455,21 +459,24 @@ class TestXfroutSession(TestXfroutSessionBase):
         [rcode, msg] = self.xfrsess._parse_query_message(request_data)
         self.assertEqual(rcode.to_text(), "REFUSED")
         # check the 'xfrrej' counter after incrementing
-        self.assertEqual(Counter.get_xfrrej(TEST_ZONE_NAME_STR), 4)
+        self.assertEqual(self.xfrsess._counter.get(
+                'zones', TEST_ZONE_NAME_STR, 'xfrrej'), 4)
         # Address matches, but TSIG doesn't (not included)
         self.xfrsess._remote = (socket.AF_INET, socket.SOCK_STREAM,
                                 ('192.0.2.1', 12345))
         [rcode, msg] = self.xfrsess._parse_query_message(self.mdata)
         self.assertEqual(rcode.to_text(), "REFUSED")
         # check the 'xfrrej' counter after incrementing
-        self.assertEqual(Counter.get_xfrrej(TEST_ZONE_NAME_STR), 5)
+        self.assertEqual(self.xfrsess._counter.get(
+                'zones', TEST_ZONE_NAME_STR, 'xfrrej'), 5)
         # Neither address nor TSIG matches
         self.xfrsess._remote = (socket.AF_INET, socket.SOCK_STREAM,
                                 ('192.0.2.2', 12345))
         [rcode, msg] = self.xfrsess._parse_query_message(self.mdata)
         self.assertEqual(rcode.to_text(), "REFUSED")
         # check the 'xfrrej' counter after incrementing
-        self.assertEqual(Counter.get_xfrrej(TEST_ZONE_NAME_STR), 6)
+        self.assertEqual(self.xfrsess._counter.get(
+                'zones', TEST_ZONE_NAME_STR, 'xfrrej'), 6)
 
     def test_transfer_acl(self):
         # ACL checks only with the default ACL
@@ -853,9 +860,11 @@ class TestXfroutSession(TestXfroutSessionBase):
 
         self.xfrsess._reply_xfrout_query = myreply
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_unixsocket_senderr)
+                          self.xfrsess._counter.get,
+                          'socket', 'unixdomain', 'senderr')
         self.xfrsess.dns_xfrout_start(self.sock, self.mdata)
-        self.assertEqual(Counter.get_unixsocket_senderr(), 1)
+        self.assertEqual(self.xfrsess._counter.get(
+                'socket', 'unixdomain', 'senderr'), 1)
 
     def test_dns_xfrout_start_noerror(self):
         def noerror(msg, name, rrclass):
@@ -866,12 +875,13 @@ class TestXfroutSession(TestXfroutSessionBase):
             self.sock.send(b"success")
 
         self.assertRaises(isc.cc.data.DataNotFoundError,
-            Counter.get_xfrreqdone, TEST_ZONE_NAME_STR)
+                          self.xfrsess._counter.get,
+                          'zones', TEST_ZONE_NAME_STR, 'xfrreqdone')
         self.xfrsess._reply_xfrout_query = myreply
         self.xfrsess.dns_xfrout_start(self.sock, self.mdata)
         self.assertEqual(self.sock.readsent(), b"success")
-        self.assertGreater(\
-            Counter.get_xfrreqdone(TEST_ZONE_NAME_STR), 0)
+        self.assertGreater(self.xfrsess._counter.get(
+            'zones', TEST_ZONE_NAME_STR, 'xfrreqdone'), 0)
 
     def test_reply_xfrout_query_axfr(self):
         self.xfrsess._soa = self.soa_rrset
@@ -1128,7 +1138,7 @@ class TestXfroutSessionWithSQLite3(TestXfroutSessionBase):
 
     def test_axfr_normal_session(self):
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_axfr_running)
+                          self.xfrsess._counter.get, 'axfr_running')
         XfroutSession._handle(self.xfrsess)
         response = self.sock.read_msg(Message.PRESERVE_ORDER);
         self.assertEqual(Rcode.NOERROR(), response.get_rcode())
@@ -1136,8 +1146,8 @@ class TestXfroutSessionWithSQLite3(TestXfroutSessionBase):
         self.assertEqual(self.xfrsess._request_type, RRType.AXFR())
         self.assertNotEqual(self.xfrsess._request_type, RRType.IXFR())
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_ixfr_running)
-        self.assertEqual(Counter.get_axfr_running(), 0)
+                          self.xfrsess._counter.get, 'ixfr_running')
+        self.assertEqual(self.xfrsess._counter.get('axfr_running'), 0)
 
     def test_ixfr_to_axfr(self):
         self.xfrsess._request_data = \
@@ -1157,9 +1167,9 @@ class TestXfroutSessionWithSQLite3(TestXfroutSessionBase):
         self.xfrsess._request_data = \
             self.create_request_data(ixfr=IXFR_OK_VERSION)
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_axfr_running)
+                          self.xfrsess._counter.get, 'axfr_running')
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_ixfr_running)
+                          self.xfrsess._counter.get, 'ixfr_running')
         XfroutSession._handle(self.xfrsess)
         response = self.sock.read_msg(Message.PRESERVE_ORDER)
         actual_records = response.get_section(Message.SECTION_ANSWER)
@@ -1178,8 +1188,8 @@ class TestXfroutSessionWithSQLite3(TestXfroutSessionBase):
         self.assertNotEqual(self.xfrsess._request_type, RRType.AXFR())
         self.assertEqual(self.xfrsess._request_type, RRType.IXFR())
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_axfr_running)
-        self.assertEqual(Counter.get_ixfr_running(), 0)
+                          self.xfrsess._counter.get, 'axfr_running')
+        self.assertEqual(self.xfrsess._counter.get('ixfr_running'), 0)
 
     def ixfr_soa_only_common_checks(self, request_serial):
         self.xfrsess._request_data = \
@@ -1208,6 +1218,7 @@ class MyUnixSockServer(UnixSockServer):
         self._cc = MyCCSession()
         self.update_config_data(self._cc.get_full_config())
         self._counters = {}
+        self._counter = xfrout.Counter(xfrout.SPECFILE_LOCATION)
 
 class TestUnixSockServer(unittest.TestCase):
     def setUp(self):
@@ -1568,45 +1579,57 @@ class TestUnixSockServerForCounter(unittest.TestCase):
             super,
             self.orig_process_request,
             self.orig_select )
-        Counter.clear_counters()
+        self.unix._counter.clear_counters()
 
     def test_open(self):
         # open
-        self.assertEqual(Counter.get_unixsocket_open(), 1)
+        self.assertEqual(
+            self.unix._counter.get('socket', 'unixdomain', 'open'), 1)
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_unixsocket_openfail)
+                          self.unix._counter.get,
+                          'socket', 'unixdomain', 'openfail')
         xfrout.ThreadingUnixStreamServer = DummySocketserverException
         self.unix = UnixSockServer(None, None, None, None, None)
-        self.assertEqual(Counter.get_unixsocket_open(), 1)
-        self.assertEqual(Counter.get_unixsocket_openfail(), 1)
+        self.assertEqual(
+            self.unix._counter.get('socket', 'unixdomain', 'open'), 1)
+        self.assertEqual(
+            self.unix._counter.get('socket', 'unixdomain', 'openfail'), 1)
 
     def test_close(self):
         # close
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_unixsocket_close)
+                          self.unix._counter.get,
+                          'socket','unixdomain', 'close')
         self.unix.shutdown()
-        self.assertEqual(Counter.get_unixsocket_close(), 1)
+        self.assertEqual(
+            self.unix._counter.get('socket', 'unixdomain', 'close'), 1)
 
     def test_bindfail(self):
         # bindfail
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_unixsocket_bindfail)
+                          self.unix._counter.get,
+                          'socket', 'unixdomain', 'bindfail')
         self.assertRaises(Exception, self.unix.server_bind)
-        self.assertEqual(Counter.get_unixsocket_bindfail(), 1)
+        self.assertEqual(
+            self.unix._counter.get('socket', 'unixdomain', 'bindfail'), 1)
 
     def test_accept(self):
         # accept
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_unixsocket_accept)
+                          self.unix._counter.get,
+                          'socket', 'unixdomain', 'accept')
         self.unix.get_request()
-        self.assertEqual(Counter.get_unixsocket_accept(), 1)
+        self.assertEqual(
+            self.unix._counter.get('socket', 'unixdomain', 'accept'), 1)
         # acceptfail
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_unixsocket_acceptfail)
+                          self.unix._counter.get,
+                          'socket', 'unixdomain', 'acceptfail')
         xfrout.super = lambda : DummyClassException()
         self.unix = UnixSockServer(None, None, None, None, None)
         self.assertRaises(Exception, self.unix.get_request)
-        self.assertEqual(Counter.get_unixsocket_acceptfail(), 1)
+        self.assertEqual(
+            self.unix._counter.get('socket', 'unixdomain', 'acceptfail'), 1)
 
     def test_senderr(self):
         # do inside of above TestXfroutSession
@@ -1615,12 +1638,14 @@ class TestUnixSockServerForCounter(unittest.TestCase):
     def test_recverr(self):
         # recverr
         self.assertRaises(isc.cc.data.DataNotFoundError,
-                          Counter.get_unixsocket_recverr)
+                          self.unix._counter.get,
+                          'socket', 'unixdomain', 'recverr')
         def raise_socketerror(x,y):
             raise socket.error
         self.unix.process_request = raise_socketerror
         self.unix._select_loop(None)
-        self.assertEqual(Counter.get_unixsocket_recverr(), 1)
+        self.assertEqual(self.unix._counter.get(
+                'socket', 'unixdomain', 'recverr'), 1)
 
 class TestInitialization(unittest.TestCase):
     def setEnv(self, name, value):
@@ -1670,6 +1695,7 @@ class MyXfroutServer(XfroutServer):
         self._wait_for_threads = lambda : None
         self._cc.get_module_spec = lambda:\
             isc.config.module_spec_from_file(xfrout.SPECFILE_LOCATION)
+        self._counter = xfrout.Counter(xfrout.SPECFILE_LOCATION)
 
 class TestXfroutServer(unittest.TestCase):
     def setUp(self):