From 98792e9363a5d8a04fe6b486f598248fea8ca49e Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Mon, 12 Mar 2012 17:02:53 -0700 Subject: [PATCH] rgw: add more meaningful tests instances of encoded objects this completes #2140 Signed-off-by: Yehuda Sadeh --- src/rgw/rgw_cache.cc | 18 +++++++ src/rgw/rgw_common.cc | 48 ++++++++++++++++++ src/rgw/rgw_log.cc | 22 ++++++++ src/rgw/rgw_rados.cc | 114 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 202 insertions(+) diff --git a/src/rgw/rgw_cache.cc b/src/rgw/rgw_cache.cc index fc6cca0e9c5ca..de81ce3d59045 100644 --- a/src/rgw/rgw_cache.cc +++ b/src/rgw/rgw_cache.cc @@ -9,6 +9,9 @@ using namespace std; void ObjectMetaInfo::generate_test_instances(list& o) { + ObjectMetaInfo *m = new ObjectMetaInfo; + m->size = 1024 * 1024; + o.push_back(m); o.push_back(new ObjectMetaInfo); } @@ -20,6 +23,21 @@ void ObjectMetaInfo::dump(Formatter *f) const void ObjectCacheInfo::generate_test_instances(list& o) { + ObjectCacheInfo *i = new ObjectCacheInfo; + i->status = 0; + i->flags = CACHE_FLAG_MODIFY_XATTRS; + string s = "this is a string"; + string s2 = "this is a another string"; + bufferlist data, data2; + ::encode(s, data); + ::encode(s2, data2); + i->data = data; + i->xattrs["x1"] = data; + i->xattrs["x2"] = data2; + i->rm_xattrs["r2"] = data2; + i->rm_xattrs["r3"] = data; + i->meta.size = 512 * 1024; + o.push_back(i); o.push_back(new ObjectCacheInfo); } diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc index c38c130f069d2..f8ebb5ef644ea 100644 --- a/src/rgw/rgw_common.cc +++ b/src/rgw/rgw_common.cc @@ -51,6 +51,11 @@ void rgw_perf_stop(CephContext *cct) void RGWAccessKey::generate_test_instances(list& o) { + RGWAccessKey *k = new RGWAccessKey; + k->id = "id"; + k->key = "key"; + k->subuser = "subuser"; + o.push_back(k); o.push_back(new RGWAccessKey); } @@ -63,6 +68,10 @@ void RGWAccessKey::dump(Formatter *f) const void RGWSubUser::generate_test_instances(list& o) { + RGWSubUser *u = new RGWSubUser; + u->name = "name"; + u->perm_mask = 0xf; + o.push_back(u); o.push_back(new RGWSubUser); } @@ -74,6 +83,24 @@ void RGWSubUser::dump(Formatter *f) const void RGWUserInfo::generate_test_instances(list& o) { + RGWUserInfo *i = new RGWUserInfo; + i->auid = 1; + i->user_id = "user_id"; + i->display_name = "display_name"; + i->user_email = "user@email"; + RGWAccessKey k1, k2; + k1.id = "id1"; + k1.key = "key1"; + k2.id = "id2"; + k2.subuser = "subuser"; + RGWSubUser u; + u.name = "id2"; + u.perm_mask = 0x1; + i->access_keys[k1.id] = k1; + i->swift_keys[k2.id] = k2; + i->subusers[u.name] = u; + o.push_back(i); + o.push_back(new RGWUserInfo); } @@ -118,6 +145,8 @@ void RGWUserInfo::dump(Formatter *f) const void rgw_bucket::generate_test_instances(list& o) { + rgw_bucket *b = new rgw_bucket("name", "pool", "marker", 123); + o.push_back(b); o.push_back(new rgw_bucket); } @@ -131,6 +160,11 @@ void rgw_bucket::dump(Formatter *f) const void RGWBucketInfo::generate_test_instances(list& o) { + RGWBucketInfo *i = new RGWBucketInfo; + i->bucket = rgw_bucket("bucket", "pool", "marker", 10); + i->owner = "owner"; + i->flags = BUCKET_SUSPENDED; + o.push_back(i); o.push_back(new RGWBucketInfo); } @@ -145,6 +179,12 @@ void RGWBucketInfo::dump(Formatter *f) const void RGWBucketEnt::generate_test_instances(list& o) { + RGWBucketEnt *e = new RGWBucketEnt; + e->bucket = rgw_bucket("bucket", "pool", "marker", 10); + e->size = 1024; + e->size_rounded = 4096; + e->count = 1; + o.push_back(e); o.push_back(new RGWBucketEnt); } @@ -161,6 +201,11 @@ void RGWBucketEnt::dump(Formatter *f) const void RGWUploadPartInfo::generate_test_instances(list& o) { + RGWUploadPartInfo *i = new RGWUploadPartInfo; + i->num = 1; + i->size = 10 * 1024 * 1024; + i->etag = "etag"; + o.push_back(i); o.push_back(new RGWUploadPartInfo); } @@ -174,6 +219,9 @@ void RGWUploadPartInfo::dump(Formatter *f) const void rgw_obj::generate_test_instances(list& o) { + rgw_bucket b = rgw_bucket("bucket", "pool", "marker", 10); + rgw_obj *obj = new rgw_obj(b, "object"); + o.push_back(obj); o.push_back(new rgw_obj); } diff --git a/src/rgw/rgw_log.cc b/src/rgw/rgw_log.cc index fcc5d2a776d8f..afd4520f172cb 100644 --- a/src/rgw/rgw_log.cc +++ b/src/rgw/rgw_log.cc @@ -9,6 +9,23 @@ void rgw_log_entry::generate_test_instances(list& o) { + rgw_log_entry *e = new rgw_log_entry; + e->object_owner = "object_owner"; + e->bucket_owner = "bucket_owner"; + e->bucket = "bucket"; + e->remote_addr = "1.2.3.4"; + e->user = "user"; + e->obj = "obj"; + e->uri = "http://uri/bucket/obj"; + e->http_status = "200"; + e->error_code = "error_code"; + e->bytes_sent = 1024; + e->bytes_received = 512; + e->obj_size = 2048; + e->user_agent = "user_agent"; + e->referrer = "referrer"; + e->bucket_id = 10; + o.push_back(e); o.push_back(new rgw_log_entry); } @@ -36,6 +53,11 @@ void rgw_log_entry::dump(Formatter *f) const void rgw_intent_log_entry::generate_test_instances(list& o) { + rgw_intent_log_entry *e = new rgw_intent_log_entry; + rgw_bucket b("bucket", "pool", "marker", 10); + e->obj = rgw_obj(b, "object"); + e->intent = DEL_OBJ; + o.push_back(e); o.push_back(new rgw_intent_log_entry); } diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 4b5caf6143115..fe0e6939b322a 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -47,6 +47,10 @@ static RGWObjCategory main_category = RGW_OBJ_CATEGORY_MAIN; void rgw_bucket_pending_info::generate_test_instances(list& o) { + rgw_bucket_pending_info *i = new rgw_bucket_pending_info; + i->state = CLS_RGW_STATE_COMPLETE; + i->op = CLS_RGW_OP_DEL; + o.push_back(i); o.push_back(new rgw_bucket_pending_info); } @@ -59,6 +63,15 @@ void rgw_bucket_pending_info::dump(Formatter *f) const void rgw_bucket_dir_entry_meta::generate_test_instances(list& o) { + rgw_bucket_dir_entry_meta *m = new rgw_bucket_dir_entry_meta; + m->category = 1; + m->size = 100; + m->etag = "etag"; + m->owner = "owner"; + m->owner_display_name = "display name"; + m->tag = "tag"; + m->content_type = "content/type"; + o.push_back(m); o.push_back(new rgw_bucket_dir_entry_meta); } @@ -76,6 +89,23 @@ void rgw_bucket_dir_entry_meta::dump(Formatter *f) const void rgw_bucket_dir_entry::generate_test_instances(list& o) { + list l; + rgw_bucket_dir_entry_meta::generate_test_instances(l); + + list::iterator iter; + for (iter = l.begin(); iter != l.end(); ++iter) { + rgw_bucket_dir_entry_meta *m = *iter; + rgw_bucket_dir_entry *e = new rgw_bucket_dir_entry; + e->name = "name"; + e->epoch = 1234; + e->locator = "locator"; + e->exists = true; + e->meta = *m; + + o.push_back(e); + + delete m; + } o.push_back(new rgw_bucket_dir_entry); } @@ -102,6 +132,11 @@ void rgw_bucket_dir_entry::dump(Formatter *f) const void rgw_bucket_category_stats::generate_test_instances(list& o) { + rgw_bucket_category_stats *s = new rgw_bucket_category_stats; + s->total_size = 1024; + s->total_size_rounded = 4096; + s->num_entries = 2; + o.push_back(s); o.push_back(new rgw_bucket_category_stats); } @@ -114,6 +149,21 @@ void rgw_bucket_category_stats::dump(Formatter *f) const void rgw_bucket_dir_header::generate_test_instances(list& o) { + list l; + list::iterator iter; + rgw_bucket_category_stats::generate_test_instances(l); + + uint8_t i; + for (i = 0, iter = l.begin(); iter != l.end(); ++iter, ++i) { + rgw_bucket_dir_header *h = new rgw_bucket_dir_header; + rgw_bucket_category_stats *s = *iter; + h->stats[i] = *s; + + o.push_back(h); + + delete s; + } + o.push_back(new rgw_bucket_dir_header); } @@ -132,6 +182,30 @@ void rgw_bucket_dir_header::dump(Formatter *f) const void rgw_bucket_dir::generate_test_instances(list& o) { + list l; + list::iterator iter; + rgw_bucket_dir_header::generate_test_instances(l); + + uint8_t i; + for (i = 0, iter = l.begin(); iter != l.end(); ++iter, ++i) { + rgw_bucket_dir *d = new rgw_bucket_dir; + rgw_bucket_dir_header *h = *iter; + d->header = *h; + + list el; + list::iterator eiter; + for (eiter = el.begin(); eiter != el.end(); ++eiter) { + rgw_bucket_dir_entry *e = *eiter; + d->m[e->name] = *e; + + delete e; + } + + o.push_back(d); + + delete h; + } + o.push_back(new rgw_bucket_dir); } @@ -153,6 +227,12 @@ void rgw_bucket_dir::dump(Formatter *f) const void rgw_cls_obj_prepare_op::generate_test_instances(list& o) { + rgw_cls_obj_prepare_op *op = new rgw_cls_obj_prepare_op; + op->op = CLS_RGW_OP_ADD; + op->name = "name"; + op->tag = "tag"; + op->locator = "locator"; + o.push_back(op); o.push_back(new rgw_cls_obj_prepare_op); } @@ -166,6 +246,20 @@ void rgw_cls_obj_prepare_op::dump(Formatter *f) const void rgw_cls_obj_complete_op::generate_test_instances(list& o) { + rgw_cls_obj_complete_op *op = new rgw_cls_obj_complete_op; + op->op = CLS_RGW_OP_DEL; + op->name = "name"; + op->locator = "locator"; + op->epoch = 100; + op->tag = "tag"; + + list l; + rgw_bucket_dir_entry_meta::generate_test_instances(l); + list::iterator iter = l.begin(); + op->meta = *(*iter); + + o.push_back(op); + o.push_back(new rgw_cls_obj_complete_op); } @@ -183,6 +277,11 @@ void rgw_cls_obj_complete_op::dump(Formatter *f) const void rgw_cls_list_op::generate_test_instances(list& o) { + rgw_cls_list_op *op = new rgw_cls_list_op; + op->start_obj = "start_obj"; + op->num_entries = 100; + op->filter_prefix = "filter_prefix"; + o.push_back(op); o.push_back(new rgw_cls_list_op); } @@ -194,6 +293,21 @@ void rgw_cls_list_op::dump(Formatter *f) const void rgw_cls_list_ret::generate_test_instances(list& o) { + list l; + rgw_bucket_dir::generate_test_instances(l); + list::iterator iter; + for (iter = l.begin(); iter != l.end(); ++iter) { + rgw_bucket_dir *d = *iter; + + rgw_cls_list_ret *ret = new rgw_cls_list_ret; + ret->dir = *d; + ret->is_truncated = true; + + o.push_back(ret); + + delete d; + } + o.push_back(new rgw_cls_list_ret); } -- 2.39.5