]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cls_rgw: add missing type tests
authorSage Weil <sage@inktank.com>
Fri, 12 Jul 2013 18:14:28 +0000 (11:14 -0700)
committerSage Weil <sage@inktank.com>
Fri, 12 Jul 2013 18:14:28 +0000 (11:14 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/cls/rgw/cls_rgw_ops.cc
src/cls/rgw/cls_rgw_ops.h
src/cls/rgw/cls_rgw_types.cc
src/cls/rgw/cls_rgw_types.h
src/test/encoding/types.h

index 3058083b274ad380f832c83af7418d9427fa7987..2ffc53c92bec93718c46c971f095234d2ed46eca 100644 (file)
@@ -2,7 +2,90 @@
 #include "cls/rgw/cls_rgw_ops.h"
 
 #include "common/Formatter.h"
+#include "common/ceph_json.h"
 
+void rgw_cls_tag_timeout_op::dump(Formatter *f) const
+{
+  f->dump_int("tag_timeout", tag_timeout);
+}
+
+void rgw_cls_tag_timeout_op::generate_test_instances(list<rgw_cls_tag_timeout_op*>& ls)
+{
+  ls.push_back(new rgw_cls_tag_timeout_op);
+  ls.push_back(new rgw_cls_tag_timeout_op);
+  ls.back()->tag_timeout = 23323;
+}
+
+void cls_rgw_gc_set_entry_op::dump(Formatter *f) const
+{
+  f->dump_unsigned("expiration_secs", expiration_secs);
+  f->open_object_section("obj_info");
+  info.dump(f);
+  f->close_section();
+}
+
+void cls_rgw_gc_set_entry_op::generate_test_instances(list<cls_rgw_gc_set_entry_op*>& ls)
+{
+  ls.push_back(new cls_rgw_gc_set_entry_op);
+  ls.push_back(new cls_rgw_gc_set_entry_op);
+  ls.back()->expiration_secs = 123;
+}
+
+void cls_rgw_gc_defer_entry_op::dump(Formatter *f) const
+{
+  f->dump_unsigned("expiration_secs", expiration_secs);
+  f->dump_string("tag", tag);
+}
+
+void cls_rgw_gc_defer_entry_op::generate_test_instances(list<cls_rgw_gc_defer_entry_op*>& ls)
+{
+  ls.push_back(new cls_rgw_gc_defer_entry_op);
+  ls.push_back(new cls_rgw_gc_defer_entry_op);
+  ls.back()->expiration_secs = 123;
+  ls.back()->tag = "footag";
+}
+
+void cls_rgw_gc_list_op::dump(Formatter *f) const
+{
+  f->dump_string("marker", marker);
+  f->dump_unsigned("max", max);
+}
+
+void cls_rgw_gc_list_op::generate_test_instances(list<cls_rgw_gc_list_op*>& ls)
+{
+  ls.push_back(new cls_rgw_gc_list_op);
+  ls.push_back(new cls_rgw_gc_list_op);
+  ls.back()->marker = "mymarker";
+  ls.back()->max = 2312;
+}
+
+void cls_rgw_gc_list_ret::dump(Formatter *f) const
+{
+  encode_json("entries", entries, f);
+  f->dump_int("truncated", (int)truncated);
+}
+
+void cls_rgw_gc_list_ret::generate_test_instances(list<cls_rgw_gc_list_ret*>& ls)
+{
+  ls.push_back(new cls_rgw_gc_list_ret);
+  ls.push_back(new cls_rgw_gc_list_ret);
+  ls.back()->entries.push_back(cls_rgw_gc_obj_info());
+  ls.back()->truncated = true;
+}
+
+
+void cls_rgw_gc_remove_op::dump(Formatter *f) const
+{
+  encode_json("tags", tags, f);
+}
+
+void cls_rgw_gc_remove_op::generate_test_instances(list<cls_rgw_gc_remove_op*>& ls)
+{
+  ls.push_back(new cls_rgw_gc_remove_op);
+  ls.push_back(new cls_rgw_gc_remove_op);
+  ls.back()->tags.push_back("tag1");
+  ls.back()->tags.push_back("tag2");
+}
 
 void rgw_cls_obj_prepare_op::generate_test_instances(list<rgw_cls_obj_prepare_op*>& o)
 {
@@ -101,3 +184,44 @@ void rgw_cls_list_ret::dump(Formatter *f) const
   f->dump_int("is_truncated", (int)is_truncated);
 }
 
+void cls_rgw_bi_log_list_op::dump(Formatter *f) const
+{
+  f->dump_string("marker", marker);
+  f->dump_unsigned("max", max);
+}
+
+void cls_rgw_bi_log_list_op::generate_test_instances(list<cls_rgw_bi_log_list_op*>& ls)
+{
+  ls.push_back(new cls_rgw_bi_log_list_op);
+  ls.push_back(new cls_rgw_bi_log_list_op);
+  ls.back()->marker = "mark";
+  ls.back()->max = 123;
+}
+
+void cls_rgw_bi_log_trim_op::dump(Formatter *f) const
+{
+  f->dump_string("start_marker", start_marker);
+  f->dump_string("end_marker", end_marker);
+}
+
+void cls_rgw_bi_log_trim_op::generate_test_instances(list<cls_rgw_bi_log_trim_op*>& ls)
+{
+  ls.push_back(new cls_rgw_bi_log_trim_op);
+  ls.push_back(new cls_rgw_bi_log_trim_op);
+  ls.back()->start_marker = "foo";
+  ls.back()->end_marker = "bar";
+}
+
+void cls_rgw_bi_log_list_ret::dump(Formatter *f) const
+{
+  encode_json("entries", entries, f);
+  f->dump_unsigned("truncated", (int)truncated);
+}
+
+void cls_rgw_bi_log_list_ret::generate_test_instances(list<cls_rgw_bi_log_list_ret*>& ls)
+{
+  ls.push_back(new cls_rgw_bi_log_list_ret);
+  ls.push_back(new cls_rgw_bi_log_list_ret);
+  ls.back()->entries.push_back(rgw_bi_log_entry());
+  ls.back()->truncated = true;
+}
index 850c6f94fb91a617a61a28422f8c88dc0b9809f0..8f0ecfbdd26cc56750511634d09f8765bf1071f5 100644 (file)
@@ -22,6 +22,8 @@ struct rgw_cls_tag_timeout_op
     ::decode(tag_timeout, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_cls_tag_timeout_op*>& ls);
 };
 WRITE_CLASS_ENCODER(rgw_cls_tag_timeout_op)
 
