From f0ec9fb74b18d3346a477798af72c4c37c976d4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Fri, 17 Feb 2017 18:20:58 +0100 Subject: [test] add unit test for DefaultFileSource::setResourceTransform() --- test/storage/default_file_source.test.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'test/storage/default_file_source.test.cpp') diff --git a/test/storage/default_file_source.test.cpp b/test/storage/default_file_source.test.cpp index f4c23c4c7a..ffbeea1096 100644 --- a/test/storage/default_file_source.test.cpp +++ b/test/storage/default_file_source.test.cpp @@ -460,3 +460,33 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(NoCacheRefreshModifiedModified)) { loop.run(); } + +TEST(DefaultFileSource, TEST_REQUIRES_SERVER(SetResourceTransform)) { + util::RunLoop loop; + DefaultFileSource fs(":memory:", "."); + + // Translates the URL "localhost://test to http://127.0.0.1:3000/test + fs.setResourceTransform([](Resource::Kind, std::string&& url) -> std::string { + if (url == "localhost://test") { + return "http://127.0.0.1:3000/test"; + } else { + return std::move(url); + } + }); + + const Resource resource { Resource::Unknown, "localhost://test" }; + + std::unique_ptr req; + req = fs.request(resource, [&](Response res) { + req.reset(); + EXPECT_EQ(nullptr, res.error); + ASSERT_TRUE(res.data.get()); + EXPECT_EQ("Hello World!", *res.data); + EXPECT_FALSE(bool(res.expires)); + EXPECT_FALSE(bool(res.modified)); + EXPECT_FALSE(bool(res.etag)); + loop.stop(); + }); + + loop.run(); +} -- cgit v1.2.1