From fcf1be65b4e45191f1aaa910b3452cc2f14ea75e Mon Sep 17 00:00:00 2001 From: Alexander Shalamov Date: Mon, 27 Jan 2020 11:58:50 +0200 Subject: [core] Add unit test for pausing & resuming database fs --- next/test/CMakeLists.txt | 1 + test/storage/database_file_source.test.cpp | 25 +++++++++++++++++++++++++ test/test-files.json | 1 + 3 files changed, 27 insertions(+) create mode 100644 test/storage/database_file_source.test.cpp diff --git a/next/test/CMakeLists.txt b/next/test/CMakeLists.txt index 11d108bf3d..cb0519ade9 100644 --- a/next/test/CMakeLists.txt +++ b/next/test/CMakeLists.txt @@ -35,6 +35,7 @@ add_library( ${MBGL_ROOT}/test/src/mbgl/test/test.cpp ${MBGL_ROOT}/test/src/mbgl/test/util.cpp ${MBGL_ROOT}/test/storage/asset_file_source.test.cpp + ${MBGL_ROOT}/test/storage/database_file_source.test.cpp ${MBGL_ROOT}/test/storage/headers.test.cpp ${MBGL_ROOT}/test/storage/http_file_source.test.cpp ${MBGL_ROOT}/test/storage/local_file_source.test.cpp diff --git a/test/storage/database_file_source.test.cpp b/test/storage/database_file_source.test.cpp new file mode 100644 index 0000000000..579e9a8c57 --- /dev/null +++ b/test/storage/database_file_source.test.cpp @@ -0,0 +1,25 @@ +#include +#include +#include +#include +#include +#include + +#include + +using namespace mbgl; + +TEST(DatabaseFileSource, PauseResume) { + util::RunLoop loop; + + auto dbfs = FileSourceManager::get()->getFileSource(FileSourceType::Database, ResourceOptions{}); + dbfs->pause(); + + const Resource res{Resource::Unknown, "http://127.0.0.1:3000/test", {}, Resource::LoadingMethod::CacheOnly}; + auto req = dbfs->request(res, [&](const Response&) { loop.stop(); }); + + util::Timer resumeTimer; + resumeTimer.start(Milliseconds(5), Duration::zero(), [dbfs] { dbfs->resume(); }); + + loop.run(); +} \ No newline at end of file diff --git a/test/test-files.json b/test/test-files.json index 8691583765..3a4ad95722 100644 --- a/test/test-files.json +++ b/test/test-files.json @@ -36,6 +36,7 @@ "test/src/mbgl/test/test.cpp", "test/src/mbgl/test/util.cpp", "test/storage/asset_file_source.test.cpp", + "test/storage/database_file_source.test.cpp", "test/storage/headers.test.cpp", "test/storage/http_file_source.test.cpp", "test/storage/local_file_source.test.cpp", -- cgit v1.2.1