$this->
setUpAuthorization('POST'
);
// 404 when the field name is invalid.
$invalid_uri = Url::
fromUri('base:file/upload/entity_test/entity_test/field_rest_file_test_invalid'
);
$response =
$this->
fileRequest($invalid_uri,
$this->testFileData
);
$this->
assertResourceErrorResponse(404, 'Field "field_rest_file_test_invalid" does not exist',
$response);
// This request will have the default 'application/octet-stream' content
// type header.
$response =
$this->
fileRequest($uri,
$this->testFileData
);
$this->
assertSame(201,
$response->
getStatusCode());
$expected =
$this->
getExpectedNormalizedEntity();
$this->
assertResponseData($expected,
$response);
// Check the actual file data.
$this->
assertSame($this->testFileData,
file_get_contents('public://foobar/example.txt'
));
// Test the file again but using 'filename' in the Content-Disposition
// header with no 'file' prefix.
$response =
$this->
fileRequest($uri,
$this->testFileData,
['Content-Disposition' => 'filename="example.txt"'
]);
$this->
assertSame(201,
$response->
getStatusCode());
$expected =
$this->
getExpectedNormalizedEntity(2, 'example_0.txt'
);
$this->
assertResponseData($expected,
$response);