@@ -334,7 +334,7 @@ TEST(AsyncClient, ComposeObject) {
334334 EXPECT_THAT (response, IsOkAndHolds (TestObject ()));
335335}
336336
337- TEST (AsyncClient, DeleteObject ) {
337+ TEST (AsyncClient, DeleteObject1 ) {
338338 auto mock = std::make_shared<MockAsyncConnection>();
339339 EXPECT_CALL (*mock, options)
340340 .WillRepeatedly (
@@ -345,17 +345,88 @@ TEST(AsyncClient, DeleteObject) {
345345 EXPECT_THAT (p.options .get <TestOption<0 >>(), " O0" );
346346 EXPECT_THAT (p.options .get <TestOption<1 >>(), " O1-function" );
347347 EXPECT_THAT (p.options .get <TestOption<2 >>(), " O2-function" );
348- EXPECT_EQ (p.request .bucket_name (), " test-bucket" );
349- EXPECT_EQ (p.request .object_name (), " test-object" );
350- EXPECT_EQ (p.request .GetOption <storage::IfGenerationMatch>().value_or (0 ),
351- 42 );
348+ auto constexpr kExpected = R"pb(
349+ bucket: "projects/_/buckets/test-bucket"
350+ object: "test-object"
351+ )pb" ;
352+ google::storage::v2::DeleteObjectRequest expected;
353+ EXPECT_TRUE (TextFormat::ParseFromString (kExpected , &expected));
354+ EXPECT_THAT (p.request , IsProtoEqual (expected));
352355 return make_ready_future (Status{});
353356 });
354357
355358 auto client = AsyncClient (mock);
356359 auto response = client
357- .DeleteObject (" test-bucket" , " test-object" ,
358- storage::IfGenerationMatch (42 ),
360+ .DeleteObject (BucketName (" test-bucket" ), " test-object" ,
361+ Options{}
362+ .set <TestOption<1 >>(" O1-function" )
363+ .set <TestOption<2 >>(" O2-function" ))
364+ .get ();
365+ EXPECT_THAT (response, IsOk ());
366+ }
367+
368+ TEST (AsyncClient, DeleteObject2) {
369+ auto mock = std::make_shared<MockAsyncConnection>();
370+ EXPECT_CALL (*mock, options)
371+ .WillRepeatedly (
372+ Return (Options{}.set <TestOption<0 >>(" O0" ).set <TestOption<1 >>(" O1" )));
373+
374+ EXPECT_CALL (*mock, DeleteObject)
375+ .WillOnce ([](AsyncConnection::DeleteObjectParams const & p) {
376+ EXPECT_THAT (p.options .get <TestOption<0 >>(), " O0" );
377+ EXPECT_THAT (p.options .get <TestOption<1 >>(), " O1-function" );
378+ EXPECT_THAT (p.options .get <TestOption<2 >>(), " O2-function" );
379+ auto constexpr kExpected = R"pb(
380+ bucket: "projects/_/buckets/test-bucket"
381+ object: "test-object"
382+ generation: 12345
383+ )pb" ;
384+ google::storage::v2::DeleteObjectRequest expected;
385+ EXPECT_TRUE (TextFormat::ParseFromString (kExpected , &expected));
386+ EXPECT_THAT (p.request , IsProtoEqual (expected));
387+ return make_ready_future (Status{});
388+ });
389+
390+ auto client = AsyncClient (mock);
391+ auto response =
392+ client
393+ .DeleteObject (BucketName (" test-bucket" ), " test-object" , 12345 ,
394+ Options{}
395+ .set <TestOption<1 >>(" O1-function" )
396+ .set <TestOption<2 >>(" O2-function" ))
397+ .get ();
398+ EXPECT_THAT (response, IsOk ());
399+ }
400+
401+ TEST (AsyncClient, DeleteObject3) {
402+ auto mock = std::make_shared<MockAsyncConnection>();
403+ EXPECT_CALL (*mock, options)
404+ .WillRepeatedly (
405+ Return (Options{}.set <TestOption<0 >>(" O0" ).set <TestOption<1 >>(" O1" )));
406+
407+ EXPECT_CALL (*mock, DeleteObject)
408+ .WillOnce ([](AsyncConnection::DeleteObjectParams const & p) {
409+ EXPECT_THAT (p.options .get <TestOption<0 >>(), " O0" );
410+ EXPECT_THAT (p.options .get <TestOption<1 >>(), " O1-function" );
411+ EXPECT_THAT (p.options .get <TestOption<2 >>(), " O2-function" );
412+ auto constexpr kExpected = R"pb(
413+ bucket: "test-only-invalid"
414+ object: "test-object"
415+ if_generation_match: 42
416+ )pb" ;
417+ google::storage::v2::DeleteObjectRequest expected;
418+ EXPECT_TRUE (TextFormat::ParseFromString (kExpected , &expected));
419+ EXPECT_THAT (p.request , IsProtoEqual (expected));
420+ return make_ready_future (Status{});
421+ });
422+
423+ auto client = AsyncClient (mock);
424+ google::storage::v2::DeleteObjectRequest request;
425+ request.set_bucket (" test-only-invalid" );
426+ request.set_object (" test-object" );
427+ request.set_if_generation_match (42 );
428+ auto response = client
429+ .DeleteObject (std::move (request),
359430 Options{}
360431 .set <TestOption<1 >>(" O1-function" )
361432 .set <TestOption<2 >>(" O2-function" ))
0 commit comments