diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/storage/offline_database.cpp | 50 |
1 files changed, 37 insertions, 13 deletions
diff --git a/test/storage/offline_database.cpp b/test/storage/offline_database.cpp index 3a731e3995..563c6f31dc 100644 --- a/test/storage/offline_database.cpp +++ b/test/storage/offline_database.cpp @@ -309,12 +309,24 @@ TEST(OfflineDatabase, PutResource) { Resource resource { Resource::Style, "http://example.com/" }; Response response; - response.data = std::make_shared<std::string>("data"); - db.put(resource, response); - auto res = db.get(resource); - EXPECT_EQ(nullptr, res->error.get()); - EXPECT_EQ("data", *res->data); + response.data = std::make_shared<std::string>("first"); + auto insertPutResult = db.put(resource, response); + EXPECT_TRUE(insertPutResult.first); + EXPECT_EQ(5, insertPutResult.second); + + auto insertGetResult = db.get(resource); + EXPECT_EQ(nullptr, insertGetResult->error.get()); + EXPECT_EQ("first", *insertGetResult->data); + + response.data = std::make_shared<std::string>("second"); + auto updatePutResult = db.put(resource, response); + EXPECT_FALSE(updatePutResult.first); + EXPECT_EQ(6, updatePutResult.second); + + auto updateGetResult = db.get(resource); + EXPECT_EQ(nullptr, updateGetResult->error.get()); + EXPECT_EQ("second", *updateGetResult->data); } TEST(OfflineDatabase, PutTile) { @@ -331,12 +343,24 @@ TEST(OfflineDatabase, PutTile) { 0 }; Response response; - response.data = std::make_shared<std::string>("data"); - db.put(resource, response); - auto res = db.get(resource); - EXPECT_EQ(nullptr, res->error.get()); - EXPECT_EQ("data", *res->data); + response.data = std::make_shared<std::string>("first"); + auto insertPutResult = db.put(resource, response); + EXPECT_TRUE(insertPutResult.first); + EXPECT_EQ(5, insertPutResult.second); + + auto insertGetResult = db.get(resource); + EXPECT_EQ(nullptr, insertGetResult->error.get()); + EXPECT_EQ("first", *insertGetResult->data); + + response.data = std::make_shared<std::string>("second"); + auto updatePutResult = db.put(resource, response); + EXPECT_FALSE(updatePutResult.first); + EXPECT_EQ(6, updatePutResult.second); + + auto updateGetResult = db.get(resource); + EXPECT_EQ(nullptr, updateGetResult->error.get()); + EXPECT_EQ("second", *updateGetResult->data); } TEST(OfflineDatabase, PutResourceNoContent) { @@ -503,15 +527,15 @@ TEST(OfflineDatabase, PutReturnsSize) { Response compressible; compressible.data = std::make_shared<std::string>(1024, 0); - EXPECT_EQ(17, db.put(Resource::style("http://example.com/compressible"), compressible)); + EXPECT_EQ(17, db.put(Resource::style("http://example.com/compressible"), compressible).second); Response incompressible; incompressible.data = randomString(1024); - EXPECT_EQ(1024, db.put(Resource::style("http://example.com/incompressible"), incompressible)); + EXPECT_EQ(1024, db.put(Resource::style("http://example.com/incompressible"), incompressible).second); Response noContent; noContent.noContent = true; - EXPECT_EQ(0, db.put(Resource::style("http://example.com/noContent"), noContent)); + EXPECT_EQ(0, db.put(Resource::style("http://example.com/noContent"), noContent).second); } TEST(OfflineDatabase, PutEvictsLeastRecentlyUsedResources) { |