Merge branch '5.2.x'
This commit is contained in:
commit
967478b3a7
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2019 the original author or authors.
|
* Copyright 2002-2020 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -142,10 +142,10 @@ abstract class BaseCodecConfigurer implements CodecConfigurer {
|
||||||
* @since 5.1.12
|
* @since 5.1.12
|
||||||
*/
|
*/
|
||||||
DefaultCustomCodecs(DefaultCustomCodecs other) {
|
DefaultCustomCodecs(DefaultCustomCodecs other) {
|
||||||
other.typedReaders.putAll(this.typedReaders);
|
this.typedReaders.putAll(other.typedReaders);
|
||||||
other.typedWriters.putAll(this.typedWriters);
|
this.typedWriters.putAll(other.typedWriters);
|
||||||
other.objectReaders.putAll(this.objectReaders);
|
this.objectReaders.putAll(other.objectReaders);
|
||||||
other.objectWriters.putAll(this.objectWriters);
|
this.objectWriters.putAll(other.objectWriters);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -69,7 +69,7 @@ import static org.mockito.Mockito.mock;
|
||||||
* @author Rossen Stoyanchev
|
* @author Rossen Stoyanchev
|
||||||
* @author Sebastien Deleuze
|
* @author Sebastien Deleuze
|
||||||
*/
|
*/
|
||||||
public class CodecConfigurerTests {
|
class CodecConfigurerTests {
|
||||||
|
|
||||||
private final CodecConfigurer configurer = new TestCodecConfigurer();
|
private final CodecConfigurer configurer = new TestCodecConfigurer();
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ public class CodecConfigurerTests {
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void defaultReaders() {
|
void defaultReaders() {
|
||||||
List<HttpMessageReader<?>> readers = this.configurer.getReaders();
|
List<HttpMessageReader<?>> readers = this.configurer.getReaders();
|
||||||
assertThat(readers.size()).isEqualTo(12);
|
assertThat(readers.size()).isEqualTo(12);
|
||||||
assertThat(getNextDecoder(readers).getClass()).isEqualTo(ByteArrayDecoder.class);
|
assertThat(getNextDecoder(readers).getClass()).isEqualTo(ByteArrayDecoder.class);
|
||||||
|
@ -95,7 +95,7 @@ public class CodecConfigurerTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void defaultWriters() {
|
void defaultWriters() {
|
||||||
List<HttpMessageWriter<?>> writers = this.configurer.getWriters();
|
List<HttpMessageWriter<?>> writers = this.configurer.getWriters();
|
||||||
assertThat(writers.size()).isEqualTo(11);
|
assertThat(writers.size()).isEqualTo(11);
|
||||||
assertThat(getNextEncoder(writers).getClass()).isEqualTo(ByteArrayEncoder.class);
|
assertThat(getNextEncoder(writers).getClass()).isEqualTo(ByteArrayEncoder.class);
|
||||||
|
@ -112,7 +112,7 @@ public class CodecConfigurerTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void defaultAndCustomReaders() {
|
void defaultAndCustomReaders() {
|
||||||
Decoder<?> customDecoder1 = mock(Decoder.class);
|
Decoder<?> customDecoder1 = mock(Decoder.class);
|
||||||
Decoder<?> customDecoder2 = mock(Decoder.class);
|
Decoder<?> customDecoder2 = mock(Decoder.class);
|
||||||
|
|
||||||
|
@ -153,7 +153,7 @@ public class CodecConfigurerTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void defaultAndCustomWriters() {
|
void defaultAndCustomWriters() {
|
||||||
Encoder<?> customEncoder1 = mock(Encoder.class);
|
Encoder<?> customEncoder1 = mock(Encoder.class);
|
||||||
Encoder<?> customEncoder2 = mock(Encoder.class);
|
Encoder<?> customEncoder2 = mock(Encoder.class);
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ public class CodecConfigurerTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void defaultsOffCustomReaders() {
|
void defaultsOffCustomReaders() {
|
||||||
Decoder<?> customDecoder1 = mock(Decoder.class);
|
Decoder<?> customDecoder1 = mock(Decoder.class);
|
||||||
Decoder<?> customDecoder2 = mock(Decoder.class);
|
Decoder<?> customDecoder2 = mock(Decoder.class);
|
||||||
|
|
||||||
|
@ -224,7 +224,7 @@ public class CodecConfigurerTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void defaultsOffWithCustomWriters() {
|
void defaultsOffWithCustomWriters() {
|
||||||
Encoder<?> customEncoder1 = mock(Encoder.class);
|
Encoder<?> customEncoder1 = mock(Encoder.class);
|
||||||
Encoder<?> customEncoder2 = mock(Encoder.class);
|
Encoder<?> customEncoder2 = mock(Encoder.class);
|
||||||
|
|
||||||
|
@ -255,7 +255,7 @@ public class CodecConfigurerTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void encoderDecoderOverrides() {
|
void encoderDecoderOverrides() {
|
||||||
Jackson2JsonDecoder jacksonDecoder = new Jackson2JsonDecoder();
|
Jackson2JsonDecoder jacksonDecoder = new Jackson2JsonDecoder();
|
||||||
Jackson2JsonEncoder jacksonEncoder = new Jackson2JsonEncoder();
|
Jackson2JsonEncoder jacksonEncoder = new Jackson2JsonEncoder();
|
||||||
Jackson2SmileDecoder smileDecoder = new Jackson2SmileDecoder();
|
Jackson2SmileDecoder smileDecoder = new Jackson2SmileDecoder();
|
||||||
|
@ -285,23 +285,45 @@ public class CodecConfigurerTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void cloneCustomCodecs() {
|
void cloneEmptyCustomCodecs() {
|
||||||
this.configurer.registerDefaults(false);
|
this.configurer.registerDefaults(false);
|
||||||
CodecConfigurer clone = this.configurer.clone();
|
assertThat(this.configurer.getReaders()).isEmpty();
|
||||||
|
assertThat(this.configurer.getWriters()).isEmpty();
|
||||||
|
|
||||||
|
CodecConfigurer clone = this.configurer.clone();
|
||||||
clone.customCodecs().register(new Jackson2JsonEncoder());
|
clone.customCodecs().register(new Jackson2JsonEncoder());
|
||||||
clone.customCodecs().register(new Jackson2JsonDecoder());
|
clone.customCodecs().register(new Jackson2JsonDecoder());
|
||||||
clone.customCodecs().register(new ServerSentEventHttpMessageReader());
|
clone.customCodecs().register(new ServerSentEventHttpMessageReader());
|
||||||
clone.customCodecs().register(new ServerSentEventHttpMessageWriter());
|
clone.customCodecs().register(new ServerSentEventHttpMessageWriter());
|
||||||
|
|
||||||
assertThat(this.configurer.getReaders().size()).isEqualTo(0);
|
assertThat(this.configurer.getReaders()).isEmpty();
|
||||||
assertThat(this.configurer.getWriters().size()).isEqualTo(0);
|
assertThat(this.configurer.getWriters()).isEmpty();
|
||||||
assertThat(clone.getReaders().size()).isEqualTo(2);
|
assertThat(clone.getReaders()).hasSize(2);
|
||||||
assertThat(clone.getWriters().size()).isEqualTo(2);
|
assertThat(clone.getWriters()).hasSize(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void cloneDefaultCodecs() {
|
void cloneCustomCodecs() {
|
||||||
|
this.configurer.registerDefaults(false);
|
||||||
|
assertThat(this.configurer.getReaders()).isEmpty();
|
||||||
|
assertThat(this.configurer.getWriters()).isEmpty();
|
||||||
|
|
||||||
|
this.configurer.customCodecs().register(new Jackson2JsonEncoder());
|
||||||
|
this.configurer.customCodecs().register(new Jackson2JsonDecoder());
|
||||||
|
this.configurer.customCodecs().register(new ServerSentEventHttpMessageReader());
|
||||||
|
this.configurer.customCodecs().register(new ServerSentEventHttpMessageWriter());
|
||||||
|
assertThat(this.configurer.getReaders()).hasSize(2);
|
||||||
|
assertThat(this.configurer.getWriters()).hasSize(2);
|
||||||
|
|
||||||
|
CodecConfigurer clone = this.configurer.clone();
|
||||||
|
assertThat(this.configurer.getReaders()).hasSize(2);
|
||||||
|
assertThat(this.configurer.getWriters()).hasSize(2);
|
||||||
|
assertThat(clone.getReaders()).hasSize(2);
|
||||||
|
assertThat(clone.getWriters()).hasSize(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void cloneDefaultCodecs() {
|
||||||
CodecConfigurer clone = this.configurer.clone();
|
CodecConfigurer clone = this.configurer.clone();
|
||||||
|
|
||||||
Jackson2JsonDecoder jacksonDecoder = new Jackson2JsonDecoder();
|
Jackson2JsonDecoder jacksonDecoder = new Jackson2JsonDecoder();
|
||||||
|
|
Loading…
Reference in New Issue