Пример #1
0
    def test_ctor(self):
        self.assertIsInstance(self.ks, kdb.KeySet)

        ks = kdb.KeySet(0)
        self.assertIsInstance(ks, kdb.KeySet)

        ks = kdb.KeySet(self.ks)
        self.assertIsInstance(ks, kdb.KeySet)
Пример #2
0
    def test_functions(self):
        self.assertEqual(self.ks.lookup("user/key3"), kdb.Key("user/key3"))
        self.assertEqual(self.ks.lookup(kdb.Key("system/key2")),
                         kdb.Key("system/key2"))
        self.assertEqual(self.ks.lookup(0), kdb.Key("system/key1"))
        self.assertEqual(self.ks.lookup(-1), kdb.Key("user/key4"))

        ks = kdb.KeySet(0)
        ks.append(kdb.Key("user/foo"))
        ks.append(kdb.Key("user/bar"))
        self.assertEqual(len(ks), 2)

        ' test clear '
        ks = kdb.KeySet(0)
        ks.append(kdb.Key("user/test1"))
        ks.append(kdb.Key("user/test2"))
        ks.append(kdb.Key("user/test3"))
        ks.clear()
        self.assertEqual(len(ks), 0)

        ' test pop '
        ks = kdb.KeySet(0)
        ks.append(kdb.Key("user/test1"))
        ks.append(kdb.Key("user/test2"))
        ks.append(kdb.Key("user/test3"))
        self.assertEqual(ks.pop(), kdb.Key("user/test3"))
        self.assertEqual(len(ks), 2)

        ' test cut '
        ks = kdb.KeySet(0)
        ks.append(kdb.Key("user/level11"))
        ks.append(kdb.Key("user/level13"))
        ks.append(kdb.Key("user/level13/level21"))
        ks.append(kdb.Key("user/level13/level22/level31"))
        ks.append(kdb.Key("user/level13/level23"))
        ks.append(kdb.Key("user/level15"))

        cutresult = ks.cut(kdb.Key("user/level13"))

        self.assertEqual(len(cutresult), 4)
        self.assertTrue(kdb.Key("user/level13") in cutresult)
        self.assertTrue(kdb.Key("user/level13/level21") in cutresult)
        self.assertTrue(kdb.Key("user/level13/level22/level31") in cutresult)
        self.assertTrue(kdb.Key("user/level13/level23") in cutresult)

        self.assertEqual(len(ks), 2)
        self.assertTrue(kdb.Key("user/level11") in ks)
        self.assertTrue(kdb.Key("user/level15") in ks)

        cutresult = ks.cut(kdb.Key("user/does/not/exist"))
        self.assertEqual(len(cutresult), 0)
        self.assertEqual(len(ks), 2)
Пример #3
0
 def tearDownClass():
     # cleanup
     with kdb.KDB() as db:
         ks = kdb.KeySet(100)
         db.get(ks, TEST_NS)
         ks.cut(kdb.Key(TEST_NS))
         db.set(ks, TEST_NS)
Пример #4
0
	def test_get(self):
		with kdb.KDB() as db:
			ks = kdb.KeySet()
			db.get(ks, "system/elektra")

			key = ks["system/elektra/version/constants/KDB_VERSION"]
			self.assertEqual(key.value, kdb.VERSION)
Пример #5
0
    def test_set(self):
        with kdb.KDB() as db:
            ks = kdb.KeySet(100)
            db.get(ks, TEST_NS)

            try:
                key = ks[TEST_NS + "/mykey"]
            except KeyError:
                key = kdb.Key(TEST_NS + "/mykey")
                ks.append(key)
            key.value = "new_value"

            db.set(ks, TEST_NS)

        with kdb.KDB() as db:
            ks = kdb.KeySet(100)
            db.get(ks, TEST_NS)
            self.assertEqual(ks[TEST_NS + "/mykey"].value, "new_value")
Пример #6
0
    def test_get(self):
        with kdb.KDB() as db:
            ks = kdb.KeySet()
            db.get(ks, "system/elektra")

            import os
            if os.getenv("CHECK_VERSION") is None:
                key = ks["system/elektra/version/constants/KDB_VERSION"]
                self.assertEqual(key.value, kdb.VERSION)
Пример #7
0
    def test_operator(self):
        self.assertEqual(len(self.ks), 4)
        self.assertEqual(len(kdb.KeySet(0)), 0)

        self.assertTrue(kdb.Key("user/key3") in self.ks)
        self.assertFalse(kdb.Key("user/foo") in self.ks)

        self.assertEqual(self.ks[0], kdb.Key("system/key1"))
        self.assertEqual(self.ks[-1], kdb.Key("user/key4"))
        with self.assertRaises(IndexError):
            self.assertIsNone(self.ks[100])
        with self.assertRaises(IndexError):
            self.assertIsNone(self.ks[-100])

        self.assertEqual(self.ks[1:3], [self.ks[1], self.ks[2]])

        self.assertEqual(self.ks["user/key3"], kdb.Key("user/key3"))
        with self.assertRaises(KeyError):
            self.assertIsNone(self.ks["user/doesnt_exist"])

        self.assertEqual(self.ks[kdb.Key("system/key2")],
                         kdb.Key("system/key2"))
        with self.assertRaises(KeyError):
            self.ks[kdb.Key("user/doesnt_exist")]
Пример #8
0
 def test_iterator(self):
     self.assertEqual(sum(1 for _ in self.ks), 4)
     self.assertEqual(sum(1 for _ in reversed(self.ks)), 4)
     self.assertEqual(sum(1 for _ in kdb.KeySet(0)), 0)
Пример #9
0
 def setUp(self):
     self.ks = kdb.KeySet(100, kdb.Key("system/key1"),
                          kdb.Key("system/key2"), kdb.Key("user/key3"),
                          kdb.Key("user/key4"), kdb.KS_END,
                          kdb.Key("user/lost"))