Skip to content

Commit f1f3c6b

Browse files
Revert "Refactored assertion about GetBatch successful response in tests"
Relates-To: OLPEDGE-708 This reverts commit ee0f18e. Signed-off-by: Mykhailo Kuchma <[email protected]>
1 parent 3878e9c commit f1f3c6b

File tree

2 files changed

+160
-59
lines changed

2 files changed

+160
-59
lines changed

tests/functional/olp-cpp-sdk-dataservice-write/DataserviceWriteVersionedLayerClientTest.cpp

Lines changed: 93 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ const std::string kEndpoint = "endpoint";
3636
const std::string kAppid = "dataservice_write_test_appid";
3737
const std::string kSecret = "dataservice_write_test_secret";
3838
const std::string kCatalog = "dataservice_write_test_catalog";
39+
const std::string kLayer = "layer";
40+
const std::string kLayer2 = "layer2";
41+
const std::string kLayerSdii = "layer_sdii";
3942
const std::string kVersionedLayer = "versioned_layer";
4043

4144
class DataserviceWriteVersionedLayerClientTest : public ::testing::Test {
@@ -145,10 +148,31 @@ TEST_F(DataserviceWriteVersionedLayerClientTest, StartBatch) {
145148
EXPECT_SUCCESS(get_batch_response);
146149
ASSERT_EQ(response.GetResult().GetId().value(),
147150
get_batch_response.GetResult().GetId().value());
148-
const auto state = get_batch_response.GetResult().GetDetails()->GetState();
149-
ASSERT_TRUE(state == "succeeded" || state == "submitted")
150-
<< "Where state: " << state
151-
<< " not equal neither: 'succeeded' nor 'submitted'";
151+
ASSERT_EQ("submitted",
152+
get_batch_response.GetResult().GetDetails()->GetState());
153+
154+
for (int i = 0; i < 100; ++i) {
155+
get_batch_response =
156+
versioned_client->GetBatch(response.GetResult()).GetFuture().get();
157+
158+
EXPECT_SUCCESS(get_batch_response);
159+
ASSERT_EQ(response.GetResult().GetId().value(),
160+
get_batch_response.GetResult().GetId().value());
161+
if (get_batch_response.GetResult().GetDetails()->GetState() !=
162+
"succeeded") {
163+
ASSERT_EQ("submitted",
164+
get_batch_response.GetResult().GetDetails()->GetState());
165+
} else {
166+
break;
167+
}
168+
}
169+
// There are can be a case that GetBatch() is not "succeeded", but in
170+
// "submitted" state even after 100 iterations,
171+
// which actually means that there are might be a problem on the server side,
172+
// (or just long delay). Thus, better to rewrite this test, or do not rely on
173+
// the real server, but use mocked server.
174+
// ASSERT_EQ("succeeded",
175+
// get_batch_response.GetResult().GetDetails()->GetState());
152176
}
153177

154178
TEST_F(DataserviceWriteVersionedLayerClientTest, DeleteClient) {
@@ -283,15 +307,28 @@ TEST_F(DataserviceWriteVersionedLayerClientTest, PublishToBatch) {
283307

284308
EXPECT_SUCCESS(complete_batch_response);
285309

286-
get_batch_response =
287-
versioned_client->GetBatch(response.GetResult()).GetFuture().get();
288-
EXPECT_SUCCESS(get_batch_response);
289-
ASSERT_EQ(response.GetResult().GetId().value(),
290-
get_batch_response.GetResult().GetId().value());
291-
const auto state = get_batch_response.GetResult().GetDetails()->GetState();
292-
ASSERT_TRUE(state == "succeeded" || state == "submitted")
293-
<< "Where state: " << state
294-
<< " not equal neither: 'succeeded' nor 'submitted'";
310+
for (int i = 0; i < 100; ++i) {
311+
get_batch_response =
312+
versioned_client->GetBatch(response.GetResult()).GetFuture().get();
313+
314+
EXPECT_SUCCESS(get_batch_response);
315+
ASSERT_EQ(response.GetResult().GetId().value(),
316+
get_batch_response.GetResult().GetId().value());
317+
if (get_batch_response.GetResult().GetDetails()->GetState() !=
318+
"succeeded") {
319+
ASSERT_EQ("submitted",
320+
get_batch_response.GetResult().GetDetails()->GetState());
321+
} else {
322+
break;
323+
}
324+
}
325+
// There are can be a case that GetBatch() is not "succeeded", but in
326+
// "submitted" state even after 100 iterations,
327+
// which actually means that there are might be a problem on the server side,
328+
// (or just long delay). Thus, better to rewrite this test, or do not rely on
329+
// the real server, but use mocked server.
330+
// ASSERT_EQ("succeeded",
331+
// get_batch_response.GetResult().GetDetails()->GetState());
295332
}
296333

297334
TEST_F(DataserviceWriteVersionedLayerClientTest, PublishToBatchDeleteClient) {
@@ -356,15 +393,27 @@ TEST_F(DataserviceWriteVersionedLayerClientTest, PublishToBatchDeleteClient) {
356393

357394
EXPECT_SUCCESS(complete_batch_response);
358395

359-
get_batch_response =
360-
versioned_client->GetBatch(response.GetResult()).GetFuture().get();
361-
EXPECT_SUCCESS(get_batch_response);
362-
ASSERT_EQ(response.GetResult().GetId().value(),
363-
get_batch_response.GetResult().GetId().value());
364-
const auto state = get_batch_response.GetResult().GetDetails()->GetState();
365-
ASSERT_TRUE(state == "succeeded" || state == "submitted")
366-
<< "Where state: " << state
367-
<< " not equal neither: 'succeeded' nor 'submitted'";
396+
for (int i = 0; i < 100; ++i) {
397+
get_batch_response =
398+
versioned_client->GetBatch(response.GetResult()).GetFuture().get();
399+
400+
EXPECT_SUCCESS(get_batch_response);
401+
ASSERT_EQ(response.GetResult().GetId().value(),
402+
get_batch_response.GetResult().GetId().value());
403+
if (get_batch_response.GetResult().GetDetails()->GetState() !=
404+
"succeeded") {
405+
ASSERT_EQ("submitted",
406+
get_batch_response.GetResult().GetDetails()->GetState());
407+
} else {
408+
break;
409+
}
410+
}
411+
// This check contradicts with the previous assertion - we can have a case,
412+
// when the state of the last (i == 99) get_batch_response is "submitted',
413+
// but not 'succeeded', thus, in the previous loop we accept such case
414+
// as a valid one, but here, we treat such case as an error.
415+
// ASSERT_EQ("succeeded",
416+
// get_batch_response.GetResult().GetDetails()->GetState());
368417
}
369418

370419
TEST_F(DataserviceWriteVersionedLayerClientTest, PublishToBatchMulti) {
@@ -425,15 +474,28 @@ TEST_F(DataserviceWriteVersionedLayerClientTest, PublishToBatchMulti) {
425474

426475
EXPECT_SUCCESS(complete_batch_response);
427476

428-
get_batch_response =
429-
versioned_client->GetBatch(response.GetResult()).GetFuture().get();
430-
EXPECT_SUCCESS(get_batch_response);
431-
ASSERT_EQ(response.GetResult().GetId().value(),
432-
get_batch_response.GetResult().GetId().value());
433-
const auto state = get_batch_response.GetResult().GetDetails()->GetState();
434-
ASSERT_TRUE(state == "succeeded" || state == "submitted")
435-
<< "Where state: " << state
436-
<< " not equal neither: 'succeeded' nor 'submitted'";
477+
for (int i = 0; i < 100; ++i) {
478+
get_batch_response =
479+
versioned_client->GetBatch(response.GetResult()).GetFuture().get();
480+
481+
EXPECT_SUCCESS(get_batch_response);
482+
ASSERT_EQ(response.GetResult().GetId().value(),
483+
get_batch_response.GetResult().GetId().value());
484+
if (get_batch_response.GetResult().GetDetails()->GetState() !=
485+
"succeeded") {
486+
ASSERT_EQ("submitted",
487+
get_batch_response.GetResult().GetDetails()->GetState());
488+
} else {
489+
break;
490+
}
491+
}
492+
// There are can be a case that GetBatch() is not "succeeded", but in
493+
// "submitted" state even after 100 iterations,
494+
// which actually means that there are might be a problem on the server side,
495+
// (or just long delay). Thus, better to rewrite this test, or do not rely on
496+
// the real server, but use mocked server.
497+
// ASSERT_EQ("succeeded",
498+
// get_batch_response.GetResult().GetDetails()->GetState());
437499
}
438500

439501
TEST_F(DataserviceWriteVersionedLayerClientTest, PublishToBatchCancel) {

tests/functional/olp-cpp-sdk-dataservice-write/DataserviceWriteVolatileLayerClientTest.cpp

Lines changed: 67 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -180,16 +180,28 @@ TEST_F(DataserviceWriteVolatileLayerClientTest, StartBatch) {
180180
.get();
181181
EXPECT_SUCCESS(complete_batch_response);
182182

183-
get_batch_response =
184-
volatile_client->GetBatch(response.GetResult()).GetFuture().get();
185-
EXPECT_SUCCESS(get_batch_response);
186-
ASSERT_EQ(response.GetResult().GetId().value(),
187-
get_batch_response.GetResult().GetId().value());
188-
189-
const auto state = get_batch_response.GetResult().GetDetails()->GetState();
190-
ASSERT_TRUE(state == "succeeded" || state == "submitted")
191-
<< "Where state: " << state
192-
<< " not equal neither: 'succeeded' nor 'submitted'";
183+
for (int i = 0; i < 100; ++i) {
184+
get_batch_response =
185+
volatile_client->GetBatch(response.GetResult()).GetFuture().get();
186+
187+
EXPECT_SUCCESS(get_batch_response);
188+
ASSERT_EQ(response.GetResult().GetId().value(),
189+
get_batch_response.GetResult().GetId().value());
190+
if (get_batch_response.GetResult().GetDetails()->GetState() !=
191+
"succeeded") {
192+
ASSERT_EQ("submitted",
193+
get_batch_response.GetResult().GetDetails()->GetState());
194+
} else {
195+
break;
196+
}
197+
}
198+
// There are can be a case that GetBatch() is not "succeeded", but in
199+
// "submitted" state even after 100 iterations,
200+
// which actually means that there are might be a problem on the server side,
201+
// (or just long delay). Thus, better to rewrite this test, or do not rely on
202+
// the real server, but use mocked server.
203+
// ASSERT_EQ("succeeded",
204+
// get_batch_response.GetResult().GetDetails()->GetState());
193205
}
194206

195207
TEST_F(DataserviceWriteVolatileLayerClientTest, PublishToBatch) {
@@ -220,15 +232,29 @@ TEST_F(DataserviceWriteVolatileLayerClientTest, PublishToBatch) {
220232
volatile_client->CompleteBatch(response.GetResult()).GetFuture().get();
221233
EXPECT_SUCCESS(complete_batch_response);
222234

223-
GetBatchResponse get_batch_response =
224-
volatile_client->GetBatch(response.GetResult()).GetFuture().get();
225-
EXPECT_SUCCESS(get_batch_response);
226-
ASSERT_EQ(response.GetResult().GetId().value(),
227-
get_batch_response.GetResult().GetId().value());
228-
const auto state = get_batch_response.GetResult().GetDetails()->GetState();
229-
ASSERT_TRUE(state == "succeeded" || state == "submitted")
230-
<< "Where state: " << state
231-
<< " not equal neither: 'succeeded' nor 'submitted'";
235+
GetBatchResponse get_batch_response;
236+
for (int i = 0; i < 100; ++i) {
237+
get_batch_response =
238+
volatile_client->GetBatch(response.GetResult()).GetFuture().get();
239+
240+
EXPECT_SUCCESS(get_batch_response);
241+
ASSERT_EQ(response.GetResult().GetId().value(),
242+
get_batch_response.GetResult().GetId().value());
243+
if (get_batch_response.GetResult().GetDetails()->GetState() !=
244+
"succeeded") {
245+
ASSERT_EQ("submitted",
246+
get_batch_response.GetResult().GetDetails()->GetState());
247+
} else {
248+
break;
249+
}
250+
}
251+
// There are can be a case that GetBatch() is not "succeeded", but in
252+
// "submitted" state even after 100 iterations,
253+
// which actually means that there are might be a problem on the server side,
254+
// (or just long delay). Thus, better to rewrite this test, or do not rely on
255+
// the real server, but use mocked server.
256+
// ASSERT_EQ("succeeded",
257+
// get_batch_response.GetResult().GetDetails()->GetState());
232258
}
233259

234260
TEST_F(DataserviceWriteVolatileLayerClientTest, PublishToBatchInvalid) {
@@ -309,15 +335,28 @@ TEST_F(DataserviceWriteVolatileLayerClientTest,
309335
.get();
310336
EXPECT_SUCCESS(complete_batch_response);
311337

312-
get_batch_response =
313-
volatile_client->GetBatch(response.GetResult()).GetFuture().get();
314-
EXPECT_SUCCESS(get_batch_response);
315-
ASSERT_EQ(response.GetResult().GetId().value(),
316-
get_batch_response.GetResult().GetId().value());
317-
const auto state = get_batch_response.GetResult().GetDetails()->GetState();
318-
ASSERT_TRUE(state == "succeeded" || state == "submitted")
319-
<< "Where state: " << state
320-
<< " not equal neither: 'succeeded' nor 'submitted'";
338+
for (int i = 0; i < 100; ++i) {
339+
get_batch_response =
340+
volatile_client->GetBatch(response.GetResult()).GetFuture().get();
341+
342+
EXPECT_SUCCESS(get_batch_response);
343+
ASSERT_EQ(response.GetResult().GetId().value(),
344+
get_batch_response.GetResult().GetId().value());
345+
if (get_batch_response.GetResult().GetDetails()->GetState() !=
346+
"succeeded") {
347+
ASSERT_EQ("submitted",
348+
get_batch_response.GetResult().GetDetails()->GetState());
349+
} else {
350+
break;
351+
}
352+
}
353+
// There are can be a case that GetBatch() is not "succeeded", but in
354+
// "submitted" state even after 100 iterations,
355+
// which actually means that there are might be a problem on the server side,
356+
// (or just long delay). Thus, better to rewrite this test, or do not rely on
357+
// the real server, but use mocked server.
358+
// ASSERT_EQ("succeeded",
359+
// get_batch_response.GetResult().GetDetails()->GetState());
321360
}
322361

323362
TEST_F(DataserviceWriteVolatileLayerClientTest, CancelAllRequests) {

0 commit comments

Comments
 (0)