MCPcopy Create free account
hub / github.com/CesiumGS/cesium-native / runResponseCacheTest

Function runResponseCacheTest

CesiumAsync/test/TestCacheAssetAccessor.cpp:101–138  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

99} // namespace
100
101bool runResponseCacheTest(
102 int statusCode,
103 const std::string& methodStr,
104 const HttpHeaders& httpHeaders) {
105 std::unique_ptr<IAssetResponse> mockResponse =
106 std::make_unique<MockAssetResponse>(
107 static_cast<uint16_t>(statusCode),
108 "app/json",
109 httpHeaders,
110 std::vector<std::byte>());
111
112 std::shared_ptr<IAssetRequest> mockRequest =
113 std::make_shared<MockAssetRequest>(
114 methodStr,
115 "test.com",
116 HttpHeaders{},
117 std::move(mockResponse));
118
119 std::unique_ptr<MockStoreCacheDatabase> ownedMockCacheDatabase =
120 std::make_unique<MockStoreCacheDatabase>();
121 MockStoreCacheDatabase* mockCacheDatabase = ownedMockCacheDatabase.get();
122
123 std::shared_ptr<CachingAssetAccessor> cacheAssetAccessor =
124 std::make_shared<CachingAssetAccessor>(
125 spdlog::default_logger(),
126 std::make_unique<MockAssetAccessor>(mockRequest),
127 std::move(ownedMockCacheDatabase));
128
129 std::shared_ptr<MockTaskProcessor> mockTaskProcessor =
130 std::make_shared<MockTaskProcessor>();
131
132 AsyncSystem asyncSystem(mockTaskProcessor);
133 cacheAssetAccessor
134 ->get(asyncSystem, "test.com", std::vector<IAssetAccessor::THeader>{})
135 .wait();
136
137 return mockCacheDatabase->storeResponseCall;
138}
139
140TEST_CASE("Test the condition of caching the request") {
141 SUBCASE("Cache request") {

Callers 1

Calls 2

getMethod · 0.45
waitMethod · 0.45

Tested by

no test coverage detected