]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Add test for omap interface
authorHaomai Wang <haomaiwang@gmail.com>
Thu, 20 Feb 2014 03:42:55 +0000 (11:42 +0800)
committerHaomai Wang <haomaiwang@gmail.com>
Sat, 22 Feb 2014 13:04:59 +0000 (21:04 +0800)
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
src/test/objectstore/store_test.cc

index aa0b20b5e863b3d2d71c3609d003ac15e285084b..53f34809ac67bf4883290aafdb9ae4e14c51ac1a 100644 (file)
@@ -677,6 +677,28 @@ TEST_P(StoreTest, OMapTest) {
     ++i;
   }
 
+  {
+    bufferlist bl1;
+    bl1.append("omap_header");
+    ObjectStore::Transaction t;
+    t.omap_setheader(cid, hoid, bl1);
+    store->apply_transaction(t);
+
+    bufferlist bl2;
+    bl2.append("value");
+    map<string, bufferlist> to_add;
+    to_add.insert(pair<string, bufferlist>("key", bl2));
+    t.omap_setkeys(cid, hoid, to_add);
+    store->apply_transaction(t);
+
+    bufferlist bl3;
+    map<string, bufferlist> cur_attrs;
+    r = store->omap_get(cid, hoid, &bl3, &cur_attrs);
+    ASSERT_EQ(r, 0);
+    ASSERT_EQ(cur_attrs.size(), 1);
+    ASSERT_TRUE(bl3.contents_equal(bl1));
+  }
+
   ObjectStore::Transaction t;
   t.remove(cid, hoid);
   t.remove_collection(cid);