示例#1
0
    def test_heterogeneous_delete(self):
        objectstore = ObjectStore()

        self._test_lookup_by_all(objectstore)

        objectstore.delete(self.obj_type2_names[255])
        for i2, val in zip(self.index2s, self.obj_type1_values):
            self.assertEqual(
                objectstore.lookup('type1:index2', i2), val,
                "After type2 deletion, "
                "can still lookup by type1:index2")
        for i1, val in zip(self.index1s, self.obj_type1_values):
            self.assertEqual(
                objectstore.lookup('type1:index1', i1), val,
                "After type2 deletion, "
                "can still lookup by type1:index1")

        def lookup_by_index1_from_deleted(*args):
            store = args[0]
            store.lookup('type2:index1', self.index1s[255])

        self.assertRaises(KeyError, lookup_by_index1_from_deleted, objectstore,
                          "Lookup by type2:index1 on deleted raises an error")
        del self.obj_type2_values[255]
        del self.index2s[255]
        del self.index1s[255]
        for i, val in zip(self.index1s, self.obj_type2_values):
            self.assertEqual(objectstore.lookup('type2:index1', i), val,
                             "Can look up any other type2:index1")

        for c, val in zip(self.index2s, self.obj_type2_values):
            self.assertEqual(objectstore.lookup('type2:index2', c), val,
                             "Can look up any other type2:index2")
    def test_heterogeneous_delete(self):
        objectstore = ObjectStore()

        self._test_lookup_by_all(objectstore)

        objectstore.delete(self.obj_type2_names[255])
        for i2, val in zip(self.index2s, self.obj_type1_values):
            self.assertEqual(objectstore.lookup('type1:index2', i2),
                             val, "After type2 deletion, "
                                  "can still lookup by type1:index2")
        for i1, val in zip(self.index1s, self.obj_type1_values):
            self.assertEqual(objectstore.lookup('type1:index1', i1),
                             val, "After type2 deletion, "
                                  "can still lookup by type1:index1")

        def lookup_by_index1_from_deleted(*args):
            store = args[0]
            store.lookup('type2:index1', self.index1s[255])

        self.assertRaises(KeyError, lookup_by_index1_from_deleted, objectstore,
                          "Lookup by type2:index1 on deleted raises an error")
        del self.obj_type2_values[255]
        del self.index2s[255]
        del self.index1s[255]
        for i, val in zip(self.index1s, self.obj_type2_values):
            self.assertEqual(objectstore.lookup('type2:index1', i),
                             val, "Can look up any other type2:index1")

        for c, val in zip(self.index2s, self.obj_type2_values):
            self.assertEqual(objectstore.lookup('type2:index2', c),
                             val, "Can look up any other type2:index2")
    def test_delete(self):
        obj_store = ObjectStore(indexes=['type1:index1', 'type1:index2'])
        self._test_set_and_lookup(obj_store)

        def lookup_key_that_is_missing(*args, **kwargs):
            store = args[0]
            store.lookup('type1:index2', self.index2s[544])

        for n in self.names:
            obj_store.delete(n)

        self.assertRaises(KeyError, lookup_key_that_is_missing, obj_store,
                          "Lookup of attribute from key that has "
                          "been deleted throws an error")
示例#4
0
    def test_delete(self):
        obj_store = ObjectStore(indexes=['type1:index1', 'type1:index2'])
        self._test_set_and_lookup(obj_store)

        def lookup_key_that_is_missing(*args, **kwargs):
            store = args[0]
            store.lookup('type1:index2', self.index2s[544])

        for n in self.names:
            obj_store.delete(n)

        self.assertRaises(KeyError, lookup_key_that_is_missing, obj_store,
                          "Lookup of attribute from key that has "
                          "been deleted throws an error")