@@ -71,11 +71,11 @@ public function testWopiGetFileInfo(): void {
71
71
];
72
72
73
73
$ request = $ this ->createRequest ();
74
- $ this ->assertJsonResponseOk ($ expected_response_data , $ request );
74
+ $ this ->assertSame ($ expected_response_data , $ this -> assertJsonResponseOk ( $ request) );
75
75
76
76
$ request = $ this ->createRequest (write: TRUE );
77
77
$ expected_response_data ['UserCanWrite ' ] = TRUE ;
78
- $ this ->assertJsonResponseOk ($ expected_response_data , $ request );
78
+ $ this ->assertSame ($ expected_response_data , $ this -> assertJsonResponseOk ( $ request) );
79
79
80
80
// Create a user picture, and attach it to the user.
81
81
$ user_picture_file = $ this ->createUserPicture ($ this ->user );
@@ -89,7 +89,7 @@ public function testWopiGetFileInfo(): void {
89
89
$ expected_response_data ['UserExtraInfo ' ]['avatar ' ] = 'http://localhost/ ' . $ user_picture_realpath ;
90
90
91
91
$ request = $ this ->createRequest ();
92
- $ this ->assertJsonResponseOk ($ expected_response_data , $ request );
92
+ $ this ->assertSame ($ expected_response_data , $ this -> assertJsonResponseOk ( $ request) );
93
93
}
94
94
95
95
/**
@@ -216,17 +216,21 @@ protected function doTestWopiPutFile(
216
216
$ request ->headers ->add ($ request_headers );
217
217
218
218
$ request_time = \Drupal::time ()->getRequestTime ();
219
- $ this ->assertJsonResponseOk (
220
- [
221
- 'LastModifiedTime ' => DateTimeHelper::format ($ request_time ),
222
- ],
223
- $ request ,
224
- );
219
+ $ response_data = $ this ->assertJsonResponseOk ($ request );
225
220
226
221
$ media = Media::load ($ this ->media ->id ());
227
222
$ file = $ this ->loadCurrentMediaFile ();
228
223
224
+ $ this ->assertSame ([
225
+ 'LastModifiedTime ' => DateTimeHelper::format ($ file ->getChangedTime ()),
226
+ ], $ response_data );
227
+
229
228
// File entity and content are updated.
229
+ // The changed timestamp in $file is filled from TestTime->getRequestTime(),
230
+ // which should always produce the same result during one request/process,
231
+ // but does not, due to a bug in datetime_testing.
232
+ // See https://www.drupal.org/project/datetime_testing/issues/3513073
233
+ $ this ->assertLessThanOrEqual (1 , abs ($ request_time - $ file ->getChangedTime ()));
230
234
$ this ->assertSame ($ request_time , $ file ->getChangedTime ());
231
235
$ actual_file_content = file_get_contents ($ file ->getFileUri ());
232
236
$ this ->assertSame ($ new_file_content , $ actual_file_content );
@@ -326,12 +330,11 @@ public function testWopiPutFileConflict(): void {
326
330
$ wopi_changed_time = \DateTimeImmutable::createFromFormat ('U ' , (string ) ($ this ->file ->getChangedTime () + 1000 ));
327
331
$ request ->headers ->set ('x-cool-wopi-timestamp ' , $ wopi_changed_time ->format (\DateTimeInterface::ATOM ));
328
332
329
- $ this ->assertJsonResponse (
330
- Response::HTTP_CONFLICT ,
333
+ $ this ->assertSame (
331
334
[
332
335
'COOLStatusCode ' => 1010 ,
333
336
],
334
- $ request ,
337
+ $ this -> assertJsonResponse (Response:: HTTP_CONFLICT , $ request) ,
335
338
);
336
339
$ this ->assertLogMessage (
337
340
RfcLogLevel::ERROR ,
0 commit comments