void XmlBlasterCommObject::erase(const std::string& key) { EraseKey eraseKey(global_); eraseKey.setOid(key); EraseQos eraseQos(global_); log_.info(ME, "erasing the published message. Key: " + eraseKey.toXml()); std::vector<EraseReturnQos> eraseRetQos = con.erase(eraseKey, eraseQos); for (size_t i=0; i < eraseRetQos.size(); i++ ) { log_.info(ME, "successfully erased the message."); } };
TEST(APC, Basic) { auto store = new_store(); EXPECT_EQ(store->add(s_key, Variant(s_value1), 1500), true); EXPECT_EQ(store->exists(s_key), true); Variant got; EXPECT_EQ(store->get(s_key, got), true); EXPECT_TRUE(cellSame(*got.toCell(), make_tv<KindOfPersistentString>(s_value1.get()))); EXPECT_EQ(store->eraseKey(s_key), true); EXPECT_EQ(store->get(s_key, got), false); }
TEST(APC, IncCas) { auto store = new_store(); bool found = false; store->set(s_key, Variant(1), 1500); EXPECT_EQ(store->inc(s_key, 1, found), 2); EXPECT_TRUE(found); EXPECT_EQ(store->inc(s_key, 1, found), 3); EXPECT_TRUE(found); EXPECT_EQ(store->inc(s_key, 1, found), 4); EXPECT_TRUE(found); EXPECT_EQ(store->inc(s_key, 1, found), 5); EXPECT_TRUE(found); store->set(s_key, Variant(1.0), 1500); EXPECT_EQ(store->inc(s_key, 1, found), 2); EXPECT_TRUE(found); EXPECT_EQ(store->inc(s_key, 1, found), 3); EXPECT_TRUE(found); EXPECT_EQ(store->inc(s_key, 1, found), 4); EXPECT_TRUE(found); EXPECT_EQ(store->inc(s_key, 1, found), 5); EXPECT_TRUE(found); store->set(s_key, Variant(1), 1500); EXPECT_TRUE(store->cas(s_key, 1, 2)); EXPECT_TRUE(store->cas(s_key, 2, 3)); EXPECT_TRUE(store->cas(s_key, 3, 4)); EXPECT_TRUE(store->cas(s_key, 4, 5)); EXPECT_FALSE(store->cas(s_key, 4, 5)); store->set(s_key, Variant(1.0), 1500); EXPECT_TRUE(store->cas(s_key, 1, 2)); EXPECT_TRUE(store->cas(s_key, 2, 3)); EXPECT_TRUE(store->cas(s_key, 3, 4)); EXPECT_TRUE(store->cas(s_key, 4, 5)); EXPECT_FALSE(store->cas(s_key, 4, 5)); // make sure it doesn't work on some non-doubles/ints store->set(s_key, Variant(s_value2), 1500); EXPECT_EQ(store->inc(s_key, 1, found), 0); EXPECT_FALSE(found); EXPECT_FALSE(store->cas(s_key, 1, 2)); store->eraseKey(s_key); EXPECT_EQ(store->inc(s_key, 1, found), 0); EXPECT_FALSE(found); EXPECT_FALSE(store->cas(s_key, 1, 2)); }