diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-11-25 14:44:46 +0200 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-12-02 13:46:51 +0200 |
commit | 6d4e5f57ec68751ca5857d72f444331f3674733e (patch) | |
tree | af0225f44a202ea37139dfe63c7bf9c8af84f995 /test/storage | |
parent | 4c49f0c9db68fe998e83ac7a0f3d095c3d2ffed1 (diff) | |
download | qtlocation-mapboxgl-6d4e5f57ec68751ca5857d72f444331f3674733e.tar.gz |
[core] Add OfflineDatabase.Pack unit test
Diffstat (limited to 'test/storage')
-rw-r--r-- | test/storage/offline_database.test.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/storage/offline_database.test.cpp b/test/storage/offline_database.test.cpp index e9164e7c66..ef7ad257d7 100644 --- a/test/storage/offline_database.test.cpp +++ b/test/storage/offline_database.test.cpp @@ -733,6 +733,36 @@ TEST(OfflineDatabase, TEST_REQUIRES_WRITE(DeleteRegion)) { EXPECT_EQ(0u, log.uncheckedCount()); } +TEST(OfflineDatabase, TEST_REQUIRES_WRITE(Pack)) { + FixtureLog log; + deleteDatabaseFiles(); + + OfflineDatabase db(filename); + size_t initialSize = util::read_file(filename).size(); + db.runPackDatabaseAutomatically(false); + + Response response; + response.data = randomString(.5 * 1024 * 1024); + + for (unsigned i = 0; i < 50; ++i) { + const Resource tile = Resource::tile("mapbox://tile_" + std::to_string(i), 1, 0, 0, 0, Tileset::Scheme::XYZ); + db.put(tile, response); + + const Resource style = Resource::style("mapbox://style_" + std::to_string(i)); + db.put(style, response); + } + size_t populatedSize = util::read_file(filename).size(); + ASSERT_GT(populatedSize, initialSize); + + db.clearAmbientCache(); + EXPECT_EQ(populatedSize, util::read_file(filename).size()); + EXPECT_EQ(0u, log.uncheckedCount()); + + db.pack(); + EXPECT_EQ(initialSize, util::read_file(filename).size()); + EXPECT_EQ(0u, log.uncheckedCount()); +} + TEST(OfflineDatabase, MapboxTileLimitExceeded) { FixtureLog log; |