Skip to content

Commit cc9a334

Browse files
Move tests to mock server (#1038)
Move following read versioned layer client tests to use mock server instead of real server to make tests more reliable. Moved tests: * GetDataWithHandle * GetDataWithInvalidLayerId * GetDataWithPartitionIdVersion2 Resolves: OLPEDGE-1972, OLPEDGE-1973, OLPEDGE-1974 Signed-off-by: Serhii Lozynskyi <ext-serhii.lozynskyi@here.com>
1 parent a64748f commit cc9a334

File tree

2 files changed

+101
-69
lines changed

2 files changed

+101
-69
lines changed

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

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -413,28 +413,6 @@ TEST_F(DataserviceReadVersionedLayerClientTest, GetDataWithInvalidHrn) {
413413
data_response.GetError().GetHttpStatusCode());
414414
}
415415

416-
TEST_F(DataserviceReadVersionedLayerClientTest, GetDataWithHandle) {
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("d5d73b64-7365-41c3-8faf-aa6ad5bab135");
425-
auto data_response = GetExecutionTime<dataservice_read::DataResponse>([&] {
426-
auto future = catalog_client->GetData(request);
427-
return future.GetFuture().get();
428-
});
429-
430-
EXPECT_SUCCESS(data_response);
431-
ASSERT_TRUE(data_response.GetResult() != nullptr);
432-
ASSERT_LT(0, data_response.GetResult()->size());
433-
std::string data_string(data_response.GetResult()->begin(),
434-
data_response.GetResult()->end());
435-
ASSERT_EQ("DT_2_0031", data_string);
436-
}
437-
438416
TEST_F(DataserviceReadVersionedLayerClientTest, GetDataWithInvalidDataHandle) {
439417
olp::client::HRN hrn(GetTestCatalog());
440418

@@ -495,29 +473,6 @@ TEST_F(DataserviceReadVersionedLayerClientTest, GetDataWithPartitionId) {
495473
ASSERT_EQ("DT_2_0031", data_string);
496474
}
497475

498-
TEST_F(DataserviceReadVersionedLayerClientTest,
499-
GetDataWithPartitionIdVersion2) {
500-
olp::client::HRN hrn(GetTestCatalog());
501-
502-
auto catalog_client =
503-
std::make_unique<olp::dataservice::read::VersionedLayerClient>(
504-
hrn, "testlayer", 2, *settings_);
505-
506-
auto request = olp::dataservice::read::DataRequest();
507-
request.WithPartitionId("269");
508-
auto data_response = GetExecutionTime<dataservice_read::DataResponse>([&] {
509-
auto future = catalog_client->GetData(request);
510-
return future.GetFuture().get();
511-
});
512-
513-
EXPECT_SUCCESS(data_response);
514-
ASSERT_TRUE(data_response.GetResult() != nullptr);
515-
ASSERT_LT(0, data_response.GetResult()->size());
516-
std::string data_string(data_response.GetResult()->begin(),
517-
data_response.GetResult()->end());
518-
ASSERT_EQ("DT_2_0031", data_string);
519-
}
520-
521476
TEST_F(DataserviceReadVersionedLayerClientTest,
522477
GetDataWithPartitionIdInvalidVersion) {
523478
olp::client::HRN hrn(GetTestCatalog());
@@ -619,25 +574,6 @@ TEST_F(DataserviceReadVersionedLayerClientTest,
619574
data_response.GetError().GetErrorCode());
620575
}
621576

622-
TEST_F(DataserviceReadVersionedLayerClientTest, GetDataWithInvalidLayerId) {
623-
olp::client::HRN hrn(GetTestCatalog());
624-
625-
auto catalog_client =
626-
std::make_unique<olp::dataservice::read::VersionedLayerClient>(
627-
hrn, "invalidLayer", boost::none, *settings_);
628-
629-
auto request = olp::dataservice::read::DataRequest();
630-
request.WithPartitionId("269");
631-
auto data_response = GetExecutionTime<dataservice_read::DataResponse>([&] {
632-
auto future = catalog_client->GetData(request);
633-
return future.GetFuture().get();
634-
});
635-
636-
ASSERT_FALSE(data_response.IsSuccessful());
637-
ASSERT_EQ(olp::client::ErrorCode::BadRequest,
638-
data_response.GetError().GetErrorCode());
639-
}
640-
641577
TEST_F(DataserviceReadVersionedLayerClientTest, GetDataWithEmptyField) {
642578
olp::client::HRN hrn(GetTestCatalog());
643579

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

Lines changed: 101 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,6 @@ const auto kTestHrn = "hrn:here:data::olp-here-test:hereos-internal-test";
3737
const auto kLayer = "testlayer";
3838
const auto kVersion = 44;
3939
constexpr auto kWaitTimeout = std::chrono::seconds(10);
40-
const auto kPartitionsResponsePath =
41-
"/query/v1/catalogs/hrn:here:data::olp-here-test:hereos-internal-test/"
42-
"layers/testlayer/partitions";
4340

4441
class VersionedLayerClientGetDataTest : public ::testing::Test {
4542
protected:
@@ -57,6 +54,11 @@ class VersionedLayerClientGetDataTest : public ::testing::Test {
5754
mock_server_client_.reset();
5855
}
5956

57+
std::string GenerateGetPartitionsPath(const std::string& hrn,
58+
const std::string& layer) {
59+
return "/query/v1/catalogs/" + hrn + "/layers/" + layer + "/partitions";
60+
}
61+
6062
std::shared_ptr<olp::client::OlpClientSettings> settings_;
6163
std::shared_ptr<mockserver::MockServerHelper> mock_server_client_;
6264
};
@@ -74,7 +76,7 @@ TEST_F(VersionedLayerClientGetDataTest, GetDataFromPartitionSync) {
7476
mockserver::ReadDefaultResponses::GenerateVersionResponse(kVersion));
7577
mock_server_client_->MockGetResponse(
7678
mockserver::ReadDefaultResponses::GeneratePartitionsResponse(1),
77-
kPartitionsResponsePath);
79+
GenerateGetPartitionsPath(kTestHrn, kLayer));
7880
mock_server_client_->MockGetResponse(
7981
kLayer, mockserver::ReadDefaultResponses::GenerateDataHandle(partition),
8082
data);
@@ -105,7 +107,7 @@ TEST_F(VersionedLayerClientGetDataTest, GetDataFromPartitionAsync) {
105107
mockserver::ReadDefaultResponses::GenerateVersionResponse(kVersion));
106108
mock_server_client_->MockGetResponse(
107109
mockserver::ReadDefaultResponses::GeneratePartitionsResponse(1),
108-
kPartitionsResponsePath);
110+
GenerateGetPartitionsPath(kTestHrn, kLayer));
109111
mock_server_client_->MockGetResponse(
110112
kLayer, mockserver::ReadDefaultResponses::GenerateDataHandle(partition),
111113
data);
@@ -133,4 +135,98 @@ TEST_F(VersionedLayerClientGetDataTest, GetDataFromPartitionAsync) {
133135
EXPECT_TRUE(mock_server_client_->Verify());
134136
}
135137