@@ -310,6 +312,9 @@ struct cls_rgw_gc_set_entry_op {
     ::decode(info, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<cls_rgw_gc_set_entry_op*>& ls);
 };
 WRITE_CLASS_ENCODER(cls_rgw_gc_set_entry_op)
 
@@ -331,6 +336,9 @@ struct cls_rgw_gc_defer_entry_op {
     ::decode(tag, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<cls_rgw_gc_defer_entry_op*>& ls);
 };
 WRITE_CLASS_ENCODER(cls_rgw_gc_defer_entry_op)
 
@@ -353,6 +361,9 @@ struct cls_rgw_gc_list_op {
     ::decode(max, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<cls_rgw_gc_list_op*>& ls);
 };
 WRITE_CLASS_ENCODER(cls_rgw_gc_list_op)
 
@@ -375,6 +386,9 @@ struct cls_rgw_gc_list_ret {
     ::decode(truncated, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<cls_rgw_gc_list_ret*>& ls);
 };
 WRITE_CLASS_ENCODER(cls_rgw_gc_list_ret)
 
@@ -394,6 +408,9 @@ struct cls_rgw_gc_remove_op {
     ::decode(tags, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<cls_rgw_gc_remove_op*>& ls);
 };
 WRITE_CLASS_ENCODER(cls_rgw_gc_remove_op)
 
@@ -416,6 +433,9 @@ struct cls_rgw_bi_log_list_op {
     ::decode(max, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<cls_rgw_bi_log_list_op*>& ls);
 };
 WRITE_CLASS_ENCODER(cls_rgw_bi_log_list_op)
 
@@ -438,6 +458,9 @@ struct cls_rgw_bi_log_trim_op {
     ::decode(end_marker, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<cls_rgw_bi_log_trim_op*>& ls);
 };
 WRITE_CLASS_ENCODER(cls_rgw_bi_log_trim_op)
 
@@ -460,6 +483,9 @@ struct cls_rgw_bi_log_list_ret {
     ::decode(truncated, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<cls_rgw_bi_log_list_ret*>& ls);
 };
 WRITE_CLASS_ENCODER(cls_rgw_bi_log_list_ret)
 
index 2adb78fd3f27917dbfc8ea4b977060cd791cbb20..f1c50bec546f07d0a55481ce2434900180558995 100644 (file)
@@ -66,12 +66,22 @@ void rgw_bucket_dir_entry::generate_test_instances(list<rgw_bucket_dir_entry*>&
   }
   o.push_back(new rgw_bucket_dir_entry);
 }
+
 void rgw_bucket_entry_ver::dump(Formatter *f) const
 {
   f->dump_int("pool", pool);
   f->dump_unsigned("epoch", epoch);
 }
 
+void rgw_bucket_entry_ver::generate_test_instances(list<rgw_bucket_entry_ver*>& ls)
+{
+  ls.push_back(new rgw_bucket_entry_ver);
+  ls.push_back(new rgw_bucket_entry_ver);
+  ls.back()->pool = 123;
+  ls.back()->epoch = 12322;
+}
+
+
 void rgw_bucket_dir_entry::dump(Formatter *f) const
 {
   f->dump_string("name", name);
@@ -139,6 +149,19 @@ void rgw_bi_log_entry::dump(Formatter *f) const
   f->close_section();
 }
 
