From: Naoki Kambe Date: Mon, 15 Oct 2012 12:16:06 +0000 (+0900) Subject: [2298] add tests for item_name_list() X-Git-Tag: trac2487_base~1^2~27^2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=17fb05b7b88ffdb2aacef30904b5e9c2fbe04fe5;p=thirdparty%2Fkea.git [2298] add tests for item_name_list() --- diff --git a/src/bin/stats/tests/b10-stats-httpd_test.py b/src/bin/stats/tests/b10-stats-httpd_test.py index a0b21251a8..dda66e8244 100644 --- a/src/bin/stats/tests/b10-stats-httpd_test.py +++ b/src/bin/stats/tests/b10-stats-httpd_test.py @@ -113,6 +113,57 @@ def is_ipv6_enabled(address='::1', port=8001): if sock: sock.close() return False +class TestItemNameList(unittest.TestCase): + + def test_item_name_list(self): + self.assertEqual(['a'], + stats_httpd.item_name_list({'a':1}, 'a')) + self.assertEqual(['a','a/b'], + stats_httpd.item_name_list({'a':{'b':1}}, 'a')) + self.assertEqual(['a/b'], + stats_httpd.item_name_list({'a':{'b':1}}, 'a/b')) + self.assertEqual(['a','a/b','a/b/c'], + stats_httpd.item_name_list({'a':{'b':{'c':1}}}, 'a')) + self.assertEqual(['a/b','a/b/c'], + stats_httpd.item_name_list({'a':{'b':{'c':1}}}, 'a/b')) + self.assertEqual(['a/b/c'], + stats_httpd.item_name_list({'a':{'b':{'c':1}}}, 'a/b/c')) + self.assertEqual(['a[2]'], + stats_httpd.item_name_list({'a':[1,2,3]}, 'a[2]')) + self.assertEqual(['a', 'a[0]', 'a[1]', 'a[2]'], + stats_httpd.item_name_list({'a':[1,2,3]}, 'a')) + self.assertEqual(['a', 'a[0]', 'a[1]', 'a[2]'], + stats_httpd.item_name_list({'a':[1,2,3]}, '')) + self.assertEqual(['a', 'a/b', 'a/b[0]', 'a/b[1]', 'a/b[2]'], + stats_httpd.item_name_list({'a':{'b':[1,2,3]}}, 'a')) + self.assertEqual(['a', 'a/b', 'a/b[0]', 'a/b[1]', 'a/b[2]'], + stats_httpd.item_name_list({'a':{'b':[1,2,3]}}, '')) + self.assertEqual(['a/b', 'a/b[0]', 'a/b[1]', 'a/b[2]'], + stats_httpd.item_name_list({'a':{'b':[1,2,3]}}, 'a/b')) + self.assertEqual(['a', 'a/b', 'a/b[0]', 'a/b[1]', 'a/b[2]', 'a/c'], + stats_httpd.item_name_list( + {'a':{'b':[1,2,3], 'c':1}}, 'a')) + self.assertEqual(['a/b', 'a/b[0]', 'a/b[1]', 'a/b[2]'], + stats_httpd.item_name_list( + {'a':{'b':[1,2,3], 'c':1}}, 'a/b')) + self.assertEqual(['a/c'], + stats_httpd.item_name_list( + {'a':{'b':[1,2,3], 'c':1}}, 'a/c')) + self.assertRaises(isc.cc.data.DataNotFoundError, + stats_httpd.item_name_list, {'x':1}, 'a') + self.assertEqual([], + stats_httpd.item_name_list('a', '')) + self.assertEqual([], + stats_httpd.item_name_list('', '')) + self.assertRaises(isc.cc.data.DataTypeError, + stats_httpd.item_name_list, 'a', 'a') + self.assertRaises(isc.cc.data.DataTypeError, + stats_httpd.item_name_list, None, None) + self.assertRaises(isc.cc.data.DataTypeError, + stats_httpd.item_name_list, [1,2,3], 'a') + self.assertRaises(isc.cc.data.DataTypeError, + stats_httpd.item_name_list, [1,2,3], '') + class TestHttpHandler(unittest.TestCase): """Tests for HttpHandler class""" def setUp(self):