|
58 | 58 | */
|
59 | 59 | public class FormHttpMessageConverterTests {
|
60 | 60 |
|
| 61 | + protected static final MediaType MULTIPART_MIXED = new MediaType("multipart", "mixed"); |
| 62 | + protected static final MediaType MULTIPART_RELATED = new MediaType("multipart", "related"); |
| 63 | + |
61 | 64 | private final FormHttpMessageConverter converter = new AllEncompassingFormHttpMessageConverter();
|
62 | 65 |
|
63 | 66 |
|
64 | 67 | @Test
|
65 | 68 | public void canRead() {
|
66 |
| - assertThat(this.converter.canRead(MultiValueMap.class, new MediaType("application", "x-www-form-urlencoded"))).isTrue(); |
67 |
| - assertThat(this.converter.canRead(MultiValueMap.class, new MediaType("multipart", "form-data"))).isFalse(); |
| 69 | + assertThat(this.converter.canRead(MultiValueMap.class, MediaType.APPLICATION_FORM_URLENCODED)).isTrue(); |
| 70 | + assertThat(this.converter.canRead(MultiValueMap.class, MediaType.MULTIPART_FORM_DATA)).isFalse(); |
68 | 71 | }
|
69 | 72 |
|
70 | 73 | @Test
|
71 | 74 | public void canWrite() {
|
72 |
| - assertCanWrite(MultiValueMap.class, new MediaType("application", "x-www-form-urlencoded")); |
73 |
| - assertCanWrite(MultiValueMap.class, new MediaType("multipart", "form-data")); |
74 |
| - assertCanWrite(MultiValueMap.class, new MediaType("multipart", "form-data", StandardCharsets.UTF_8)); |
75 |
| - assertCanWrite(MultiValueMap.class, MediaType.ALL); |
| 75 | + assertCanWrite(MediaType.APPLICATION_FORM_URLENCODED); |
| 76 | + assertCanWrite(MediaType.MULTIPART_FORM_DATA); |
| 77 | + assertCanWrite(new MediaType("multipart", "form-data", StandardCharsets.UTF_8)); |
| 78 | + assertCanWrite(MediaType.ALL); |
76 | 79 | }
|
77 | 80 |
|
78 | 81 | @Test
|
79 |
| - public void canWriteMultipartMixedAndMultipartRelated() { |
| 82 | + public void setSupportedMediaTypes() { |
| 83 | + assertCannotWrite(MULTIPART_MIXED); |
| 84 | + assertCannotWrite(MULTIPART_RELATED); |
| 85 | + |
80 | 86 | List<MediaType> supportedMediaTypes = new ArrayList<>(this.converter.getSupportedMediaTypes());
|
81 |
| - supportedMediaTypes.add(new MediaType("multipart", "mixed")); |
82 |
| - supportedMediaTypes.add(new MediaType("multipart", "related")); |
| 87 | + supportedMediaTypes.add(MULTIPART_MIXED); |
| 88 | + supportedMediaTypes.add(MULTIPART_RELATED); |
83 | 89 | this.converter.setSupportedMediaTypes(supportedMediaTypes);
|
84 | 90 |
|
85 |
| - assertCanWrite(MultiValueMap.class, new MediaType("multipart", "mixed")); |
86 |
| - assertCanWrite(MultiValueMap.class, new MediaType("multipart", "related")); |
| 91 | + assertCanWrite(MULTIPART_MIXED); |
| 92 | + assertCanWrite(MULTIPART_RELATED); |
| 93 | + } |
| 94 | + |
| 95 | + @Test |
| 96 | + public void addSupportedMediaType() { |
| 97 | + assertCannotWrite(MULTIPART_MIXED); |
| 98 | + assertCannotWrite(MULTIPART_RELATED); |
| 99 | + |
| 100 | + this.converter.addSupportedMediaType(MULTIPART_MIXED); |
| 101 | + this.converter.addSupportedMediaType(MULTIPART_RELATED); |
| 102 | + |
| 103 | + assertCanWrite(MULTIPART_MIXED); |
| 104 | + assertCanWrite(MULTIPART_RELATED); |
| 105 | + } |
| 106 | + |
| 107 | + private void assertCanWrite(MediaType mediaType) { |
| 108 | + assertThat(this.converter.canWrite(MultiValueMap.class, mediaType)).isTrue(); |
87 | 109 | }
|
88 | 110 |
|
89 |
| - private void assertCanWrite(Class<?> clazz, MediaType mediaType) { |
90 |
| - assertThat(this.converter.canWrite(clazz, mediaType)).isTrue(); |
| 111 | + private void assertCannotWrite(MediaType mediaType) { |
| 112 | + assertThat(this.converter.canWrite(MultiValueMap.class, mediaType)).isFalse(); |
91 | 113 | }
|
92 | 114 |
|
93 | 115 | @Test
|
|
0 commit comments