From 30cff46e7f1ad4bd15f1e530fcb757d12736774a Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Thu, 12 Sep 2019 11:15:30 +0200 Subject: [PATCH] Prevent improper use of testing framework APIs Prior to this commit, a lot of work had been done to prevent improper use of testing Framework APIs throughout the codebase; however, there were still some loopholes. This commit addresses these loopholes by introducing additional Checkstyle rules (and modifying existing rules) to prevent improper use of testing framework APIs in production code as well as in test code. - Checkstyle rules for banned imports have been refactored into multiple rules specific to JUnit 3, JUnit 4, JUnit Jupiter, and TestNG. - Accidental usage of org.junit.Assume has been switched to org.junit.jupiter.api.Assumptions. - All test classes now reside under org.springframework packages. - All test classes (including abstract test classes) now conform to the `*Tests` naming convention. - As an added bonus, tests in the renamed ScenariosForSpringSecurityExpressionTests are now included in the build. - Dead JUnit 4 parameterized code has been removed from DefaultServerWebExchangeCheckNotModifiedTests. Closes gh-22962 --- .../beans/factory/xml}/Component.java | 6 +- .../xml}/ComponentBeanDefinitionParser.java | 6 +- .../ComponentBeanDefinitionParserTests.java | 37 +++++----- .../factory/xml}/ComponentFactoryBean.java | 6 +- .../xml}/ComponentNamespaceHandler.java | 10 ++- .../test/resources/META-INF/spring.handlers | 2 +- .../test/resources/META-INF/spring.schemas | 2 +- .../beans/factory/xml}/component-config.xml | 0 .../beans/factory/xml}/component.xsd | 0 .../access/MBeanClientInterceptorTests.java | 2 +- ...estCase.java => AbstractDecoderTests.java} | 8 +-- ...estCase.java => AbstractEncoderTests.java} | 6 +- .../core/codec/ByteArrayDecoderTests.java | 2 +- .../core/codec/ByteArrayEncoderTests.java | 2 +- .../core/codec/ByteBufferDecoderTests.java | 2 +- .../core/codec/ByteBufferEncoderTests.java | 2 +- .../core/codec/CharSequenceEncoderTests.java | 2 +- .../core/codec/DataBufferDecoderTests.java | 2 +- .../core/codec/DataBufferEncoderTests.java | 2 +- .../core/codec/ResourceDecoderTests.java | 2 +- .../core/codec/ResourceEncoderTests.java | 2 +- .../core/codec/StringDecoderTests.java | 2 +- ...se.java => AbstractLeakCheckingTests.java} | 2 +- .../io/buffer/LeakAwareDataBufferFactory.java | 2 +- ...ase.java => AbstractStaxHandlerTests.java} | 2 +- ...e.java => AbstractStaxXMLReaderTests.java} | 2 +- .../util/xml/StaxEventHandlerTests.java | 2 +- .../util/xml/StaxEventXMLReaderTests.java | 2 +- .../util/xml/StaxStreamHandlerTests.java | 2 +- .../util/xml/StaxStreamXMLReaderTests.java | 2 +- ...riosForSpringSecurityExpressionTests.java} | 2 +- .../codec/FormHttpMessageReaderTests.java | 4 +- .../codec/FormHttpMessageWriterTests.java | 4 +- ...ServerSentEventHttpMessageReaderTests.java | 4 +- .../codec/cbor/Jackson2CborDecoderTests.java | 4 +- .../codec/cbor/Jackson2CborEncoderTests.java | 4 +- .../codec/json/Jackson2JsonDecoderTests.java | 4 +- .../codec/json/Jackson2JsonEncoderTests.java | 4 +- .../codec/json/Jackson2SmileDecoderTests.java | 4 +- .../codec/json/Jackson2SmileEncoderTests.java | 4 +- .../codec/json/Jackson2TokenizerTests.java | 4 +- .../MultipartHttpMessageWriterTests.java | 4 +- .../codec/protobuf/ProtobufDecoderTests.java | 4 +- .../codec/protobuf/ProtobufEncoderTests.java | 4 +- .../http/codec/xml/Jaxb2XmlDecoderTests.java | 4 +- .../http/codec/xml/Jaxb2XmlEncoderTests.java | 4 +- .../http/codec/xml/XmlEventDecoderTests.java | 4 +- ...erverWebExchangeCheckNotModifiedTests.java | 70 +++++++------------ src/checkstyle/checkstyle-suppressions.xml | 50 ++++++------- src/checkstyle/checkstyle.xml | 26 ++++++- 50 files changed, 163 insertions(+), 170 deletions(-) rename integration-tests/src/test/java/{com/foo => org/springframework/beans/factory/xml}/Component.java (90%) rename integration-tests/src/test/java/{com/foo => org/springframework/beans/factory/xml}/ComponentBeanDefinitionParser.java (91%) rename integration-tests/src/test/java/{com/foo => org/springframework/beans/factory/xml}/ComponentBeanDefinitionParserTests.java (74%) rename integration-tests/src/test/java/{com/foo => org/springframework/beans/factory/xml}/ComponentFactoryBean.java (92%) rename integration-tests/src/test/java/{com/foo => org/springframework/beans/factory/xml}/ComponentNamespaceHandler.java (74%) rename integration-tests/src/test/resources/{com/foo => org/springframework/beans/factory/xml}/component-config.xml (100%) rename integration-tests/src/test/resources/{com/foo => org/springframework/beans/factory/xml}/component.xsd (100%) rename spring-core/src/test/java/org/springframework/core/codec/{AbstractDecoderTestCase.java => AbstractDecoderTests.java} (98%) rename spring-core/src/test/java/org/springframework/core/codec/{AbstractEncoderTestCase.java => AbstractEncoderTests.java} (98%) rename spring-core/src/test/java/org/springframework/core/io/buffer/{AbstractLeakCheckingTestCase.java => AbstractLeakCheckingTests.java} (96%) rename spring-core/src/test/java/org/springframework/util/xml/{AbstractStaxHandlerTestCase.java => AbstractStaxHandlerTests.java} (99%) rename spring-core/src/test/java/org/springframework/util/xml/{AbstractStaxXMLReaderTestCase.java => AbstractStaxXMLReaderTests.java} (99%) rename spring-expression/src/test/java/org/springframework/expression/spel/{ScenariosForSpringSecurity.java => ScenariosForSpringSecurityExpressionTests.java} (99%) diff --git a/integration-tests/src/test/java/com/foo/Component.java b/integration-tests/src/test/java/org/springframework/beans/factory/xml/Component.java similarity index 90% rename from integration-tests/src/test/java/com/foo/Component.java rename to integration-tests/src/test/java/org/springframework/beans/factory/xml/Component.java index c6cbd742aac..aeb34d25c0f 100644 --- a/integration-tests/src/test/java/com/foo/Component.java +++ b/integration-tests/src/test/java/org/springframework/beans/factory/xml/Component.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,12 +14,13 @@ * limitations under the License. */ -package com.foo; +package org.springframework.beans.factory.xml; import java.util.ArrayList; import java.util.List; public class Component { + private String name; private List components = new ArrayList<>(); @@ -39,4 +40,5 @@ public class Component { public void setName(String name) { this.name = name; } + } diff --git a/integration-tests/src/test/java/com/foo/ComponentBeanDefinitionParser.java b/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentBeanDefinitionParser.java similarity index 91% rename from integration-tests/src/test/java/com/foo/ComponentBeanDefinitionParser.java rename to integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentBeanDefinitionParser.java index 77d21f0ac5d..833c856adfb 100644 --- a/integration-tests/src/test/java/com/foo/ComponentBeanDefinitionParser.java +++ b/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentBeanDefinitionParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.foo; +package org.springframework.beans.factory.xml; import java.util.List; @@ -24,8 +24,6 @@ import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.ManagedList; -import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser; -import org.springframework.beans.factory.xml.ParserContext; import org.springframework.util.CollectionUtils; import org.springframework.util.xml.DomUtils; diff --git a/integration-tests/src/test/java/com/foo/ComponentBeanDefinitionParserTests.java b/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentBeanDefinitionParserTests.java similarity index 74% rename from integration-tests/src/test/java/com/foo/ComponentBeanDefinitionParserTests.java rename to integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentBeanDefinitionParserTests.java index 771d33b2c15..fbc3fec5b4b 100644 --- a/integration-tests/src/test/java/com/foo/ComponentBeanDefinitionParserTests.java +++ b/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentBeanDefinitionParserTests.java @@ -14,52 +14,49 @@ * limitations under the License. */ -package com.foo; - +package org.springframework.beans.factory.xml; import java.util.List; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.TestInstance.Lifecycle; import org.springframework.beans.factory.support.DefaultListableBeanFactory; -import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; import org.springframework.core.io.ClassPathResource; import static org.assertj.core.api.Assertions.assertThat; - /** * @author Costin Leau */ -public class ComponentBeanDefinitionParserTests { +@TestInstance(Lifecycle.PER_CLASS) +class ComponentBeanDefinitionParserTests { + + private final DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); - private static DefaultListableBeanFactory bf; @BeforeAll - public static void setUpBeforeClass() throws Exception { - bf = new DefaultListableBeanFactory(); - new XmlBeanDefinitionReader(bf).loadBeanDefinitions(new ClassPathResource("com/foo/component-config.xml")); + void setUp() throws Exception { + new XmlBeanDefinitionReader(bf).loadBeanDefinitions( + new ClassPathResource("component-config.xml", ComponentBeanDefinitionParserTests.class)); } @AfterAll - public static void tearDownAfterClass() throws Exception { + void tearDown() { bf.destroySingletons(); } - private Component getBionicFamily() { - return bf.getBean("bionic-family", Component.class); - } - @Test - public void testBionicBasic() throws Exception { + void testBionicBasic() { Component cp = getBionicFamily(); assertThat("Bionic-1").isEqualTo(cp.getName()); } @Test - public void testBionicFirstLevelChildren() throws Exception { + void testBionicFirstLevelChildren() { Component cp = getBionicFamily(); List components = cp.getComponents(); assertThat(2).isEqualTo(components.size()); @@ -68,11 +65,17 @@ public class ComponentBeanDefinitionParserTests { } @Test - public void testBionicSecondLevelChildren() throws Exception { + void testBionicSecondLevelChildren() { Component cp = getBionicFamily(); List components = cp.getComponents().get(0).getComponents(); assertThat(2).isEqualTo(components.size()); assertThat("Karate-1").isEqualTo(components.get(0).getName()); assertThat("Sport-1").isEqualTo(components.get(1).getName()); } + + private Component getBionicFamily() { + return bf.getBean("bionic-family", Component.class); + } + } + diff --git a/integration-tests/src/test/java/com/foo/ComponentFactoryBean.java b/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentFactoryBean.java similarity index 92% rename from integration-tests/src/test/java/com/foo/ComponentFactoryBean.java rename to integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentFactoryBean.java index 7b0a384a9fd..ec2479cd196 100644 --- a/integration-tests/src/test/java/com/foo/ComponentFactoryBean.java +++ b/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentFactoryBean.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,13 +14,14 @@ * limitations under the License. */ -package com.foo; +package org.springframework.beans.factory.xml; import java.util.List; import org.springframework.beans.factory.FactoryBean; public class ComponentFactoryBean implements FactoryBean { + private Component parent; private List children; @@ -51,4 +52,5 @@ public class ComponentFactoryBean implements FactoryBean { public boolean isSingleton() { return true; } + } diff --git a/integration-tests/src/test/java/com/foo/ComponentNamespaceHandler.java b/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentNamespaceHandler.java similarity index 74% rename from integration-tests/src/test/java/com/foo/ComponentNamespaceHandler.java rename to integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentNamespaceHandler.java index bc9d98f41c4..abd9867c0c4 100644 --- a/integration-tests/src/test/java/com/foo/ComponentNamespaceHandler.java +++ b/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentNamespaceHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,14 +14,12 @@ * limitations under the License. */ -package com.foo; - -import org.springframework.beans.factory.xml.NamespaceHandlerSupport; +package org.springframework.beans.factory.xml; public class ComponentNamespaceHandler extends NamespaceHandlerSupport { + @Override public void init() { - registerBeanDefinitionParser("component", - new ComponentBeanDefinitionParser()); + registerBeanDefinitionParser("component", new ComponentBeanDefinitionParser()); } } diff --git a/integration-tests/src/test/resources/META-INF/spring.handlers b/integration-tests/src/test/resources/META-INF/spring.handlers index aa18a4d2b57..a075db5cb85 100644 --- a/integration-tests/src/test/resources/META-INF/spring.handlers +++ b/integration-tests/src/test/resources/META-INF/spring.handlers @@ -1 +1 @@ -http\://www.foo.example/schema/component=com.foo.ComponentNamespaceHandler \ No newline at end of file +http\://www.foo.example/schema/component=org.springframework.beans.factory.xml.ComponentNamespaceHandler \ No newline at end of file diff --git a/integration-tests/src/test/resources/META-INF/spring.schemas b/integration-tests/src/test/resources/META-INF/spring.schemas index e4dc1792de6..8bad15c291c 100644 --- a/integration-tests/src/test/resources/META-INF/spring.schemas +++ b/integration-tests/src/test/resources/META-INF/spring.schemas @@ -1 +1 @@ -http\://www.foo.example/schema/component/component.xsd=com/foo/component.xsd \ No newline at end of file +http\://www.foo.example/schema/component/component.xsd=org/springframework/beans/factory/xml/component.xsd \ No newline at end of file diff --git a/integration-tests/src/test/resources/com/foo/component-config.xml b/integration-tests/src/test/resources/org/springframework/beans/factory/xml/component-config.xml similarity index 100% rename from integration-tests/src/test/resources/com/foo/component-config.xml rename to integration-tests/src/test/resources/org/springframework/beans/factory/xml/component-config.xml diff --git a/integration-tests/src/test/resources/com/foo/component.xsd b/integration-tests/src/test/resources/org/springframework/beans/factory/xml/component.xsd similarity index 100% rename from integration-tests/src/test/resources/com/foo/component.xsd rename to integration-tests/src/test/resources/org/springframework/beans/factory/xml/component.xsd diff --git a/spring-context/src/test/java/org/springframework/jmx/access/MBeanClientInterceptorTests.java b/spring-context/src/test/java/org/springframework/jmx/access/MBeanClientInterceptorTests.java index ed59ff317a9..b6a818f1e03 100644 --- a/spring-context/src/test/java/org/springframework/jmx/access/MBeanClientInterceptorTests.java +++ b/spring-context/src/test/java/org/springframework/jmx/access/MBeanClientInterceptorTests.java @@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.assertj.core.api.Assertions.assertThatIOException; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.junit.Assume.assumeTrue; +import static org.junit.jupiter.api.Assumptions.assumeTrue; /** * @author Rob Harrop diff --git a/spring-core/src/test/java/org/springframework/core/codec/AbstractDecoderTestCase.java b/spring-core/src/test/java/org/springframework/core/codec/AbstractDecoderTests.java similarity index 98% rename from spring-core/src/test/java/org/springframework/core/codec/AbstractDecoderTestCase.java rename to spring-core/src/test/java/org/springframework/core/codec/AbstractDecoderTests.java index 93ecdbf39cc..de9598edafd 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/AbstractDecoderTestCase.java +++ b/spring-core/src/test/java/org/springframework/core/codec/AbstractDecoderTests.java @@ -27,7 +27,7 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import org.springframework.core.ResolvableType; -import org.springframework.core.io.buffer.AbstractLeakCheckingTestCase; +import org.springframework.core.io.buffer.AbstractLeakCheckingTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -44,7 +44,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType; * @since 5.1.3 */ @SuppressWarnings("ProtectedField") -public abstract class AbstractDecoderTestCase> extends AbstractLeakCheckingTestCase { +public abstract class AbstractDecoderTests> extends AbstractLeakCheckingTests { /** * The decoder to test. @@ -52,10 +52,10 @@ public abstract class AbstractDecoderTestCase> extends Abst protected D decoder; /** - * Construct a new {@code AbstractDecoderTestCase} for the given decoder. + * Construct a new {@code AbstractDecoderTests} instance for the given decoder. * @param decoder the decoder */ - protected AbstractDecoderTestCase(D decoder) { + protected AbstractDecoderTests(D decoder) { Assert.notNull(decoder, "Encoder must not be null"); this.decoder = decoder; diff --git a/spring-core/src/test/java/org/springframework/core/codec/AbstractEncoderTestCase.java b/spring-core/src/test/java/org/springframework/core/codec/AbstractEncoderTests.java similarity index 98% rename from spring-core/src/test/java/org/springframework/core/codec/AbstractEncoderTestCase.java rename to spring-core/src/test/java/org/springframework/core/codec/AbstractEncoderTests.java index b9ec7a4948f..4eb7c811a59 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/AbstractEncoderTestCase.java +++ b/spring-core/src/test/java/org/springframework/core/codec/AbstractEncoderTests.java @@ -25,7 +25,7 @@ import reactor.core.publisher.Flux; import reactor.test.StepVerifier; import org.springframework.core.ResolvableType; -import org.springframework.core.io.buffer.AbstractLeakCheckingTestCase; +import org.springframework.core.io.buffer.AbstractLeakCheckingTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBufferUtils; import org.springframework.lang.Nullable; @@ -45,7 +45,7 @@ import static org.springframework.core.io.buffer.DataBufferUtils.release; * @since 5.1.3 */ @SuppressWarnings("ProtectedField") -public abstract class AbstractEncoderTestCase> extends AbstractLeakCheckingTestCase { +public abstract class AbstractEncoderTests> extends AbstractLeakCheckingTests { /** * The encoder to test. @@ -57,7 +57,7 @@ public abstract class AbstractEncoderTestCase> extends Abst * Construct a new {@code AbstractEncoderTestCase} for the given parameters. * @param encoder the encoder */ - protected AbstractEncoderTestCase(E encoder) { + protected AbstractEncoderTests(E encoder) { Assert.notNull(encoder, "Encoder must not be null"); diff --git a/spring-core/src/test/java/org/springframework/core/codec/ByteArrayDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ByteArrayDecoderTests.java index 43dd8ebfd46..1eb50b011b9 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ByteArrayDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ByteArrayDecoderTests.java @@ -31,7 +31,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Arjen Poutsma */ -class ByteArrayDecoderTests extends AbstractDecoderTestCase { +class ByteArrayDecoderTests extends AbstractDecoderTests { private final byte[] fooBytes = "foo".getBytes(StandardCharsets.UTF_8); diff --git a/spring-core/src/test/java/org/springframework/core/codec/ByteArrayEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ByteArrayEncoderTests.java index 2f91a1c6258..2c44c1a8381 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ByteArrayEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ByteArrayEncoderTests.java @@ -29,7 +29,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Arjen Poutsma */ -class ByteArrayEncoderTests extends AbstractEncoderTestCase { +class ByteArrayEncoderTests extends AbstractEncoderTests { private final byte[] fooBytes = "foo".getBytes(StandardCharsets.UTF_8); diff --git a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java index afc9d774abc..2563ff8c9fa 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java @@ -32,7 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Sebastien Deleuze */ -class ByteBufferDecoderTests extends AbstractDecoderTestCase { +class ByteBufferDecoderTests extends AbstractDecoderTests { private final byte[] fooBytes = "foo".getBytes(StandardCharsets.UTF_8); diff --git a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java index 156127d7fdd..aa18e0e1ecf 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java @@ -30,7 +30,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Sebastien Deleuze */ -class ByteBufferEncoderTests extends AbstractEncoderTestCase { +class ByteBufferEncoderTests extends AbstractEncoderTests { private final byte[] fooBytes = "foo".getBytes(StandardCharsets.UTF_8); diff --git a/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java index 786c6d4bf50..c0a85d0816c 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java @@ -34,7 +34,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Sebastien Deleuze */ -class CharSequenceEncoderTests extends AbstractEncoderTestCase { +class CharSequenceEncoderTests extends AbstractEncoderTests { private final String foo = "foo"; diff --git a/spring-core/src/test/java/org/springframework/core/codec/DataBufferDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/DataBufferDecoderTests.java index e0936af2511..efde8b15eb7 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/DataBufferDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/DataBufferDecoderTests.java @@ -32,7 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Sebastien Deleuze */ -class DataBufferDecoderTests extends AbstractDecoderTestCase { +class DataBufferDecoderTests extends AbstractDecoderTests { private final byte[] fooBytes = "foo".getBytes(StandardCharsets.UTF_8); diff --git a/spring-core/src/test/java/org/springframework/core/codec/DataBufferEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/DataBufferEncoderTests.java index 70e71368dad..c9322af3c7e 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/DataBufferEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/DataBufferEncoderTests.java @@ -31,7 +31,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Sebastien Deleuze */ -class DataBufferEncoderTests extends AbstractEncoderTestCase { +class DataBufferEncoderTests extends AbstractEncoderTests { private final byte[] fooBytes = "foo".getBytes(StandardCharsets.UTF_8); diff --git a/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java index f7b54d913e4..f05b34fbbbb 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java @@ -37,7 +37,7 @@ import static org.springframework.core.ResolvableType.forClass; /** * @author Arjen Poutsma */ -class ResourceDecoderTests extends AbstractDecoderTestCase { +class ResourceDecoderTests extends AbstractDecoderTests { private final byte[] fooBytes = "foo".getBytes(StandardCharsets.UTF_8); diff --git a/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java index c2fdf4d15ec..193c705a7ad 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java @@ -38,7 +38,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Arjen Poutsma */ -class ResourceEncoderTests extends AbstractEncoderTestCase { +class ResourceEncoderTests extends AbstractEncoderTests { private final byte[] bytes = "foo".getBytes(UTF_8); diff --git a/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java index e22426827d2..980f0a00721 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java @@ -43,7 +43,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Brian Clozel * @author Mark Paluch */ -class StringDecoderTests extends AbstractDecoderTestCase { +class StringDecoderTests extends AbstractDecoderTests { private static final ResolvableType TYPE = ResolvableType.forClass(String.class); diff --git a/spring-core/src/test/java/org/springframework/core/io/buffer/AbstractLeakCheckingTestCase.java b/spring-core/src/test/java/org/springframework/core/io/buffer/AbstractLeakCheckingTests.java similarity index 96% rename from spring-core/src/test/java/org/springframework/core/io/buffer/AbstractLeakCheckingTestCase.java rename to spring-core/src/test/java/org/springframework/core/io/buffer/AbstractLeakCheckingTests.java index 1a467bd41c6..13c8207f1ec 100644 --- a/spring-core/src/test/java/org/springframework/core/io/buffer/AbstractLeakCheckingTestCase.java +++ b/spring-core/src/test/java/org/springframework/core/io/buffer/AbstractLeakCheckingTests.java @@ -27,7 +27,7 @@ import org.junit.jupiter.api.AfterEach; * @since 5.1.3 * @see LeakAwareDataBufferFactory */ -public abstract class AbstractLeakCheckingTestCase { +public abstract class AbstractLeakCheckingTests { /** * The data buffer factory. diff --git a/spring-core/src/test/java/org/springframework/core/io/buffer/LeakAwareDataBufferFactory.java b/spring-core/src/test/java/org/springframework/core/io/buffer/LeakAwareDataBufferFactory.java index c9f79c26307..9c3dd02c2a2 100644 --- a/spring-core/src/test/java/org/springframework/core/io/buffer/LeakAwareDataBufferFactory.java +++ b/spring-core/src/test/java/org/springframework/core/io/buffer/LeakAwareDataBufferFactory.java @@ -35,7 +35,7 @@ import org.springframework.util.Assert; * Implementation of the {@code DataBufferFactory} interface that keeps track of * memory leaks. *

Useful for unit tests that handle data buffers. Simply inherit from - * {@link AbstractLeakCheckingTestCase} or call {@link #checkForLeaks()} in + * {@link AbstractLeakCheckingTests} or call {@link #checkForLeaks()} in * a JUnit after method yourself, and any buffers that have not been * released will result in an {@link AssertionError}. * diff --git a/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxHandlerTestCase.java b/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxHandlerTests.java similarity index 99% rename from spring-core/src/test/java/org/springframework/util/xml/AbstractStaxHandlerTestCase.java rename to spring-core/src/test/java/org/springframework/util/xml/AbstractStaxHandlerTests.java index 53c766f3bf9..b127bce0067 100644 --- a/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxHandlerTestCase.java +++ b/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxHandlerTests.java @@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Arjen Poutsma * @author Sam Brannen */ -abstract class AbstractStaxHandlerTestCase { +abstract class AbstractStaxHandlerTests { private static final String COMPLEX_XML = "" + diff --git a/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxXMLReaderTestCase.java b/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxXMLReaderTests.java similarity index 99% rename from spring-core/src/test/java/org/springframework/util/xml/AbstractStaxXMLReaderTestCase.java rename to spring-core/src/test/java/org/springframework/util/xml/AbstractStaxXMLReaderTests.java index 451513acf68..317a88b9eb8 100644 --- a/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxXMLReaderTestCase.java +++ b/spring-core/src/test/java/org/springframework/util/xml/AbstractStaxXMLReaderTests.java @@ -54,7 +54,7 @@ import static org.mockito.Mockito.mock; /** * @author Arjen Poutsma */ -abstract class AbstractStaxXMLReaderTestCase { +abstract class AbstractStaxXMLReaderTests { protected static XMLInputFactory inputFactory; diff --git a/spring-core/src/test/java/org/springframework/util/xml/StaxEventHandlerTests.java b/spring-core/src/test/java/org/springframework/util/xml/StaxEventHandlerTests.java index 04da747eec6..35e6120daaa 100644 --- a/spring-core/src/test/java/org/springframework/util/xml/StaxEventHandlerTests.java +++ b/spring-core/src/test/java/org/springframework/util/xml/StaxEventHandlerTests.java @@ -24,7 +24,7 @@ import javax.xml.transform.Result; /** * @author Arjen Poutsma */ -class StaxEventHandlerTests extends AbstractStaxHandlerTestCase { +class StaxEventHandlerTests extends AbstractStaxHandlerTests { @Override protected AbstractStaxHandler createStaxHandler(Result result) throws XMLStreamException { diff --git a/spring-core/src/test/java/org/springframework/util/xml/StaxEventXMLReaderTests.java b/spring-core/src/test/java/org/springframework/util/xml/StaxEventXMLReaderTests.java index d29ca99cb65..6acf48e6232 100644 --- a/spring-core/src/test/java/org/springframework/util/xml/StaxEventXMLReaderTests.java +++ b/spring-core/src/test/java/org/springframework/util/xml/StaxEventXMLReaderTests.java @@ -33,7 +33,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -class StaxEventXMLReaderTests extends AbstractStaxXMLReaderTestCase { +class StaxEventXMLReaderTests extends AbstractStaxXMLReaderTests { public static final String CONTENT = ""; diff --git a/spring-core/src/test/java/org/springframework/util/xml/StaxStreamHandlerTests.java b/spring-core/src/test/java/org/springframework/util/xml/StaxStreamHandlerTests.java index 75640c522de..751738268a7 100644 --- a/spring-core/src/test/java/org/springframework/util/xml/StaxStreamHandlerTests.java +++ b/spring-core/src/test/java/org/springframework/util/xml/StaxStreamHandlerTests.java @@ -24,7 +24,7 @@ import javax.xml.transform.Result; /** * @author Arjen Poutsma */ -class StaxStreamHandlerTests extends AbstractStaxHandlerTestCase { +class StaxStreamHandlerTests extends AbstractStaxHandlerTests { @Override protected AbstractStaxHandler createStaxHandler(Result result) throws XMLStreamException { diff --git a/spring-core/src/test/java/org/springframework/util/xml/StaxStreamXMLReaderTests.java b/spring-core/src/test/java/org/springframework/util/xml/StaxStreamXMLReaderTests.java index d1d0668869b..26b136765d2 100644 --- a/spring-core/src/test/java/org/springframework/util/xml/StaxStreamXMLReaderTests.java +++ b/spring-core/src/test/java/org/springframework/util/xml/StaxStreamXMLReaderTests.java @@ -36,7 +36,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -class StaxStreamXMLReaderTests extends AbstractStaxXMLReaderTestCase { +class StaxStreamXMLReaderTests extends AbstractStaxXMLReaderTests { public static final String CONTENT = ""; diff --git a/spring-expression/src/test/java/org/springframework/expression/spel/ScenariosForSpringSecurity.java b/spring-expression/src/test/java/org/springframework/expression/spel/ScenariosForSpringSecurityExpressionTests.java similarity index 99% rename from spring-expression/src/test/java/org/springframework/expression/spel/ScenariosForSpringSecurity.java rename to spring-expression/src/test/java/org/springframework/expression/spel/ScenariosForSpringSecurityExpressionTests.java index 42a44f936b0..5d9798fae4f 100644 --- a/spring-expression/src/test/java/org/springframework/expression/spel/ScenariosForSpringSecurity.java +++ b/spring-expression/src/test/java/org/springframework/expression/spel/ScenariosForSpringSecurityExpressionTests.java @@ -43,7 +43,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Andy Clement */ -public class ScenariosForSpringSecurity extends AbstractExpressionTests { +public class ScenariosForSpringSecurityExpressionTests extends AbstractExpressionTests { @Test public void testScenario01_Roles() throws Exception { diff --git a/spring-web/src/test/java/org/springframework/http/codec/FormHttpMessageReaderTests.java b/spring-web/src/test/java/org/springframework/http/codec/FormHttpMessageReaderTests.java index 79bd99807c5..b75f0d81956 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/FormHttpMessageReaderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/FormHttpMessageReaderTests.java @@ -27,7 +27,7 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import org.springframework.core.ResolvableType; -import org.springframework.core.io.buffer.AbstractLeakCheckingTestCase; +import org.springframework.core.io.buffer.AbstractLeakCheckingTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -41,7 +41,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Sebastien Deleuze */ -public class FormHttpMessageReaderTests extends AbstractLeakCheckingTestCase { +public class FormHttpMessageReaderTests extends AbstractLeakCheckingTests { private final FormHttpMessageReader reader = new FormHttpMessageReader(); diff --git a/spring-web/src/test/java/org/springframework/http/codec/FormHttpMessageWriterTests.java b/spring-web/src/test/java/org/springframework/http/codec/FormHttpMessageWriterTests.java index 9ff128a457a..595444ac73d 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/FormHttpMessageWriterTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/FormHttpMessageWriterTests.java @@ -25,7 +25,7 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import org.springframework.core.ResolvableType; -import org.springframework.core.io.buffer.AbstractLeakCheckingTestCase; +import org.springframework.core.io.buffer.AbstractLeakCheckingTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBufferUtils; import org.springframework.core.io.buffer.support.DataBufferTestUtils; @@ -40,7 +40,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Sebastien Deleuze */ -public class FormHttpMessageWriterTests extends AbstractLeakCheckingTestCase { +public class FormHttpMessageWriterTests extends AbstractLeakCheckingTests { private final FormHttpMessageWriter writer = new FormHttpMessageWriter(); diff --git a/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageReaderTests.java b/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageReaderTests.java index 2113fd6f7e3..fa13b1c0747 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageReaderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageReaderTests.java @@ -26,7 +26,7 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import org.springframework.core.ResolvableType; -import org.springframework.core.io.buffer.AbstractLeakCheckingTestCase; +import org.springframework.core.io.buffer.AbstractLeakCheckingTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.http.MediaType; import org.springframework.http.codec.json.Jackson2JsonDecoder; @@ -39,7 +39,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Sebastien Deleuze */ -public class ServerSentEventHttpMessageReaderTests extends AbstractLeakCheckingTestCase { +public class ServerSentEventHttpMessageReaderTests extends AbstractLeakCheckingTests { private ServerSentEventHttpMessageReader messageReader = new ServerSentEventHttpMessageReader(new Jackson2JsonDecoder()); diff --git a/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborDecoderTests.java index 2b3323ca057..a3bc2974820 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborDecoderTests.java @@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test; import reactor.core.publisher.Flux; import org.springframework.core.ResolvableType; -import org.springframework.core.codec.AbstractDecoderTestCase; +import org.springframework.core.codec.AbstractDecoderTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.http.codec.Pojo; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; @@ -41,7 +41,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON; * * @author Sebastien Deleuze */ -public class Jackson2CborDecoderTests extends AbstractDecoderTestCase { +public class Jackson2CborDecoderTests extends AbstractDecoderTests { private final static MimeType CBOR_MIME_TYPE = new MimeType("application", "cbor"); diff --git a/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborEncoderTests.java index 29749bc5157..0241a13287d 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborEncoderTests.java @@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test; import reactor.core.publisher.Flux; import org.springframework.core.ResolvableType; -import org.springframework.core.io.buffer.AbstractLeakCheckingTestCase; +import org.springframework.core.io.buffer.AbstractLeakCheckingTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.support.DataBufferTestUtils; import org.springframework.http.codec.Pojo; @@ -43,7 +43,7 @@ import static org.springframework.http.MediaType.APPLICATION_XML; * * @author Sebastien Deleuze */ -public class Jackson2CborEncoderTests extends AbstractLeakCheckingTestCase { +public class Jackson2CborEncoderTests extends AbstractLeakCheckingTests { private final static MimeType CBOR_MIME_TYPE = new MimeType("application", "cbor"); diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java index f572980bcb5..3d4ffb8b84d 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java @@ -34,7 +34,7 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import org.springframework.core.ResolvableType; -import org.springframework.core.codec.AbstractDecoderTestCase; +import org.springframework.core.codec.AbstractDecoderTests; import org.springframework.core.codec.CodecException; import org.springframework.core.codec.DecodingException; import org.springframework.core.io.buffer.DataBuffer; @@ -61,7 +61,7 @@ import static org.springframework.http.codec.json.Jackson2CodecSupport.JSON_VIEW * @author Sebastien Deleuze * @author Rossen Stoyanchev */ -public class Jackson2JsonDecoderTests extends AbstractDecoderTestCase { +public class Jackson2JsonDecoderTests extends AbstractDecoderTests { private Pojo pojo1 = new Pojo("f1", "b1"); diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java index c54c31dca2b..78083abba24 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java @@ -32,7 +32,7 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import org.springframework.core.ResolvableType; -import org.springframework.core.codec.AbstractEncoderTestCase; +import org.springframework.core.codec.AbstractEncoderTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBufferUtils; import org.springframework.http.MediaType; @@ -55,7 +55,7 @@ import static org.springframework.http.codec.json.Jackson2CodecSupport.JSON_VIEW /** * @author Sebastien Deleuze */ -public class Jackson2JsonEncoderTests extends AbstractEncoderTestCase { +public class Jackson2JsonEncoderTests extends AbstractEncoderTests { public Jackson2JsonEncoderTests() { super(new Jackson2JsonEncoder()); diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileDecoderTests.java index 30d9954aa77..ffb301459eb 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileDecoderTests.java @@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test; import reactor.core.publisher.Flux; import org.springframework.core.ResolvableType; -import org.springframework.core.codec.AbstractDecoderTestCase; +import org.springframework.core.codec.AbstractDecoderTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.http.codec.Pojo; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; @@ -40,7 +40,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON; * * @author Sebastien Deleuze */ -public class Jackson2SmileDecoderTests extends AbstractDecoderTestCase { +public class Jackson2SmileDecoderTests extends AbstractDecoderTests { private final static MimeType SMILE_MIME_TYPE = new MimeType("application", "x-jackson-smile"); private final static MimeType STREAM_SMILE_MIME_TYPE = new MimeType("application", "stream+x-jackson-smile"); diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileEncoderTests.java index bee9c3814ad..8890c7e9373 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileEncoderTests.java @@ -28,7 +28,7 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import org.springframework.core.ResolvableType; -import org.springframework.core.codec.AbstractEncoderTestCase; +import org.springframework.core.codec.AbstractEncoderTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.support.DataBufferTestUtils; import org.springframework.http.codec.Pojo; @@ -45,7 +45,7 @@ import static org.springframework.http.MediaType.APPLICATION_XML; * * @author Sebastien Deleuze */ -public class Jackson2SmileEncoderTests extends AbstractEncoderTestCase { +public class Jackson2SmileEncoderTests extends AbstractEncoderTests { private final static MimeType SMILE_MIME_TYPE = new MimeType("application", "x-jackson-smile"); private final static MimeType STREAM_SMILE_MIME_TYPE = new MimeType("application", "stream+x-jackson-smile"); diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2TokenizerTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2TokenizerTests.java index 686488241b0..dbedb4dcee7 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2TokenizerTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2TokenizerTests.java @@ -34,7 +34,7 @@ import reactor.core.publisher.Flux; import reactor.test.StepVerifier; import org.springframework.core.codec.DecodingException; -import org.springframework.core.io.buffer.AbstractLeakCheckingTestCase; +import org.springframework.core.io.buffer.AbstractLeakCheckingTests; import org.springframework.core.io.buffer.DataBuffer; import static java.util.Arrays.asList; @@ -45,7 +45,7 @@ import static java.util.Collections.singletonList; * @author Rossen Stoyanchev * @author Juergen Hoeller */ -public class Jackson2TokenizerTests extends AbstractLeakCheckingTestCase { +public class Jackson2TokenizerTests extends AbstractLeakCheckingTests { private JsonFactory jsonFactory; diff --git a/spring-web/src/test/java/org/springframework/http/codec/multipart/MultipartHttpMessageWriterTests.java b/spring-web/src/test/java/org/springframework/http/codec/multipart/MultipartHttpMessageWriterTests.java index 1601819bbac..d1ef5e26f02 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/multipart/MultipartHttpMessageWriterTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/multipart/MultipartHttpMessageWriterTests.java @@ -32,7 +32,7 @@ import org.springframework.core.ResolvableType; import org.springframework.core.codec.StringDecoder; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; -import org.springframework.core.io.buffer.AbstractLeakCheckingTestCase; +import org.springframework.core.io.buffer.AbstractLeakCheckingTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBufferUtils; import org.springframework.core.io.buffer.DefaultDataBufferFactory; @@ -52,7 +52,7 @@ import static org.mockito.Mockito.mock; * @author Sebastien Deleuze * @author Rossen Stoyanchev */ -public class MultipartHttpMessageWriterTests extends AbstractLeakCheckingTestCase { +public class MultipartHttpMessageWriterTests extends AbstractLeakCheckingTests { private final MultipartHttpMessageWriter writer = new MultipartHttpMessageWriter(ClientCodecConfigurer.create().getWriters()); diff --git a/spring-web/src/test/java/org/springframework/http/codec/protobuf/ProtobufDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/protobuf/ProtobufDecoderTests.java index ee1e56f4e32..20b4e490518 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/protobuf/ProtobufDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/protobuf/ProtobufDecoderTests.java @@ -26,7 +26,7 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import org.springframework.core.ResolvableType; -import org.springframework.core.codec.AbstractDecoderTestCase; +import org.springframework.core.codec.AbstractDecoderTests; import org.springframework.core.codec.DecodingException; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBufferUtils; @@ -46,7 +46,7 @@ import static org.springframework.core.io.buffer.DataBufferUtils.release; * * @author Sebastien Deleuze */ -public class ProtobufDecoderTests extends AbstractDecoderTestCase { +public class ProtobufDecoderTests extends AbstractDecoderTests { private final static MimeType PROTOBUF_MIME_TYPE = new MimeType("application", "x-protobuf"); diff --git a/spring-web/src/test/java/org/springframework/http/codec/protobuf/ProtobufEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/protobuf/ProtobufEncoderTests.java index 3f97f903fc5..8bbe558118d 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/protobuf/ProtobufEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/protobuf/ProtobufEncoderTests.java @@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import org.springframework.core.codec.AbstractEncoderTestCase; +import org.springframework.core.codec.AbstractEncoderTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBufferUtils; import org.springframework.http.MediaType; @@ -41,7 +41,7 @@ import static org.springframework.core.ResolvableType.forClass; * * @author Sebastien Deleuze */ -public class ProtobufEncoderTests extends AbstractEncoderTestCase { +public class ProtobufEncoderTests extends AbstractEncoderTests { private final static MimeType PROTOBUF_MIME_TYPE = new MimeType("application", "x-protobuf"); diff --git a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlDecoderTests.java index 62d36b81351..7e969c18ee4 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlDecoderTests.java @@ -29,7 +29,7 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import org.springframework.core.ResolvableType; -import org.springframework.core.io.buffer.AbstractLeakCheckingTestCase; +import org.springframework.core.io.buffer.AbstractLeakCheckingTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.http.MediaType; import org.springframework.http.codec.Pojo; @@ -45,7 +45,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Sebastien Deleuze */ -public class Jaxb2XmlDecoderTests extends AbstractLeakCheckingTestCase { +public class Jaxb2XmlDecoderTests extends AbstractLeakCheckingTests { private static final String POJO_ROOT = "" + "" + diff --git a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlEncoderTests.java index 610da1a5c4e..89def2af9e2 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2XmlEncoderTests.java @@ -29,7 +29,7 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import org.springframework.core.ResolvableType; -import org.springframework.core.codec.AbstractEncoderTestCase; +import org.springframework.core.codec.AbstractEncoderTests; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.http.MediaType; import org.springframework.http.codec.Pojo; @@ -43,7 +43,7 @@ import static org.springframework.core.io.buffer.DataBufferUtils.release; * @author Sebastien Deleuze * @author Arjen Poutsma */ -public class Jaxb2XmlEncoderTests extends AbstractEncoderTestCase { +public class Jaxb2XmlEncoderTests extends AbstractEncoderTests { public Jaxb2XmlEncoderTests() { super(new Jaxb2XmlEncoder()); diff --git a/spring-web/src/test/java/org/springframework/http/codec/xml/XmlEventDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/xml/XmlEventDecoderTests.java index b359fc55e6a..56a271d4577 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/xml/XmlEventDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/xml/XmlEventDecoderTests.java @@ -26,7 +26,7 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import org.springframework.core.io.buffer.AbstractLeakCheckingTestCase; +import org.springframework.core.io.buffer.AbstractLeakCheckingTests; import org.springframework.core.io.buffer.DataBuffer; import static org.assertj.core.api.Assertions.assertThat; @@ -34,7 +34,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Arjen Poutsma */ -public class XmlEventDecoderTests extends AbstractLeakCheckingTestCase { +public class XmlEventDecoderTests extends AbstractLeakCheckingTests { private static final String XML = "" + "" + diff --git a/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeCheckNotModifiedTests.java b/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeCheckNotModifiedTests.java index e945e20d9ba..3f0fdfc90ca 100644 --- a/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeCheckNotModifiedTests.java +++ b/spring-web/src/test/java/org/springframework/web/server/adapter/DefaultServerWebExchangeCheckNotModifiedTests.java @@ -16,20 +16,15 @@ package org.springframework.web.server.adapter; -import java.net.URISyntaxException; import java.text.SimpleDateFormat; import java.time.Instant; import java.time.temporal.ChronoUnit; -import java.util.Arrays; import java.util.Locale; import java.util.TimeZone; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.junit.runners.Parameterized.Parameter; -import org.junit.runners.Parameterized.Parameters; -import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest; import org.springframework.mock.web.test.server.MockServerWebExchange; @@ -42,37 +37,23 @@ import static org.springframework.mock.http.server.reactive.test.MockServerHttpR * * @author Rossen Stoyanchev */ -public class DefaultServerWebExchangeCheckNotModifiedTests { +class DefaultServerWebExchangeCheckNotModifiedTests { private static final String CURRENT_TIME = "Wed, 09 Apr 2014 09:57:42 GMT"; + private final Instant currentDate = Instant.now().truncatedTo(ChronoUnit.SECONDS); - private SimpleDateFormat dateFormat; - - private Instant currentDate; - - @Parameter - public HttpMethod method; - - @Parameters(name = "{0}") - static public Iterable safeMethods() { - return Arrays.asList(new Object[][] { - {HttpMethod.GET}, - {HttpMethod.HEAD} - }); - } + private SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); @BeforeEach - public void setup() throws URISyntaxException { - this.currentDate = Instant.now().truncatedTo(ChronoUnit.SECONDS); - this.dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); + void setup() { this.dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); } @Test - public void checkNotModifiedNon2xxStatus() { + void checkNotModifiedNon2xxStatus() { MockServerHttpRequest request = get("/").ifModifiedSince(this.currentDate.toEpochMilli()).build(); MockServerWebExchange exchange = MockServerWebExchange.from(request); exchange.getResponse().setStatusCode(HttpStatus.NOT_MODIFIED); @@ -83,7 +64,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test // SPR-14559 - public void checkNotModifiedInvalidIfNoneMatchHeader() { + void checkNotModifiedInvalidIfNoneMatchHeader() { String eTag = "\"etagvalue\""; MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch("missingquotes")); assertThat(exchange.checkNotModified(eTag)).isFalse(); @@ -92,7 +73,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedHeaderAlreadySet() { + void checkNotModifiedHeaderAlreadySet() { MockServerHttpRequest request = get("/").ifModifiedSince(currentDate.toEpochMilli()).build(); MockServerWebExchange exchange = MockServerWebExchange.from(request); exchange.getResponse().getHeaders().add("Last-Modified", CURRENT_TIME); @@ -104,7 +85,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedTimestamp() throws Exception { + void checkNotModifiedTimestamp() throws Exception { MockServerHttpRequest request = get("/").ifModifiedSince(currentDate.toEpochMilli()).build(); MockServerWebExchange exchange = MockServerWebExchange.from(request); @@ -115,7 +96,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkModifiedTimestamp() { + void checkModifiedTimestamp() { Instant oneMinuteAgo = currentDate.minusSeconds(60); MockServerHttpRequest request = get("/").ifModifiedSince(oneMinuteAgo.toEpochMilli()).build(); MockServerWebExchange exchange = MockServerWebExchange.from(request); @@ -127,7 +108,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedETag() { + void checkNotModifiedETag() { String eTag = "\"Foo\""; MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(eTag)); @@ -138,7 +119,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedETagWithSeparatorChars() { + void checkNotModifiedETagWithSeparatorChars() { String eTag = "\"Foo, Bar\""; MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(eTag)); @@ -148,9 +129,8 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { assertThat(exchange.getResponse().getHeaders().getETag()).isEqualTo(eTag); } - @Test - public void checkModifiedETag() { + void checkModifiedETag() { String currentETag = "\"Foo\""; String oldEtag = "Bar"; MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(oldEtag)); @@ -162,7 +142,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedUnpaddedETag() { + void checkNotModifiedUnpaddedETag() { String eTag = "Foo"; String paddedEtag = String.format("\"%s\"", eTag); MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(paddedEtag)); @@ -174,7 +154,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkModifiedUnpaddedETag() { + void checkModifiedUnpaddedETag() { String currentETag = "Foo"; String oldEtag = "Bar"; MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(oldEtag)); @@ -186,7 +166,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedWildcardIsIgnored() { + void checkNotModifiedWildcardIsIgnored() { String eTag = "\"Foo\""; MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch("*")); assertThat(exchange.checkNotModified(eTag)).isFalse(); @@ -196,7 +176,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedETagAndTimestamp() { + void checkNotModifiedETagAndTimestamp() { String eTag = "\"Foo\""; long time = currentDate.toEpochMilli(); MockServerHttpRequest request = get("/").ifNoneMatch(eTag).ifModifiedSince(time).build(); @@ -211,7 +191,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { // SPR-14224 @Test - public void checkNotModifiedETagAndModifiedTimestamp() { + void checkNotModifiedETagAndModifiedTimestamp() { String eTag = "\"Foo\""; Instant oneMinuteAgo = currentDate.minusSeconds(60); MockServerWebExchange exchange = MockServerWebExchange.from(get("/") @@ -227,7 +207,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkModifiedETagAndNotModifiedTimestamp() throws Exception { + void checkModifiedETagAndNotModifiedTimestamp() throws Exception { String currentETag = "\"Foo\""; String oldEtag = "\"Bar\""; long time = currentDate.toEpochMilli(); @@ -242,7 +222,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedETagWeakStrong() { + void checkNotModifiedETagWeakStrong() { String eTag = "\"Foo\""; String weakEtag = String.format("W/%s", eTag); MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(eTag)); @@ -254,7 +234,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedETagStrongWeak() { + void checkNotModifiedETagStrongWeak() { String eTag = "\"Foo\""; MockServerHttpRequest request = get("/").ifNoneMatch(String.format("W/%s", eTag)).build(); MockServerWebExchange exchange = MockServerWebExchange.from(request); @@ -266,7 +246,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedMultipleETags() { + void checkNotModifiedMultipleETags() { String eTag = "\"Bar\""; String multipleETags = String.format("\"Foo\", %s", eTag); MockServerWebExchange exchange = MockServerWebExchange.from(get("/").ifNoneMatch(multipleETags)); @@ -278,7 +258,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedTimestampWithLengthPart() throws Exception { + void checkNotModifiedTimestampWithLengthPart() throws Exception { long epochTime = dateFormat.parse(CURRENT_TIME).getTime(); String header = "Wed, 09 Apr 2014 09:57:42 GMT; length=13774"; MockServerHttpRequest request = get("/").header("If-Modified-Since", header).build(); @@ -291,7 +271,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkModifiedTimestampWithLengthPart() throws Exception { + void checkModifiedTimestampWithLengthPart() throws Exception { long epochTime = dateFormat.parse(CURRENT_TIME).getTime(); String header = "Tue, 08 Apr 2014 09:57:42 GMT; length=13774"; MockServerHttpRequest request = get("/").header("If-Modified-Since", header).build(); @@ -304,7 +284,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedTimestampConditionalPut() throws Exception { + void checkNotModifiedTimestampConditionalPut() throws Exception { Instant oneMinuteAgo = currentDate.minusSeconds(60); long millis = currentDate.toEpochMilli(); MockServerHttpRequest request = MockServerHttpRequest.put("/").ifUnmodifiedSince(millis).build(); @@ -316,7 +296,7 @@ public class DefaultServerWebExchangeCheckNotModifiedTests { } @Test - public void checkNotModifiedTimestampConditionalPutConflict() throws Exception { + void checkNotModifiedTimestampConditionalPutConflict() throws Exception { Instant oneMinuteAgo = currentDate.minusSeconds(60); long millis = oneMinuteAgo.toEpochMilli(); MockServerHttpRequest request = MockServerHttpRequest.put("/").ifUnmodifiedSince(millis).build(); diff --git a/src/checkstyle/checkstyle-suppressions.xml b/src/checkstyle/checkstyle-suppressions.xml index c8f825ec348..e3382a62004 100644 --- a/src/checkstyle/checkstyle-suppressions.xml +++ b/src/checkstyle/checkstyle-suppressions.xml @@ -4,6 +4,7 @@ + @@ -24,6 +25,7 @@ + @@ -58,39 +60,27 @@ - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/checkstyle/checkstyle.xml b/src/checkstyle/checkstyle.xml index 6cae1f2606b..3ec2dc0b889 100644 --- a/src/checkstyle/checkstyle.xml +++ b/src/checkstyle/checkstyle.xml @@ -100,13 +100,33 @@ + value="^reactor\.core\.support\.Assert,^org\.slf4j\.LoggerFactory" /> + + + + + + + + + + + + + + + + + + + + - +