+ when(httpRequest.getUploadedFile(anyString())).thenAnswer(new Answer<HTTPUploadedFile>() {
+ @Override
+ public HTTPUploadedFile answer(InvocationOnMock invocation) throws Throwable {
+ final String name = invocation.getArgument(0);
+ if (!uploadedFilesSources.containsKey(name)) {
+ return null;
+ }
+ return new HTTPUploadedFile() {
+ @Override
+ public String getContentType() {
+ return uploadedFilesContentTypes.get(name);
+ }
+
+ @Override
+ public Bucket getData() {
+ try (InputStream inputStream = getClass().getResourceAsStream(uploadedFilesSources.get(name))) {
+ byte[] bytes = ByteStreams.toByteArray(inputStream);
+ return new SimpleReadOnlyArrayBucket(bytes, 0, bytes.length);
+ } catch (IOException ioe1) {
+ return new NullBucket();
+ }
+ }
+
+ @Override
+ public String getFilename() {
+ return uploadedFilesNames.get(name);
+ }
+ };
+ }
+ });