@@ -26,9 +26,34 @@ public function testFromDeleteMultipleObjects()
2626 $ request = new Models \DeleteMultipleObjectsRequest ('bucket-123 ' );
2727 $ input = ObjectBasic::fromDeleteMultipleObjects ($ request );
2828 } catch (\InvalidArgumentException $ e ) {
29- $ this ->assertStringContainsString ("missing required field, objects " , (string )$ e );
29+ $ this ->assertStringContainsString ("missing required field, objects " , (string )$ e );
3030 }
3131
32+ try {
33+ $ request = new Models \DeleteMultipleObjectsRequest ('bucket-123 ' );
34+ $ request ->objects = [
35+ new Models \DeleteObject ('key1 ' ),
36+ new Models \DeleteObject ('key2 ' , 'version-id-2 ' ),
37+ ];
38+ $ request ->delete = new Models \Delete ([
39+ new Models \ObjectIdentifier ('key1 ' ),
40+ new Models \ObjectIdentifier ('key2 ' , 'version-id-2 ' ),
41+ ], true );
42+ $ input = ObjectBasic::fromDeleteMultipleObjects ($ request );
43+ } catch (\InvalidArgumentException $ e ) {
44+ $ this ->assertStringContainsString ("InvalidArgumentException: The objects and delete parameters cannot be set simultaneously " , (string )$ e );
45+ }
46+
47+ try {
48+ $ request = new Models \DeleteMultipleObjectsRequest ('bucket-123 ' );
49+ $ request ->delete = new Models \Delete ();
50+ $ request ->delete ->quiet = true ;
51+ $ input = ObjectBasic::fromDeleteMultipleObjects ($ request );
52+ } catch (\InvalidArgumentException $ e ) {
53+ $ this ->assertStringContainsString ("missing required field, delete.objects " , (string )$ e );
54+ }
55+
56+
3257 // bucket only
3358 $ request = new Models \DeleteMultipleObjectsRequest ('bucket-123 ' , []);
3459 $ input = ObjectBasic::fromDeleteMultipleObjects ($ request );
@@ -68,6 +93,10 @@ public function testFromDeleteMultipleObjects()
6893
6994
7095 // all settings
96+ $ xmlStr = <<<BBB
97+ <?xml version="1.0" encoding="UTF-8"?><Delete><Quiet>true</Quiet><Object><Key>key1</Key></Object><Object><Key>key2</Key><VersionId>version-id-2</VersionId></Object></Delete>
98+ BBB ;
99+
71100 $ request = new Models \DeleteMultipleObjectsRequest (
72101 'bucket-123 ' ,
73102 [
@@ -86,6 +115,7 @@ public function testFromDeleteMultipleObjects()
86115 $ this ->assertEquals ('url1 ' , $ input ->getParameters ()['encoding-type ' ]);
87116
88117 $ str = $ input ->getBody ()->getContents ();
118+ $ this ->assertEquals ($ xmlStr , $ this ->cleanXml ($ str ));
89119 $ this ->assertStringContainsString ('<Delete> ' , $ str );
90120 $ xml = \simplexml_load_string ($ str );
91121 $ this ->assertEquals (3 , $ xml ->count ());
@@ -106,14 +136,30 @@ public function testFromDeleteMultipleObjects()
106136 [
107137 'headers ' => ['x-oss-test ' => 'test-123 ' ],
108138 'parameters ' => ['x-oss-param ' => 'param-123 ' ]
109- ]
139+ ],
140+ null ,
110141 );
111142 $ input = ObjectBasic::fromDeleteMultipleObjects ($ request );
112143 $ this ->assertEquals ('bucket-123 ' , $ input ->getBucket ());
113144 $ this ->assertEquals ('application/xml ' , $ input ->getHeaders ()['content-type ' ]);
114145 $ this ->assertEquals ('D0iFyCSGo62Kd/zfca7aPg== ' , $ input ->getHeaders ()['content-md5 ' ]);
115146 $ this ->assertEquals ('test-123 ' , $ input ->getHeaders ()['x-oss-test ' ]);
116147 $ this ->assertEquals ('param-123 ' , $ input ->getParameters ()['x-oss-param ' ]);
148+
149+ $ request = new Models \DeleteMultipleObjectsRequest (
150+ 'bucket-123 ' ,
151+ );
152+ $ request ->delete = new Models \Delete (
153+ [
154+ new Models \ObjectIdentifier ('key1 ' ),
155+ new Models \ObjectIdentifier ('key2 ' , 'version-id-2 ' ),
156+ ], true
157+ );
158+ $ input = ObjectBasic::fromDeleteMultipleObjects ($ request );
159+ $ this ->assertEquals ('bucket-123 ' , $ input ->getBucket ());
160+ $ this ->assertEquals ('application/xml ' , $ input ->getHeaders ()['content-type ' ]);
161+ $ this ->assertEquals ('BesWzihB4UGzEXQLrXWg0w== ' , $ input ->getHeaders ()['content-md5 ' ]);
162+ $ this ->assertEquals ($ xmlStr , $ this ->cleanXml ($ input ->getBody ()->getContents ()));
117163 }
118164
119165 public function testToDeleteMultipleObjects ()
0 commit comments