diff options
Diffstat (limited to 'test/storage/http_expires.cpp')
-rw-r--r-- | test/storage/http_expires.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/storage/http_expires.cpp b/test/storage/http_expires.cpp new file mode 100644 index 0000000000..0a37df8e37 --- /dev/null +++ b/test/storage/http_expires.cpp @@ -0,0 +1,35 @@ +#include "storage.hpp" + +#include <mbgl/storage/online_file_source.hpp> +#include <mbgl/util/chrono.hpp> +#include <mbgl/util/run_loop.hpp> +#include <mbgl/util/timer.hpp> + +TEST_F(Storage, HTTPRetryDelayOnExpiredTile) { + SCOPED_TEST(HTTPRetryDelayOnExpiredTile) + + using namespace mbgl; + + util::RunLoop loop; + OnlineFileSource fs; + + int counter = 0; + + const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test?expires=10000" }; + std::unique_ptr<FileRequest> req = fs.request(resource, [&](Response res) { + counter++; + EXPECT_EQ(nullptr, res.error); + EXPECT_GT(SystemClock::now(), res.expires); + }); + + util::Timer timer; + timer.start(Milliseconds(500), Duration::zero(), [&] () { + loop.stop(); + }); + + loop.run(); + + EXPECT_EQ(1, counter); + + HTTPRetryDelayOnExpiredTile.finish(); +} |