+void rgw_bi_log_entry::generate_test_instances(list<rgw_bi_log_entry*>& ls)
+{
+  ls.push_back(new rgw_bi_log_entry);
+  ls.push_back(new rgw_bi_log_entry);
+  ls.back()->id = "midf";
+  ls.back()->object = "obj";
+  ls.back()->timestamp = utime_t(2, 3);
+  ls.back()->index_ver = 4323;
+  ls.back()->tag = "tagasdfds";
+  ls.back()->op = CLS_RGW_OP_DEL;
+  ls.back()->state = CLS_RGW_STATE_PENDING_MODIFY;
+}
+
 void rgw_bucket_category_stats::generate_test_instances(list<rgw_bucket_category_stats*>& o)
 {
   rgw_bucket_category_stats *s = new rgw_bucket_category_stats;
index 56433e8d42441ed7ed18a33aa01a288c29e35bbe..1ed56ba0da89556c6b797a648c7ec9c7853fb0d7 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "include/types.h"
 #include "include/utime.h"
+#include "common/Formatter.h"
 
 #define CEPH_RGW_REMOVE 'r'
 #define CEPH_RGW_UPDATE 'u'
@@ -255,7 +256,7 @@ struct rgw_bi_log_entry {
   uint64_t index_ver;
   string tag;
 
-  rgw_bi_log_entry() : op(CLS_RGW_OP_UNKNOWN), index_ver(0) {}
+  rgw_bi_log_entry() : op(CLS_RGW_OP_UNKNOWN), state(CLS_RGW_STATE_PENDING_MODIFY), index_ver(0) {}
 
   void encode(bufferlist &bl) const {
     ENCODE_START(1, 1, bl);
@@ -568,6 +569,19 @@ struct cls_rgw_obj {
     ::decode(key, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const {
+    f->dump_string("pool", pool);
+    f->dump_string("oid", oid);
+    f->dump_string("key", key);
+  }
+  static void generate_test_instances(list<cls_rgw_obj*>& ls) {
+    ls.push_back(new cls_rgw_obj);
+    ls.push_back(new cls_rgw_obj);
+    ls.back()->pool = "mypool";
+    ls.back()->oid = "myoid";
+    ls.back()->key = "mykey";
+  }
 };
 WRITE_CLASS_ENCODER(cls_rgw_obj)
 
@@ -595,6 +609,19 @@ struct cls_rgw_obj_chain {
     ::decode(objs, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const {
+    f->open_array_section("objs");
+    for (list<cls_rgw_obj>::const_iterator p = objs.begin(); p != objs.end(); ++p) {
+      f->open_object_section("obj");
+      p->dump(f);
+      f->close_section();
+    }
+    f->close_section();
+  }
+  static void generate_test_instances(list<cls_rgw_obj_chain*>& ls) {
+    ls.push_back(new cls_rgw_obj_chain);
+  }
 };
 WRITE_CLASS_ENCODER(cls_rgw_obj_chain)
 
@@ -606,7 +633,6 @@ struct cls_rgw_gc_obj_info
 
   cls_rgw_gc_obj_info() {}
 
-
   void encode(bufferlist& bl) const {
     ENCODE_START(1, 1, bl);
     ::encode(tag, bl);
@@ -622,6 +648,20 @@ struct cls_rgw_gc_obj_info
     ::decode(time, bl);
     DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const {
+    f->dump_string("tag", tag);
+    f->open_object_section("chain");
+    chain.dump(f);
+    f->close_section();
+    f->dump_stream("time") << time;
+  }
+  static void generate_test_instances(list<cls_rgw_gc_obj_info*>& ls) {
+    ls.push_back(new cls_rgw_gc_obj_info);
+    ls.push_back(new cls_rgw_gc_obj_info);
+    ls.back()->tag = "footag";
+    ls.back()->time = utime_t(21, 32);
+  }
 };
 WRITE_CLASS_ENCODER(cls_rgw_gc_obj_info)
 
index ee389d653d2121d16424a24c5c36cba47b64b0ef..fd10d28f119520d5a15c5584666e0227ec07f338 100644 (file)
@@ -201,12 +201,28 @@ TYPE(rgw_bucket_dir_entry)
 TYPE(rgw_bucket_category_stats)
 TYPE(rgw_bucket_dir_header)
 TYPE(rgw_bucket_dir)
+TYPE(rgw_bucket_entry_ver)
 
 #include "cls/rgw/cls_rgw_ops.h"
 TYPE(rgw_cls_obj_prepare_op)
 TYPE(rgw_cls_obj_complete_op)
 TYPE(rgw_cls_list_op)
 TYPE(rgw_cls_list_ret)
+TYPE(cls_rgw_gc_defer_entry_op)
+TYPE(cls_rgw_gc_list_op)
+TYPE(cls_rgw_gc_list_ret)
+TYPE(cls_rgw_gc_obj_info)
+TYPE(cls_rgw_gc_remove_op)
+TYPE(cls_rgw_gc_set_entry_op)
+TYPE(cls_rgw_obj)
+TYPE(cls_rgw_obj_chain)
+TYPE(rgw_cls_tag_timeout_op)
+TYPE(cls_rgw_bi_log_list_op)
+TYPE(cls_rgw_bi_log_trim_op)
+TYPE(cls_rgw_bi_log_list_ret)
+
+#include "cls/rgw/cls_rgw_client.h"
+TYPE(rgw_bi_log_entry)
 
 #include "rgw/rgw_common.h"
 TYPE(RGWAccessKey);