@Test public void resolveMultiValueMapOfString() throws Exception { String name = "foo"; String value1 = "bar"; String value2 = "baz"; request.addParameter(name, value1, value2); MultiValueMap<String, String> expected = new LinkedMultiValueMap<>(1); expected.add(name, value1); expected.add(name, value2); MethodParameter param = this.testMethod.annotPresent(RequestParam.class).arg(MultiValueMap.class, String.class, String.class); Object result = resolver.resolveArgument(param, null, webRequest, null); assertTrue(result instanceof MultiValueMap); assertEquals("Invalid result", expected, result); }
@Test public void resolveMapOfString() throws Exception { String name = "foo"; String value = "bar"; request.addParameter(name, value); Map<String, String> expected = Collections.singletonMap(name, value); MethodParameter param = this.testMethod.annot(requestParam().noName()).arg(Map.class, String.class, String.class); Object result = resolver.resolveArgument(param, null, webRequest, null); assertTrue(result instanceof Map); assertEquals("Invalid result", expected, result); }
@Test @SuppressWarnings("unchecked") public void resolveMapOfMultipartFile() throws Exception { MockMultipartHttpServletRequest request = new MockMultipartHttpServletRequest(); MultipartFile expected1 = new MockMultipartFile("mfile", "Hello World".getBytes()); MultipartFile expected2 = new MockMultipartFile("other", "Hello World 3".getBytes()); request.addFile(expected1); request.addFile(expected2); webRequest = new ServletWebRequest(request); MethodParameter param = this.testMethod.annot(requestParam().noName()).arg(Map.class, String.class, MultipartFile.class); Object result = resolver.resolveArgument(param, null, webRequest, null); assertTrue(result instanceof Map); Map<String, MultipartFile> resultMap = (Map<String, MultipartFile>) result; assertEquals(2, resultMap.size()); assertEquals(expected1, resultMap.get("mfile")); assertEquals(expected2, resultMap.get("other")); }
@Test @SuppressWarnings("unchecked") public void resolveMapOfPart() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); request.setContentType("multipart/form-data"); Part expected1 = new MockPart("mfile", "Hello World".getBytes()); Part expected2 = new MockPart("other", "Hello World 3".getBytes()); request.addPart(expected1); request.addPart(expected2); webRequest = new ServletWebRequest(request); MethodParameter param = this.testMethod.annot(requestParam().noName()).arg(Map.class, String.class, Part.class); Object result = resolver.resolveArgument(param, null, webRequest, null); assertTrue(result instanceof Map); Map<String, Part> resultMap = (Map<String, Part>) result; assertEquals(2, resultMap.size()); assertEquals(expected1, resultMap.get("mfile")); assertEquals(expected2, resultMap.get("other")); }
@Test @SuppressWarnings("unchecked") public void resolveMultiValueMapOfMultipartFile() throws Exception { MockMultipartHttpServletRequest request = new MockMultipartHttpServletRequest(); MultipartFile expected1 = new MockMultipartFile("mfilelist", "Hello World 1".getBytes()); MultipartFile expected2 = new MockMultipartFile("mfilelist", "Hello World 2".getBytes()); MultipartFile expected3 = new MockMultipartFile("other", "Hello World 3".getBytes()); request.addFile(expected1); request.addFile(expected2); request.addFile(expected3); webRequest = new ServletWebRequest(request); MethodParameter param = this.testMethod.annot(requestParam().noName()).arg(MultiValueMap.class, String.class, MultipartFile.class); Object result = resolver.resolveArgument(param, null, webRequest, null); assertTrue(result instanceof MultiValueMap); MultiValueMap<String, MultipartFile> resultMap = (MultiValueMap<String, MultipartFile>) result; assertEquals(2, resultMap.size()); assertEquals(2, resultMap.get("mfilelist").size()); assertEquals(expected1, resultMap.get("mfilelist").get(0)); assertEquals(expected2, resultMap.get("mfilelist").get(1)); assertEquals(1, resultMap.get("other").size()); assertEquals(expected3, resultMap.get("other").get(0)); }
@Test @SuppressWarnings("unchecked") public void resolveMultiValueMapOfPart() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); request.setContentType("multipart/form-data"); Part expected1 = new MockPart("mfilelist", "Hello World 1".getBytes()); Part expected2 = new MockPart("mfilelist", "Hello World 2".getBytes()); Part expected3 = new MockPart("other", "Hello World 3".getBytes()); request.addPart(expected1); request.addPart(expected2); request.addPart(expected3); webRequest = new ServletWebRequest(request); MethodParameter param = this.testMethod.annot(requestParam().noName()).arg(MultiValueMap.class, String.class, Part.class); Object result = resolver.resolveArgument(param, null, webRequest, null); assertTrue(result instanceof MultiValueMap); MultiValueMap<String, Part> resultMap = (MultiValueMap<String, Part>) result; assertEquals(2, resultMap.size()); assertEquals(2, resultMap.get("mfilelist").size()); assertEquals(expected1, resultMap.get("mfilelist").get(0)); assertEquals(expected2, resultMap.get("mfilelist").get(1)); assertEquals(1, resultMap.get("other").size()); assertEquals(expected3, resultMap.get("other").get(0)); }