def test_invalid_item(self): itcoll = ItemOptionDict() itcoll.add(None) self.assertRaises(ArgumentError, self.cb.upsert_multi, itcoll) self.assertRaises(ArgumentError, self.cb.upsert_multi, ItemSequence([None]))
def test_items_append(self): k = self.gen_key("itm_append") it = Item(k, "MIDDLE") itcoll = ItemOptionDict() itcoll.add(it) self.cb.set_multi(itcoll, format=FMT_UTF8) itcoll.add(it, fragment="_END") self.cb.append_items(itcoll, format=FMT_UTF8) self.assertEqual(it.value, "MIDDLE_END") itcoll.add(it, fragment="BEGIN_") self.cb.prepend_items(itcoll, format=FMT_UTF8) self.assertEqual(it.value, "BEGIN_MIDDLE_END") rv = self.cb.get(it.key) self.assertEqual(rv.value, "BEGIN_MIDDLE_END") # Try without a 'fragment' specifier self.assertRaises(ArgumentError, self.cb.append_items, ItemSequence([it])) itcoll.add(it) self.assertRaises(ArgumentError, self.cb.append_items, itcoll)
def batch_iter(self, startval, nitems, use_values=False, view_load=False): itmcoll = ItemOptionDict() for x in xrange(startval, startval + nitems): key = self.gen_str(self.kseed, self.ksize, x) itm = DatatypeItem(key=self.gen_str(self.kseed, self.ksize, x), ix=x, use_datatypes=self.use_datatypes) options = {} if use_values and not(view_load): itm.set_value(self.gen_str(self.vseed, self.vsize, x)) options['format'] = itm.expected_datatype elif use_values and view_load: itm.set_value(self.gen_json(key, x)) itmcoll.add(itm, **options) return itmcoll
def test_items_ignorecas(self): k = self.gen_key("itm_ignorecas") it = Item(k, "a value") itcoll = ItemOptionDict() itcoll.add(it) self.cb.upsert_multi(itcoll) self.assertTrue(it.cas) # Set it again rv = self.cb.upsert(it.key, it.value) self.assertTrue(rv.cas) self.assertFalse(rv.cas == it.cas) # Should raise an error without ignore_cas self.assertRaises(KeyExistsError, self.cb.upsert_multi, itcoll) self.assertTrue(it.cas) itcoll.add(it, ignore_cas=True) self.cb.upsert_multi(itcoll) rv = self.cb.get(it.key) self.assertEqual(rv.cas, it.cas)
def test_items_ignorecas(self): k = self.gen_key("itm_ignorecas") it = Item(k, "a value") itcoll = ItemOptionDict() itcoll.add(it) self.cb.set_multi(itcoll) self.assertTrue(it.cas) # Set it again rv = self.cb.set(it.key, it.value) self.assertTrue(rv.cas) self.assertFalse(rv.cas == it.cas) # Should raise an error without ignore_cas self.assertRaises(KeyExistsError, self.cb.set_multi, itcoll) self.assertTrue(it.cas) itcoll.add(it, ignore_cas=True) self.cb.set_multi(itcoll) rv = self.cb.get(it.key) self.assertEqual(rv.cas, it.cas)