public function FileUploadTest::testPostFileUploadDuplicateFile in Drupal 9
Same name and namespace in other branches
- 8 core/modules/jsonapi/tests/src/Functional/FileUploadTest.php \Drupal\Tests\jsonapi\Functional\FileUploadTest::testPostFileUploadDuplicateFile()
Tests using the file upload POST route with a duplicate file name.
A new file should be created with a suffixed name.
File
- core/
modules/ jsonapi/ tests/ src/ Functional/ FileUploadTest.php, line 423
Class
- FileUploadTest
- Tests binary data file upload route.
Namespace
Drupal\Tests\jsonapi\FunctionalCode
public function testPostFileUploadDuplicateFile() {
$this
->setUpAuthorization('POST');
$this
->config('jsonapi.settings')
->set('read_only', FALSE)
->save(TRUE);
$uri = Url::fromUri('base:' . static::$postUri);
// This request will have the default 'application/octet-stream' content
// type header.
$response = $this
->fileRequest($uri, $this->testFileData);
$this
->assertSame(201, $response
->getStatusCode());
// Make the same request again. The file should be saved as a new file
// entity that has the same file name but a suffixed file URI.
$response = $this
->fileRequest($uri, $this->testFileData);
$this
->assertSame(201, $response
->getStatusCode());
// Loading expected normalized data for file 2, the duplicate file.
$expected = $this
->getExpectedDocument(2, 'example_0.txt');
$this
->assertResponseData($expected, $response);
// Check the actual file data.
$this
->assertSame($this->testFileData, file_get_contents('public://foobar/example_0.txt'));
}