@@ -2292,6 +2292,12 @@ TEST_F(Crud, single_document)
2292
2292
{
2293
2293
SKIP_IF_NO_XPLUGIN;
2294
2294
2295
+ /*
2296
+ Note: requires x-protocol support for 'upsert' flag and WL#10682
2297
+ (Mysqlx.CRUD.Update on top level document). The later is not implemented
2298
+ in 5.7 plugin.
2299
+ */
2300
+
2295
2301
SKIP_IF_SERVER_VERSION_LESS (8 , 0 , 3 );
2296
2302
2297
2303
cout << " Creating session..." << endl;
@@ -2318,22 +2324,26 @@ TEST_F(Crud, single_document)
2318
2324
EXPECT_TRUE (coll.getOne (" id1" ).isNull ());
2319
2325
2320
2326
// Replace existing document
2321
- EXPECT_TRUE (coll.replaceOne (" id3" , expr (" {\" name\" : \" qux\" }" )));
2327
+ EXPECT_EQ (1 , coll.replaceOne (" id3" , expr (" {\" name\" : \" qux\" }" ))
2328
+ .getAffectedItemsCount ());
2322
2329
EXPECT_EQ (string (" qux" ), coll.getOne (" id3" )[" name" ].get <string>());
2323
2330
2324
2331
// Ignore _id field on document and replace existing docment
2325
2332
// Document passed as string
2326
- EXPECT_TRUE (coll.replaceOne (" id3" , " {\" _id\" : \" id4\" , \" name\" : \" baz\" }" ));
2333
+ EXPECT_EQ (1 , coll.replaceOne (" id3" , " {\" _id\" : \" id4\" , \" name\" : \" baz\" }" )
2334
+ .getAffectedItemsCount ());
2327
2335
EXPECT_EQ (string (" baz" ), coll.getOne (" id3" )[" name" ].get <string>());
2328
2336
EXPECT_EQ (string (" id3" ), coll.getOne (" id3" )[" _id" ].get <string>());
2329
2337
2330
2338
// should not affect none
2331
- EXPECT_FALSE (coll.replaceOne (" id4" , expr (" {\" _id\" :\" id4\" , \" name\" : \" baz\" }" )));
2339
+ EXPECT_EQ (0 ,
2340
+ coll.replaceOne (" id4" , expr (" {\" _id\" :\" id4\" , \" name\" : \" baz\" }" ))
2341
+ .getAffectedItemsCount ());
2332
2342
2333
2343
// Using DbDoc
2334
2344
DbDoc doc (" {\" _id\" :\" id4\" , \" name\" : \" quux\" }" );
2335
2345
2336
- EXPECT_TRUE ( coll.replaceOne (" id3" , doc));
2346
+ EXPECT_EQ ( 1 , coll.replaceOne (" id3" , doc). getAffectedItemsCount ( ));
2337
2347
EXPECT_EQ (string (" quux" ), coll.getOne (" id3" )[" name" ].get <string>());
2338
2348
}
2339
2349
@@ -2356,11 +2366,13 @@ TEST_F(Crud, add_or_replace)
2356
2366
.add (" {\" _id\" :\" id3\" , \" name\" :\" baz\" }" )
2357
2367
.execute ();
2358
2368
2359
- EXPECT_TRUE (coll.addOrReplace (" id4" , " {\" name\" :\" zaz\" }" ));
2369
+ EXPECT_EQ (1 , coll.addOrReplaceOne (" id4" , " {\" name\" :\" zaz\" }" )
2370
+ .getAffectedItemsCount ());
2360
2371
// Check that the document was added
2361
2372
EXPECT_EQ (string (" zaz" ), coll.getOne (" id4" )[" name" ].get <string>());
2362
2373
2363
- EXPECT_FALSE (coll.addOrReplace (" id4" , " {\" name\" :\" zzz\" }" ));
2374
+ EXPECT_EQ (0 , coll.addOrReplaceOne (" id4" , " {\" name\" :\" zzz\" }" )
2375
+ .getAffectedItemsCount ());
2364
2376
// Check that the document was replaced
2365
2377
EXPECT_EQ (string (" zzz" ), coll.getOne (" id4" )[" name" ].get <string>());
2366
2378
0 commit comments