From 0da193e6d6bc448b6359907aa0b9475371353d1b Mon Sep 17 00:00:00 2001 From: "Frederick F. Kautz IV" Date: Sun, 25 Jan 2015 12:57:46 -0800 Subject: [PATCH] Adding paging count tests --- pkg/storage/inmemory/inmemory.go | 3 +++ pkg/storage/storage_api_suite.go | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/pkg/storage/inmemory/inmemory.go b/pkg/storage/inmemory/inmemory.go index 645ea1bd3..7b74660c1 100644 --- a/pkg/storage/inmemory/inmemory.go +++ b/pkg/storage/inmemory/inmemory.go @@ -95,6 +95,9 @@ func (storage *storage) ListObjects(bucket, prefix string, count int) []mstorage results = append(results, object.metadata) } } + if len(results) == count { + return results + } } return results } diff --git a/pkg/storage/storage_api_suite.go b/pkg/storage/storage_api_suite.go index 992ea9e7f..bea9395f2 100644 --- a/pkg/storage/storage_api_suite.go +++ b/pkg/storage/storage_api_suite.go @@ -57,6 +57,20 @@ func testMultipleObjectCreation(c *C, create func() Storage) { } func testPaging(c *C, create func() Storage) { + storage := create() + storage.StoreBucket("bucket") + storage.ListObjects("bucket", "", 1000) + c.Assert(len(storage.ListObjects("bucket", "", 1000)), Equals, 0) + for i := 1; i <= 1000; i++ { + key := "obj" + strconv.Itoa(i) + storage.StoreObject("bucket", key, bytes.NewBufferString(key)) + c.Assert(len(storage.ListObjects("bucket", "", i)), Equals, i) + } + for i := 1001; i <= 2000; i++ { + key := "obj" + strconv.Itoa(i) + storage.StoreObject("bucket", key, bytes.NewBufferString(key)) + c.Assert(len(storage.ListObjects("bucket", "", 1000)), Equals, 1000) + } } func testObjectOverwriteFails(c *C, create func() Storage) {