Skip to content

Commit 5b0448c

Browse files
committed
MockMultipartHttpServletRequest pre-defines method "POST" and content type "multipart/form-data"
1 parent 1841b14 commit 5b0448c

File tree

3 files changed

+32
-13
lines changed

3 files changed

+32
-13
lines changed

org.springframework.test/src/main/java/org/springframework/mock/web/MockMultipartHttpServletRequest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ public class MockMultipartHttpServletRequest extends MockHttpServletRequest impl
4747
new LinkedMultiValueMap<String, MultipartFile>();
4848

4949

50+
public MockMultipartHttpServletRequest() {
51+
setMethod("POST");
52+
setContentType("multipart/form-data");
53+
}
54+
55+
5056
/**
5157
* Add a file to this request. The parameter name from the multipart
5258
* form is taken from the {@link MultipartFile#getName()}.

org.springframework.web.servlet/src/test/java/org/springframework/mock/web/MockMultipartHttpServletRequest.java

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2009 the original author or authors.
2+
* Copyright 2002-2010 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -18,13 +18,12 @@
1818

1919
import java.util.Collections;
2020
import java.util.Iterator;
21-
import java.util.LinkedHashMap;
22-
import java.util.Map;
2321
import java.util.List;
22+
import java.util.Map;
2423

2524
import org.springframework.util.Assert;
26-
import org.springframework.util.MultiValueMap;
2725
import org.springframework.util.LinkedMultiValueMap;
26+
import org.springframework.util.MultiValueMap;
2827
import org.springframework.web.multipart.MultipartFile;
2928
import org.springframework.web.multipart.MultipartHttpServletRequest;
3029

@@ -44,7 +43,14 @@
4443
*/
4544
public class MockMultipartHttpServletRequest extends MockHttpServletRequest implements MultipartHttpServletRequest {
4645

47-
private final MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>();
46+
private final MultiValueMap<String, MultipartFile> multipartFiles =
47+
new LinkedMultiValueMap<String, MultipartFile>();
48+
49+
50+
public MockMultipartHttpServletRequest() {
51+
setMethod("POST");
52+
setContentType("multipart/form-data");
53+
}
4854

4955

5056
/**
@@ -58,7 +64,7 @@ public void addFile(MultipartFile file) {
5864
}
5965

6066
public Iterator<String> getFileNames() {
61-
return getFileMap().keySet().iterator();
67+
return this.multipartFiles.keySet().iterator();
6268
}
6369

6470
public MultipartFile getFile(String name) {
@@ -73,13 +79,14 @@ public List<MultipartFile> getFiles(String name) {
7379
else {
7480
return Collections.emptyList();
7581
}
76-
}
82+
}
7783

7884
public Map<String, MultipartFile> getFileMap() {
79-
return Collections.unmodifiableMap(this.multipartFiles.toSingleValueMap());
85+
return this.multipartFiles.toSingleValueMap();
8086
}
8187

8288
public MultiValueMap<String, MultipartFile> getMultiFileMap() {
83-
return new LinkedMultiValueMap<String, MultipartFile>(Collections.unmodifiableMap(this.multipartFiles));
89+
return new LinkedMultiValueMap<String, MultipartFile>(this.multipartFiles);
8490
}
91+
8592
}

org.springframework.web/src/test/java/org/springframework/mock/web/MockMultipartHttpServletRequest.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,24 +32,30 @@
3232
* {@link org.springframework.web.multipart.MultipartHttpServletRequest} interface.
3333
*
3434
* <p>Useful for testing application controllers that access multipart uploads.
35-
* The {@link org.springframework.mock.web.MockMultipartFile} can be used to populate these mock requests
35+
* The {@link MockMultipartFile} can be used to populate these mock requests
3636
* with files.
3737
*
3838
* @author Juergen Hoeller
3939
* @author Eric Crampton
4040
* @author Arjen Poutsma
4141
* @since 2.0
42-
* @see org.springframework.mock.web.MockMultipartFile
42+
* @see MockMultipartFile
4343
*/
4444
public class MockMultipartHttpServletRequest extends MockHttpServletRequest implements MultipartHttpServletRequest {
4545

4646
private final MultiValueMap<String, MultipartFile> multipartFiles =
4747
new LinkedMultiValueMap<String, MultipartFile>();
4848

4949

50+
public MockMultipartHttpServletRequest() {
51+
setMethod("POST");
52+
setContentType("multipart/form-data");
53+
}
54+
55+
5056
/**
5157
* Add a file to this request. The parameter name from the multipart
52-
* form is taken from the {@link org.springframework.web.multipart.MultipartFile#getName()}.
58+
* form is taken from the {@link MultipartFile#getName()}.
5359
* @param file multipart file to be added
5460
*/
5561
public void addFile(MultipartFile file) {
@@ -83,4 +89,4 @@ public MultiValueMap<String, MultipartFile> getMultiFileMap() {
8389
return new LinkedMultiValueMap<String, MultipartFile>(this.multipartFiles);
8490
}
8591

86-
}
92+
}

0 commit comments

Comments
 (0)