138+
TEST_F(VersionedLayerClientGetDataTest, GetDataWithHandle) {
139+
olp::client::HRN hrn(kTestHrn);
140+
141+
const auto data_handle =
142+
mockserver::ReadDefaultResponses::GenerateDataHandle("test");
143+
const auto data = mockserver::ReadDefaultResponses::GenerateData();
144+
145+
mock_server_client_->MockAuth();
146+
mock_server_client_->MockLookupResourceApiResponse(
147+
mockserver::ApiDefaultResponses::GenerateResourceApisResponse(kTestHrn));
148+
149+
mock_server_client_->MockGetResponse(kLayer, data_handle, data);
150+
151+
auto client = olp::dataservice::read::VersionedLayerClient(
152+
hrn, kLayer, boost::none, *settings_);
153+
154+
auto request = olp::dataservice::read::DataRequest();
155+
request.WithDataHandle(data_handle);
156+
157+
auto future = client.GetData(request);
158+
auto data_response = future.GetFuture().get();
159+
160+
EXPECT_SUCCESS(data_response);
161+
ASSERT_TRUE(data_response.GetResult() != nullptr);
162+
ASSERT_LT(0, data_response.GetResult()->size());
163+
std::string data_string(data_response.GetResult()->begin(),
164+
data_response.GetResult()->end());
165+
ASSERT_EQ(data, data_string);
166+
EXPECT_TRUE(mock_server_client_->Verify());
167+
}
168+
169+
TEST_F(VersionedLayerClientGetDataTest, GetDataWithInvalidLayerId) {
170+
olp::client::HRN hrn(kTestHrn);
171+
172+
const auto kInvalidLayer = "InvalidLayer";
173+
174+
mock_server_client_->MockAuth();
175+
mock_server_client_->MockLookupResourceApiResponse(
176+
mockserver::ApiDefaultResponses::GenerateResourceApisResponse(kTestHrn));
177+
mock_server_client_->MockGetVersionResponse(
178+
mockserver::ReadDefaultResponses::GenerateVersionResponse(kVersion));
179+
mock_server_client_->MockGetError(
180+
olp::client::ApiError(olp::http::HttpStatusCode::BAD_REQUEST),
181+
GenerateGetPartitionsPath(kTestHrn, kInvalidLayer));
182+
183+
auto client = olp::dataservice::read::VersionedLayerClient(
184+
hrn, kInvalidLayer, boost::none, *settings_);
185+
186+
auto request = olp::dataservice::read::DataRequest();
187+
request.WithPartitionId("269");
188+
189+
auto future = client.GetData(request);
190+
auto data_response = future.GetFuture().get();
191+
192+
ASSERT_FALSE(data_response.IsSuccessful());
193+
ASSERT_EQ(olp::client::ErrorCode::BadRequest,
194+
data_response.GetError().GetErrorCode());
195+
EXPECT_TRUE(mock_server_client_->Verify());
196+
}
197+
198+
TEST_F(VersionedLayerClientGetDataTest, GetDataWithPartitionIdVersion2) {
199+
olp::client::HRN hrn(kTestHrn);
200+
201+
auto partitions_model =
202+
mockserver::ReadDefaultResponses::GeneratePartitionsResponse(1);
203+
auto data_handle = partitions_model.GetPartitions()[0].GetDataHandle();
204+
auto data = mockserver::ReadDefaultResponses::GenerateData();
205+
206+
mock_server_client_->MockAuth();
207+
mock_server_client_->MockLookupResourceApiResponse(
208+
mockserver::ApiDefaultResponses::GenerateResourceApisResponse(kTestHrn));
209+
mock_server_client_->MockGetResponse(
210+
partitions_model, GenerateGetPartitionsPath(kTestHrn, kLayer));
211+
212+
mock_server_client_->MockGetResponse(kLayer, data_handle, data);
213+
214+
auto client =
215+
olp::dataservice::read::VersionedLayerClient(hrn, kLayer, 2, *settings_);
216+
217+
auto request = olp::dataservice::read::DataRequest();
218+
request.WithPartitionId("269");
219+
220+
auto future = client.GetData(request);
221+
auto data_response = future.GetFuture().get();
222+
223+
EXPECT_SUCCESS(data_response);
224+
ASSERT_TRUE(data_response.GetResult() != nullptr);
225+
ASSERT_LT(0, data_response.GetResult()->size());
226+
std::string data_string(data_response.GetResult()->begin(),
227+
data_response.GetResult()->end());
228+
ASSERT_EQ(data, data_string);
229+
EXPECT_TRUE(mock_server_client_->Verify());
230+
}
231+
136232
} // namespace

0 commit comments

Comments
 (0)