Skip to content

Commit 25b3cd6

Browse files
authored
Move GetData() tests to mock server. (#1039)
GetDataWithInvalidDataHandle and GetDataFromPartitionLatestVersionAsync are moved to mock server. Resolves: OLPEDGE-1970, OLPEDGE-1964 Signed-off-by: Kostiantyn Zvieriev <ext-kostiantyn.zvieriev@here.com>
1 parent cc9a334 commit 25b3cd6

File tree

2 files changed

+82
-49
lines changed

2 files changed

+82
-49
lines changed

tests/functional/olp-cpp-sdk-dataservice-read/DataserviceReadVersionedLayerClientTest.cpp

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -89,36 +89,6 @@ class DataserviceReadVersionedLayerClientTest : public ::testing::Test {
8989
std::shared_ptr<olp::client::OlpClientSettings> settings_;
9090
};
9191

92-
TEST_F(DataserviceReadVersionedLayerClientTest,
93-
GetDataFromPartitionLatestVersionAsync) {
94-
auto catalog = olp::client::HRN::FromString(
95-
CustomParameters::getArgument("dataservice_read_test_versioned_catalog"));
96-
auto layer =
97-
CustomParameters::getArgument("dataservice_read_test_versioned_layer");
98-
99-
auto catalog_client =
100-
std::make_unique<olp::dataservice::read::VersionedLayerClient>(
101-
catalog, layer, boost::none, *settings_);
102-
ASSERT_TRUE(catalog_client);
103-
104-
std::promise<dataservice_read::DataResponse> promise;
105-
std::future<dataservice_read::DataResponse> future = promise.get_future();
106-
auto partition = CustomParameters::getArgument(
107-
"dataservice_read_test_versioned_partition");
108-
auto token = catalog_client->GetData(
109-
olp::dataservice::read::DataRequest().WithPartitionId(partition),
110-
[&promise](dataservice_read::DataResponse response) {
111-
promise.set_value(response);
112-
});
113-
114-
ASSERT_NE(future.wait_for(kWaitTimeout), std::future_status::timeout);
115-
dataservice_read::DataResponse response = future.get();
116-
117-
EXPECT_SUCCESS(response);
118-
ASSERT_TRUE(response.GetResult() != nullptr);
119-
ASSERT_NE(response.GetResult()->size(), 0u);
120-
}
121-
12292
TEST_F(DataserviceReadVersionedLayerClientTest, PrefetchWideRange) {
12393
const auto catalog =
12494
olp::client::HRN::FromString(CustomParameters::getArgument(
@@ -413,25 +383,6 @@ TEST_F(DataserviceReadVersionedLayerClientTest, GetDataWithInvalidHrn) {
413383
data_response.GetError().GetHttpStatusCode());
414384
}
415385

416-
TEST_F(DataserviceReadVersionedLayerClientTest, GetDataWithInvalidDataHandle) {
417-
olp::client::HRN hrn(GetTestCatalog());
418-
419-
auto catalog_client =
420-
std::make_unique<olp::dataservice::read::VersionedLayerClient>(
421-
hrn, "testlayer", boost::none, *settings_);
422-
423-
auto request = olp::dataservice::read::DataRequest();
424-
request.WithDataHandle("invalidDataHandle");
425-
auto data_response = GetExecutionTime<dataservice_read::DataResponse>([&] {
426-
auto future = catalog_client->GetData(request);
427-
return future.GetFuture().get();
428-
});
429-
430-
ASSERT_FALSE(data_response.IsSuccessful());
431-
ASSERT_EQ(http::HttpStatusCode::NOT_FOUND,
432-
data_response.GetError().GetHttpStatusCode());
433-
}
434-
435386
TEST_F(DataserviceReadVersionedLayerClientTest, GetDataHandleWithInvalidLayer) {
436387
olp::client::HRN hrn(GetTestCatalog());
437388

tests/functional/olp-cpp-sdk-dataservice-read/VersionedLayerClientGetDataTest.cpp

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,13 @@ class VersionedLayerClientGetDataTest : public ::testing::Test {
5959
return "/query/v1/catalogs/" + hrn + "/layers/" + layer + "/partitions";
6060
}
6161

62+
std::string GenerateGetDataPath(const std::string& hrn,
63+
const std::string& layer,
64+
const std::string& data_handle) {
65+
return "/blob/v1/catalogs/" + hrn + "/layers/" + layer + "/data/" +
66+
data_handle;
67+
}
68+
6269
std::shared_ptr<olp::client::OlpClientSettings> settings_;
6370
std::shared_ptr<mockserver::MockServerHelper> mock_server_client_;
6471
};
@@ -229,4 +236,79 @@ TEST_F(VersionedLayerClientGetDataTest, GetDataWithPartitionIdVersion2) {
229236
EXPECT_TRUE(mock_server_client_->Verify());
230237
}
231238

239+
TEST_F(VersionedLayerClientGetDataTest,
240+
GetDataFromPartitionLatestVersionAsync) {
241+
const olp::client::HRN kHrn(kTestHrn);
242+
const auto kPartitionName = "269";
243+
const std::string tile_data =
244+
mockserver::ReadDefaultResponses::GenerateData();
245+
246+
auto partition = mockserver::ReadDefaultResponses::GeneratePartitionResponse(
247+
kPartitionName);
248+
auto data_handle = partition.GetDataHandle();
249+
olp::dataservice::read::model::Partitions partitions;
250+
partitions.SetPartitions({partition});
251+
252+
{
253+
mock_server_client_->MockAuth();
254+
mock_server_client_->MockLookupResourceApiResponse(
255+
mockserver::ApiDefaultResponses::GenerateResourceApisResponse(
256+
kTestHrn));
257+
mock_server_client_->MockGetVersionResponse(
258+
mockserver::ReadDefaultResponses::GenerateVersionResponse(kVersion));
259+
mock_server_client_->MockGetResponse(
260+
partitions, GenerateGetPartitionsPath(kTestHrn, kLayer));
261+
mock_server_client_->MockGetResponse(kLayer, data_handle, tile_data);
262+
}
263+
264+
olp::dataservice::read::VersionedLayerClient client(kHrn, kLayer, boost::none,
265+
*settings_);
266+
267+
std::promise<olp::dataservice::read::DataResponse> promise;
268+
std::future<olp::dataservice::read::DataResponse> future =
269+
promise.get_future();
270+
271+
auto token = client.GetData(
272+
olp::dataservice::read::DataRequest().WithPartitionId(kPartitionName),
273+
[&promise](olp::dataservice::read::DataResponse response) {
274+
promise.set_value(response);
275+
});
276+
277+
auto response = future.get();
278+
auto result = response.GetResult();
279+
280+
ASSERT_TRUE(response.IsSuccessful());
281+
ASSERT_EQ(result->size(), tile_data.size());
282+
EXPECT_TRUE(std::equal(tile_data.begin(), tile_data.end(), result->begin()));
283+
EXPECT_TRUE(mock_server_client_->Verify());
284+
}
285+
286+
TEST_F(VersionedLayerClientGetDataTest, GetDataWithInvalidDataHandle) {
287+
const olp::client::HRN kHrn(kTestHrn);
288+
constexpr auto kDataHandle = "invalidDataHandle";
289+
290+
{
291+
mock_server_client_->MockAuth();
292+
mock_server_client_->MockLookupResourceApiResponse(
293+
mockserver::ApiDefaultResponses::GenerateResourceApisResponse(
294+
kTestHrn));
295+
mock_server_client_->MockGetError(
296+
{olp::http::HttpStatusCode::NOT_FOUND, "Not found"},
297+
GenerateGetDataPath(kTestHrn, kLayer, kDataHandle));
298+
}
299+
300+
olp::dataservice::read::VersionedLayerClient client(kHrn, kLayer, boost::none,
301+
*settings_);
302+
303+
auto request = olp::dataservice::read::DataRequest();
304+
request.WithDataHandle(kDataHandle);
305+
auto future = client.GetData(request).GetFuture();
306+
auto response = future.get();
307+
308+
ASSERT_FALSE(response.IsSuccessful());
309+
ASSERT_EQ(olp::http::HttpStatusCode::NOT_FOUND,
310+
response.GetError().GetHttpStatusCode());
311+
EXPECT_TRUE(mock_server_client_->Verify());
312+
}
313+
232314
} // namespace

0 commit comments

Comments
 (0)