[test] add unit test for DefaultFileSource::setResourceTransform()
This commit is contained in:
@@ -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<AsyncRequest> 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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user