До сих пор (до Play 2.3) для создания фиктивного запроса я использовал Helpers.fakeRequest().withAnyContent()
. Например.
private Request getMultiPartFormDataRequestForFileUpload(File file,
String filePartKey, String contentType) {
FilePart<TemporaryFile> part = new MultipartFormData.FilePart<>(
filePartKey, file.getName(), Scala.Option(contentType),
new TemporaryFile(file));
List<FilePart<TemporaryFile>> fileParts = new ArrayList<>();
fileParts.add(part);
scala.collection.immutable.List<FilePart<TemporaryFile>> files = scala.collection.JavaConversions
.asScalaBuffer(fileParts).toList();
MultipartFormData<TemporaryFile> formData = new MultipartFormData<TemporaryFile>(
null, files, null, null);
return Helpers.fakeRequest().withAnyContent(formData);
}
В Play 2.4 это больше невозможно. Если я посмотрю на источник RequestBuilder (который реализован FakeRequest) похожая функция существует, но она защищена и я не могу ее использовать.
protected Http.RequestBuilder body(play.api.mvc.AnyContent anyContent)
Set a AnyContent to this request.
Кто-нибудь знает, как я могу написать тестовый пример для проверки загрузки файла с помощью MultipartFormData в версии 2.4?