@Test public void shouldSaveUploadedFile() throws Exception { MockMultipartFile multipartFile = new MockMultipartFile("file", "test.txt", "text/plain", "Spring Framework".getBytes()); this.mvc.perform(fileUpload("/").file(multipartFile)) .andExpect(status().isFound()) .andExpect(header().string("Location", "/")); then(this.storageService).should().store(multipartFile); }
throw new IllegalArgumentException("Currently multi-part file data uploading only works for " + POST); } else { request = MockMvcRequestBuilders.fileUpload(uri, pathParams);
/** * Issue a POST request to the provided URL with the given file passed as form data. * * @param resourceUri the url to issue the request to * @param formFieldName the form field name for the file to be posted * @param file the file to post */ @Override protected void postFileInternal(String resourceUri, String formFieldName, File file) { if (resourceUri.endsWith("/")) { resourceUri = resourceUri.substring(0, resourceUri.length() - 1); } MockMvc mvc = MockMvcBuilders.webAppContextSetup(wac).build(); try (FileInputStream fis = new FileInputStream(file)) { MockMultipartFile mFile = new MockMultipartFile(formFieldName, fis); MockMultipartHttpServletRequestBuilder request = MockMvcRequestBuilders.fileUpload(new URI(resourceUri)).file(mFile); request.requestAttr(RepositoryProvider.KEY, repoProvider); setLastResponse(mvc.perform(request).andReturn()); } catch (Exception e) { Throwables.propagate(e); } }
@Test public void testZipFileUploadReplace() throws Exception { // creates some database files for the tests Tuple<File, Tuple<String, String>> testFiles = createTestFiles(); File rootDirectory = testFiles.first; // zip store files File tempDirectory = Files.createTempDirectory("gwc-").toFile(); addFilesToDelete(tempDirectory); File zipFile = new File(tempDirectory, "replace.zip"); zipDirectory(Paths.get(rootDirectory.getPath()), zipFile); try (FileInputStream zipFileInputStream = new FileInputStream(zipFile)) { // perform the rest request MockMultipartFile zipUpload = new MockMultipartFile("file", zipFileInputStream); MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); // execute request mockMvc.perform( MockMvcRequestBuilders.fileUpload("/sqlite/replace") .file(zipUpload) .param("layer", "europe")) .andExpect(status().is(200)); // check that files were replaced checkThatStoreContainsReplacedTiles(testFiles.second.first, testFiles.second.second); } }
MockMvcRequestBuilders.fileUpload("/sqlite/replace") .file(fileUploadA) .param("layer", "europe") MockMvcRequestBuilders.fileUpload("/sqlite/replace") .file(fileUploadB) .param("layer", "europe")
@Test public void testLocalDirectoryReplace() throws Exception { // creates some database files for the tests Tuple<File, Tuple<String, String>> testFiles = createTestFiles(); File rootDirectory = testFiles.first; // perform the rest request MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); // execute request mockMvc.perform( MockMvcRequestBuilders.fileUpload("/sqlite/replace") .param("layer", "europe") .param("source", rootDirectory.getPath())) .andExpect(status().is(200)); // check that files were replaced checkThatStoreContainsReplacedTiles(testFiles.second.first, testFiles.second.second); }
final MockMultipartFile multipartFile = new MockMultipartFile(UPLOAD_FILE_PARAM, resource.getFilename(), null, resource.getInputStream()); builder = MockMvcRequestBuilders.fileUpload(SAVE_CYTOBANDS); actions = mvc() .perform(builder