Suppress warnings, remove unused code, etc.
This commit is contained in:
parent
2f0970b184
commit
9d5881e0ad
|
@ -74,7 +74,6 @@ import org.springframework.beans.factory.support.BeanDefinitionOverrideException
|
|||
import org.springframework.beans.factory.support.ChildBeanDefinition;
|
||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||
import org.springframework.beans.factory.support.ManagedList;
|
||||
import org.springframework.beans.factory.support.PropertiesBeanDefinitionReader;
|
||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||
import org.springframework.beans.factory.xml.ConstructorDependenciesBean;
|
||||
import org.springframework.beans.propertyeditors.CustomNumberEditor;
|
||||
|
@ -139,7 +138,7 @@ class DefaultListableBeanFactoryTests {
|
|||
Properties p = new Properties();
|
||||
p.setProperty("x1.(class)", KnowsIfInstantiated.class.getName());
|
||||
assertThat(!KnowsIfInstantiated.wasInstantiated()).as("singleton not instantiated").isTrue();
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
lbf.preInstantiateSingletons();
|
||||
assertThat(KnowsIfInstantiated.wasInstantiated()).as("singleton was instantiated").isTrue();
|
||||
}
|
||||
|
@ -151,7 +150,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("x1.(class)", KnowsIfInstantiated.class.getName());
|
||||
p.setProperty("x1.(lazy-init)", "true");
|
||||
assertThat(!KnowsIfInstantiated.wasInstantiated()).as("singleton not instantiated").isTrue();
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
assertThat(!KnowsIfInstantiated.wasInstantiated()).as("singleton not instantiated").isTrue();
|
||||
lbf.preInstantiateSingletons();
|
||||
|
||||
|
@ -168,7 +167,7 @@ class DefaultListableBeanFactoryTests {
|
|||
DummyFactory.reset();
|
||||
p.setProperty("x1.singleton", "false");
|
||||
assertThat(!DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isTrue();
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
assertThat(!DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isTrue();
|
||||
assertThat(lbf.getType("x1")).isEqualTo(TestBean.class);
|
||||
lbf.preInstantiateSingletons();
|
||||
|
@ -189,7 +188,7 @@ class DefaultListableBeanFactoryTests {
|
|||
DummyFactory.reset();
|
||||
p.setProperty("x1.(singleton)", "false");
|
||||
p.setProperty("x1.singleton", "false");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
|
||||
assertThat(!DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isTrue();
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
|
@ -223,7 +222,7 @@ class DefaultListableBeanFactoryTests {
|
|||
DummyFactory.reset();
|
||||
p.setProperty("x1.(singleton)", "false");
|
||||
p.setProperty("x1.singleton", "true");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
|
||||
assertThat(!DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isTrue();
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
|
@ -256,7 +255,7 @@ class DefaultListableBeanFactoryTests {
|
|||
// Reset static state
|
||||
DummyFactory.reset();
|
||||
p.setProperty("x1.singleton", "false");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
|
||||
assertThat(!DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isTrue();
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
|
@ -289,7 +288,7 @@ class DefaultListableBeanFactoryTests {
|
|||
// Reset static state
|
||||
DummyFactory.reset();
|
||||
p.setProperty("x1.singleton", "false");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
lbf.preInstantiateSingletons();
|
||||
|
||||
assertThat(!DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isTrue();
|
||||
|
@ -483,7 +482,7 @@ class DefaultListableBeanFactoryTests {
|
|||
@Test
|
||||
void emptyPropertiesPopulation() {
|
||||
Properties p = new Properties();
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
assertThat(lbf.getBeanDefinitionCount() == 0).as("No beans defined after ignorable invalid").isTrue();
|
||||
}
|
||||
|
||||
|
@ -492,7 +491,7 @@ class DefaultListableBeanFactoryTests {
|
|||
Properties p = new Properties();
|
||||
p.setProperty("foo", "bar");
|
||||
p.setProperty("qwert", "er");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p, "test");
|
||||
registerBeanDefinitions(p, "test");
|
||||
assertThat(lbf.getBeanDefinitionCount() == 0).as("No beans defined after harmless ignorable rubbish").isTrue();
|
||||
}
|
||||
|
||||
|
@ -502,7 +501,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("test.(class)", TestBean.class.getName());
|
||||
p.setProperty("test.name", "Tony");
|
||||
p.setProperty("test.age", "48");
|
||||
int count = (new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
int count = registerBeanDefinitions(p);
|
||||
assertThat(count == 1).as("1 beans registered, not " + count).isTrue();
|
||||
singleTestBean(lbf);
|
||||
}
|
||||
|
@ -514,7 +513,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty(PREFIX + "test.(class)", TestBean.class.getName());
|
||||
p.setProperty(PREFIX + "test.name", "Tony");
|
||||
p.setProperty(PREFIX + "test.age", "0x30");
|
||||
int count = (new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p, PREFIX);
|
||||
int count = registerBeanDefinitions(p, PREFIX);
|
||||
assertThat(count == 1).as("1 beans registered, not " + count).isTrue();
|
||||
singleTestBean(lbf);
|
||||
}
|
||||
|
@ -532,7 +531,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty(PREFIX + "kerry.age", "35");
|
||||
p.setProperty(PREFIX + "kerry.spouse(ref)", "rod");
|
||||
|
||||
int count = (new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p, PREFIX);
|
||||
int count = registerBeanDefinitions(p, PREFIX);
|
||||
assertThat(count == 2).as("2 beans registered, not " + count).isTrue();
|
||||
|
||||
TestBean kerry = lbf.getBean("kerry", TestBean.class);
|
||||
|
@ -549,7 +548,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("tb.(class)", TestBean.class.getName());
|
||||
p.setProperty("tb.someMap[my.key]", "my.value");
|
||||
|
||||
int count = (new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
int count = registerBeanDefinitions(p);
|
||||
assertThat(count == 1).as("1 beans registered, not " + count).isTrue();
|
||||
assertThat(lbf.getBeanDefinitionCount()).isEqualTo(1);
|
||||
|
||||
|
@ -567,7 +566,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty(PREFIX + "kerry.age", "35");
|
||||
p.setProperty(PREFIX + "kerry.spouse(ref)", "rod");
|
||||
|
||||
new PropertiesBeanDefinitionReader(lbf).registerBeanDefinitions(p, PREFIX);
|
||||
registerBeanDefinitions(p, PREFIX);
|
||||
assertThatExceptionOfType(BeansException.class).as("unresolved reference").isThrownBy(() ->
|
||||
lbf.getBean("kerry"));
|
||||
}
|
||||
|
@ -690,7 +689,7 @@ class DefaultListableBeanFactoryTests {
|
|||
Properties p = new Properties();
|
||||
p.setProperty("kerry.(class)", TestBean.class.getName());
|
||||
p.setProperty("kerry.age", "35");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
TestBean kerry1 = (TestBean) lbf.getBean("kerry");
|
||||
TestBean kerry2 = (TestBean) lbf.getBean("kerry");
|
||||
assertThat(kerry1 != null).as("Non null").isTrue();
|
||||
|
@ -701,7 +700,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("kerry.(class)", TestBean.class.getName());
|
||||
p.setProperty("kerry.(scope)", "prototype");
|
||||
p.setProperty("kerry.age", "35");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
kerry1 = (TestBean) lbf.getBean("kerry");
|
||||
kerry2 = (TestBean) lbf.getBean("kerry");
|
||||
assertThat(kerry1 != null).as("Non null").isTrue();
|
||||
|
@ -712,7 +711,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("kerry.(class)", TestBean.class.getName());
|
||||
p.setProperty("kerry.(scope)", "singleton");
|
||||
p.setProperty("kerry.age", "35");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
kerry1 = (TestBean) lbf.getBean("kerry");
|
||||
kerry2 = (TestBean) lbf.getBean("kerry");
|
||||
assertThat(kerry1 != null).as("Non null").isTrue();
|
||||
|
@ -731,7 +730,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("rod.age", "34");
|
||||
p.setProperty("rod.spouse", "*kerry");
|
||||
|
||||
new PropertiesBeanDefinitionReader(lbf).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
assertThatExceptionOfType(BeanCreationException.class).isThrownBy(() ->
|
||||
lbf.getBean("kerry"))
|
||||
.satisfies(ex -> assertThat(ex.contains(BeanCurrentlyInCreationException.class)).isTrue());
|
||||
|
@ -745,7 +744,7 @@ class DefaultListableBeanFactoryTests {
|
|||
|
||||
p.setProperty("kerry.(parent)", "wife");
|
||||
p.setProperty("kerry.age", "35");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
TestBean kerry1 = (TestBean) lbf.getBean("kerry");
|
||||
TestBean kerry2 = (TestBean) lbf.getBean("kerry");
|
||||
assertThat(kerry1.getName()).isEqualTo("kerry");
|
||||
|
@ -760,7 +759,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("kerry.(parent)", "wife");
|
||||
p.setProperty("kerry.(singleton)", "false");
|
||||
p.setProperty("kerry.age", "35");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
assertThat(lbf.isSingleton("kerry")).isFalse();
|
||||
kerry1 = (TestBean) lbf.getBean("kerry");
|
||||
kerry2 = (TestBean) lbf.getBean("kerry");
|
||||
|
@ -772,7 +771,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("kerry.(class)", TestBean.class.getName());
|
||||
p.setProperty("kerry.(singleton)", "true");
|
||||
p.setProperty("kerry.age", "35");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
kerry1 = (TestBean) lbf.getBean("kerry");
|
||||
kerry2 = (TestBean) lbf.getBean("kerry");
|
||||
assertThat(kerry1 != null).as("Non null").isTrue();
|
||||
|
@ -823,9 +822,9 @@ class DefaultListableBeanFactoryTests {
|
|||
Properties p = new Properties();
|
||||
p.setProperty("kerry.(class)", TestBean.class.getName());
|
||||
p.setProperty("kerry.age", "35");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
try {
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
}
|
||||
catch (BeanDefinitionStoreException ex) {
|
||||
assertThat(ex.getBeanName()).isEqualTo("kerry");
|
||||
|
@ -965,7 +964,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("k.(class)", TestBean.class.getName());
|
||||
p.setProperty("k.name", "kerry");
|
||||
p.setProperty("k.spouse", "*r");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
TestBean k = (TestBean) lbf.getBean("k");
|
||||
TestBean r = (TestBean) lbf.getBean("r");
|
||||
assertThat(k.getSpouse() == r).isTrue();
|
||||
|
@ -977,7 +976,7 @@ class DefaultListableBeanFactoryTests {
|
|||
Properties p = new Properties();
|
||||
p.setProperty("r.(class)", TestBean.class.getName());
|
||||
p.setProperty("r.name", "*" + name);
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
TestBean r = (TestBean) lbf.getBean("r");
|
||||
assertThat(r.getName().equals(name)).isTrue();
|
||||
}
|
||||
|
@ -1081,7 +1080,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("test.name", "Tony");
|
||||
p.setProperty("test.age", "48");
|
||||
p.setProperty("test.spouse(ref)", "singletonObject");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
Object singletonObject = new TestBean();
|
||||
lbf.registerSingleton("singletonObject", singletonObject);
|
||||
|
||||
|
@ -1117,7 +1116,7 @@ class DefaultListableBeanFactoryTests {
|
|||
p.setProperty("test.name", "Tony");
|
||||
p.setProperty("test.age", "48");
|
||||
p.setProperty("test.spouse(ref)", "singletonObject");
|
||||
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
registerBeanDefinitions(p);
|
||||
lbf.registerBeanDefinition("singletonObject", new RootBeanDefinition(PropertiesFactoryBean.class));
|
||||
Object singletonObject = new TestBean();
|
||||
lbf.registerSingleton("singletonObject", singletonObject);
|
||||
|
@ -2895,6 +2894,16 @@ class DefaultListableBeanFactoryTests {
|
|||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private int registerBeanDefinitions(Properties p) {
|
||||
return (new org.springframework.beans.factory.support.PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private int registerBeanDefinitions(Properties p, String prefix) {
|
||||
return (new org.springframework.beans.factory.support.PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p, prefix);
|
||||
}
|
||||
|
||||
|
||||
static class A { }
|
||||
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -26,7 +26,8 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
/**
|
||||
* @author Rob Harrop
|
||||
*/
|
||||
public class PropertiesBeanDefinitionReaderTests {
|
||||
@SuppressWarnings("deprecation")
|
||||
class PropertiesBeanDefinitionReaderTests {
|
||||
|
||||
private final DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
|
||||
|
||||
|
@ -34,14 +35,14 @@ public class PropertiesBeanDefinitionReaderTests {
|
|||
|
||||
|
||||
@Test
|
||||
public void withSimpleConstructorArg() {
|
||||
void withSimpleConstructorArg() {
|
||||
this.reader.loadBeanDefinitions(new ClassPathResource("simpleConstructorArg.properties", getClass()));
|
||||
TestBean bean = (TestBean) this.beanFactory.getBean("testBean");
|
||||
assertThat(bean.getName()).isEqualTo("Rob Harrop");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void withConstructorArgRef() {
|
||||
void withConstructorArgRef() {
|
||||
this.reader.loadBeanDefinitions(new ClassPathResource("refConstructorArg.properties", getClass()));
|
||||
TestBean rob = (TestBean) this.beanFactory.getBean("rob");
|
||||
TestBean sally = (TestBean) this.beanFactory.getBean("sally");
|
||||
|
@ -49,7 +50,7 @@ public class PropertiesBeanDefinitionReaderTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void withMultipleConstructorsArgs() {
|
||||
void withMultipleConstructorsArgs() {
|
||||
this.reader.loadBeanDefinitions(new ClassPathResource("multiConstructorArgs.properties", getClass()));
|
||||
TestBean bean = (TestBean) this.beanFactory.getBean("testBean");
|
||||
assertThat(bean.getName()).isEqualTo("Rob Harrop");
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -25,8 +25,6 @@ import org.springframework.core.io.ClassPathResource;
|
|||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Tests for propagating enclosing beans element defaults to nested beans elements.
|
||||
*
|
||||
|
@ -69,7 +67,6 @@ public class NestedBeansElementAttributeRecursionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("unchecked")
|
||||
public void defaultMerge() {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
new XmlBeanDefinitionReader(bf).loadBeanDefinitions(
|
||||
|
@ -79,7 +76,6 @@ public class NestedBeansElementAttributeRecursionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("unchecked")
|
||||
public void defaultMergeWithNonValidatingParser() {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
XmlBeanDefinitionReader xmlBeanDefinitionReader = new XmlBeanDefinitionReader(bf);
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -175,12 +175,14 @@ public class JdbcTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void testStringsWithEmptyPreparedStatementArgs() throws Exception {
|
||||
doTestStrings(null, null, null, null,
|
||||
(template, sql, rch) -> template.query(sql, (Object[]) null, rch));
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void testStringsWithPreparedStatementArgs() throws Exception {
|
||||
final Integer argument = 99;
|
||||
doTestStrings(null, null, null, argument,
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -112,6 +112,7 @@ public class RowMapperTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void queryWithArgsAndRowMapper() throws SQLException {
|
||||
result = template.query("some SQL", new Object[] { "test1", "test2" }, testRowMapper);
|
||||
preparedStatement.setString(1, "test1");
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -98,7 +98,7 @@ public abstract class AbstractUnmarshallerTests<U extends Unmarshaller> {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
@SuppressWarnings("deprecation") // on JDK 9
|
||||
public void unmarshalSAXSource() throws Exception {
|
||||
XMLReader reader = org.xml.sax.helpers.XMLReaderFactory.createXMLReader();
|
||||
SAXSource source = new SAXSource(reader, new InputSource(new StringReader(INPUT_STRING)));
|
||||
|
|
|
@ -30,18 +30,18 @@ import static org.mockito.BDDMockito.when;
|
|||
*
|
||||
* @author Mark Paluch
|
||||
*/
|
||||
public class DelegatingConnectionFactoryUnitTests {
|
||||
class DelegatingConnectionFactoryUnitTests {
|
||||
|
||||
ConnectionFactory delegate = mock(ConnectionFactory.class);
|
||||
|
||||
Connection connectionMock = mock(Connection.class);
|
||||
|
||||
DelegatingConnectionFactory connectionFactory = new ExampleConnectionFactory(
|
||||
delegate);
|
||||
DelegatingConnectionFactory connectionFactory = new ExampleConnectionFactory(delegate);
|
||||
|
||||
|
||||
@Test
|
||||
public void shouldDelegateGetConnection() {
|
||||
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
void shouldDelegateGetConnection() {
|
||||
Mono<Connection> connectionMono = Mono.just(connectionMock);
|
||||
when(delegate.create()).thenReturn((Mono) connectionMono);
|
||||
|
||||
|
@ -49,7 +49,7 @@ public class DelegatingConnectionFactoryUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void shouldDelegateUnwrapWithoutImplementing() {
|
||||
void shouldDelegateUnwrapWithoutImplementing() {
|
||||
assertThat(connectionFactory.unwrap()).isSameAs(delegate);
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ import static org.mockito.BDDMockito.when;
|
|||
*
|
||||
* @author Mark Paluch
|
||||
*/
|
||||
public class R2dbcTransactionManagerUnitTests {
|
||||
class R2dbcTransactionManagerUnitTests {
|
||||
|
||||
ConnectionFactory connectionFactoryMock = mock(ConnectionFactory.class);
|
||||
|
||||
|
@ -62,8 +62,8 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
private R2dbcTransactionManager tm;
|
||||
|
||||
@BeforeEach
|
||||
public void before() {
|
||||
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
void before() {
|
||||
when(connectionFactoryMock.create()).thenReturn((Mono) Mono.just(connectionMock));
|
||||
when(connectionMock.beginTransaction()).thenReturn(Mono.empty());
|
||||
when(connectionMock.close()).thenReturn(Mono.empty());
|
||||
|
@ -71,7 +71,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSimpleTransaction() {
|
||||
void testSimpleTransaction() {
|
||||
TestTransactionSynchronization sync = new TestTransactionSynchronization(
|
||||
TransactionSynchronization.STATUS_COMMITTED);
|
||||
AtomicInteger commits = new AtomicInteger();
|
||||
|
@ -103,7 +103,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testBeginFails() {
|
||||
void testBeginFails() {
|
||||
reset(connectionFactoryMock);
|
||||
when(connectionFactoryMock.create()).thenReturn(
|
||||
Mono.error(new R2dbcBadGrammarException("fail")));
|
||||
|
@ -125,7 +125,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void appliesIsolationLevel() {
|
||||
void appliesIsolationLevel() {
|
||||
when(connectionMock.commitTransaction()).thenReturn(Mono.empty());
|
||||
when(connectionMock.getTransactionIsolationLevel()).thenReturn(
|
||||
IsolationLevel.READ_COMMITTED);
|
||||
|
@ -151,7 +151,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void doesNotSetIsolationLevelIfMatch() {
|
||||
void doesNotSetIsolationLevelIfMatch() {
|
||||
when(connectionMock.getTransactionIsolationLevel()).thenReturn(
|
||||
IsolationLevel.READ_COMMITTED);
|
||||
when(connectionMock.commitTransaction()).thenReturn(Mono.empty());
|
||||
|
@ -173,7 +173,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void doesNotSetAutoCommitDisabled() {
|
||||
void doesNotSetAutoCommitDisabled() {
|
||||
when(connectionMock.isAutoCommit()).thenReturn(false);
|
||||
when(connectionMock.commitTransaction()).thenReturn(Mono.empty());
|
||||
|
||||
|
@ -193,7 +193,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void restoresAutoCommit() {
|
||||
void restoresAutoCommit() {
|
||||
when(connectionMock.isAutoCommit()).thenReturn(true);
|
||||
when(connectionMock.setAutoCommit(anyBoolean())).thenReturn(Mono.empty());
|
||||
when(connectionMock.commitTransaction()).thenReturn(Mono.empty());
|
||||
|
@ -216,7 +216,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void appliesReadOnly() {
|
||||
void appliesReadOnly() {
|
||||
when(connectionMock.commitTransaction()).thenReturn(Mono.empty());
|
||||
when(connectionMock.setTransactionIsolationLevel(any())).thenReturn(Mono.empty());
|
||||
Statement statement = mock(Statement.class);
|
||||
|
@ -244,7 +244,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testCommitFails() {
|
||||
void testCommitFails() {
|
||||
when(connectionMock.commitTransaction()).thenReturn(Mono.defer(() -> Mono.error(new R2dbcBadGrammarException("Commit should fail"))));
|
||||
|
||||
when(connectionMock.rollbackTransaction()).thenReturn(Mono.empty());
|
||||
|
@ -266,7 +266,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testRollback() {
|
||||
void testRollback() {
|
||||
|
||||
AtomicInteger commits = new AtomicInteger();
|
||||
when(connectionMock.commitTransaction()).thenReturn(
|
||||
|
@ -295,7 +295,8 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testRollbackFails() {
|
||||
@SuppressWarnings("unchecked")
|
||||
void testRollbackFails() {
|
||||
when(connectionMock.rollbackTransaction()).thenReturn(Mono.defer(() -> Mono.error(new R2dbcBadGrammarException("Commit should fail"))), Mono.empty());
|
||||
|
||||
TransactionalOperator operator = TransactionalOperator.create(tm);
|
||||
|
@ -319,7 +320,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testTransactionSetRollbackOnly() {
|
||||
void testTransactionSetRollbackOnly() {
|
||||
when(connectionMock.rollbackTransaction()).thenReturn(Mono.empty());
|
||||
TestTransactionSynchronization sync = new TestTransactionSynchronization(
|
||||
TransactionSynchronization.STATUS_ROLLED_BACK);
|
||||
|
@ -352,7 +353,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testPropagationNeverWithExistingTransaction() {
|
||||
void testPropagationNeverWithExistingTransaction() {
|
||||
when(connectionMock.rollbackTransaction()).thenReturn(Mono.empty());
|
||||
|
||||
DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
|
||||
|
@ -377,7 +378,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testPropagationSupportsAndRequiresNew() {
|
||||
void testPropagationSupportsAndRequiresNew() {
|
||||
when(connectionMock.commitTransaction()).thenReturn(Mono.empty());
|
||||
|
||||
DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
|
||||
|
@ -419,9 +420,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
|
||||
public boolean afterCompletionCalled;
|
||||
|
||||
public Throwable afterCompletionException;
|
||||
|
||||
public TestTransactionSynchronization(int status) {
|
||||
TestTransactionSynchronization(int status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
|
@ -471,7 +470,7 @@ public class R2dbcTransactionManagerUnitTests {
|
|||
return Mono.fromRunnable(() -> doAfterCompletion(status));
|
||||
}
|
||||
catch (Throwable ex) {
|
||||
this.afterCompletionException = ex;
|
||||
// ignore
|
||||
}
|
||||
|
||||
return Mono.empty();
|
||||
|
|
|
@ -37,12 +37,11 @@ import static org.mockito.BDDMockito.when;
|
|||
*
|
||||
* @author Mark Paluch
|
||||
*/
|
||||
public class SingleConnectionFactoryUnitTests {
|
||||
class SingleConnectionFactoryUnitTests {
|
||||
|
||||
@Test
|
||||
public void shouldAllocateSameConnection() {
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory(
|
||||
"r2dbc:h2:mem:///foo", false);
|
||||
void shouldAllocateSameConnection() {
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory("r2dbc:h2:mem:///foo", false);
|
||||
|
||||
Mono<? extends Connection> cf1 = factory.create();
|
||||
Mono<? extends Connection> cf2 = factory.create();
|
||||
|
@ -55,9 +54,8 @@ public class SingleConnectionFactoryUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void shouldApplyAutoCommit() {
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory(
|
||||
"r2dbc:h2:mem:///foo", false);
|
||||
void shouldApplyAutoCommit() {
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory("r2dbc:h2:mem:///foo", false);
|
||||
factory.setAutoCommit(false);
|
||||
|
||||
factory.create().as(StepVerifier::create)
|
||||
|
@ -74,9 +72,9 @@ public class SingleConnectionFactoryUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void shouldSuppressClose() {
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory(
|
||||
"r2dbc:h2:mem:///foo", true);
|
||||
@SuppressWarnings("rawtypes")
|
||||
void shouldSuppressClose() {
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory("r2dbc:h2:mem:///foo", true);
|
||||
|
||||
Connection connection = factory.create().block();
|
||||
|
||||
|
@ -91,27 +89,24 @@ public class SingleConnectionFactoryUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void shouldNotSuppressClose() {
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory(
|
||||
"r2dbc:h2:mem:///foo", false);
|
||||
void shouldNotSuppressClose() {
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory("r2dbc:h2:mem:///foo", false);
|
||||
|
||||
Connection connection = factory.create().block();
|
||||
|
||||
StepVerifier.create(connection.close()).verifyComplete();
|
||||
|
||||
StepVerifier.create(connection.setTransactionIsolationLevel(
|
||||
IsolationLevel.READ_COMMITTED)).verifyError(
|
||||
R2dbcNonTransientResourceException.class);
|
||||
StepVerifier.create(connection.setTransactionIsolationLevel(IsolationLevel.READ_COMMITTED))
|
||||
.verifyError(R2dbcNonTransientResourceException.class);
|
||||
factory.destroy();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void releaseConnectionShouldNotCloseConnection() {
|
||||
void releaseConnectionShouldNotCloseConnection() {
|
||||
Connection connectionMock = mock(Connection.class);
|
||||
ConnectionFactoryMetadata metadata = mock(ConnectionFactoryMetadata.class);
|
||||
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory(
|
||||
connectionMock, metadata, true);
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory(connectionMock, metadata, true);
|
||||
|
||||
Connection connection = factory.create().block();
|
||||
|
||||
|
@ -123,14 +118,13 @@ public class SingleConnectionFactoryUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void releaseConnectionShouldCloseUnrelatedConnection() {
|
||||
void releaseConnectionShouldCloseUnrelatedConnection() {
|
||||
Connection connectionMock = mock(Connection.class);
|
||||
Connection otherConnection = mock(Connection.class);
|
||||
ConnectionFactoryMetadata metadata = mock(ConnectionFactoryMetadata.class);
|
||||
when(otherConnection.close()).thenReturn(Mono.empty());
|
||||
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory(
|
||||
connectionMock, metadata, false);
|
||||
SingleConnectionFactory factory = new SingleConnectionFactory(connectionMock, metadata, false);
|
||||
|
||||
factory.create().as(StepVerifier::create).expectNextCount(1).verifyComplete();
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ import static org.mockito.BDDMockito.when;
|
|||
* @author Mark Paluch
|
||||
* @author Christoph Strobl
|
||||
*/
|
||||
public class TransactionAwareConnectionFactoryProxyUnitTests {
|
||||
class TransactionAwareConnectionFactoryProxyUnitTests {
|
||||
|
||||
ConnectionFactory connectionFactoryMock = mock(ConnectionFactory.class);
|
||||
|
||||
|
@ -55,14 +55,15 @@ public class TransactionAwareConnectionFactoryProxyUnitTests {
|
|||
R2dbcTransactionManager tm;
|
||||
|
||||
@BeforeEach
|
||||
public void before() {
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
void before() {
|
||||
when(connectionFactoryMock.create()).thenReturn((Mono) Mono.just(connectionMock1),
|
||||
(Mono) Mono.just(connectionMock2), (Mono) Mono.just(connectionMock3));
|
||||
tm = new R2dbcTransactionManager(connectionFactoryMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createShouldWrapConnection() {
|
||||
void createShouldWrapConnection() {
|
||||
new TransactionAwareConnectionFactoryProxy(connectionFactoryMock).create()
|
||||
.as(StepVerifier::create)
|
||||
.consumeNextWith(connection -> assertThat(connection).isInstanceOf(Wrapped.class))
|
||||
|
@ -70,7 +71,7 @@ public class TransactionAwareConnectionFactoryProxyUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void unwrapShouldReturnTargetConnection() {
|
||||
void unwrapShouldReturnTargetConnection() {
|
||||
new TransactionAwareConnectionFactoryProxy(connectionFactoryMock).create()
|
||||
.map(Wrapped.class::cast).as(StepVerifier::create)
|
||||
.consumeNextWith(wrapped -> assertThat(wrapped.unwrap()).isEqualTo(connectionMock1))
|
||||
|
@ -78,7 +79,7 @@ public class TransactionAwareConnectionFactoryProxyUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void unwrapShouldReturnTargetConnectionEvenWhenClosed() {
|
||||
void unwrapShouldReturnTargetConnectionEvenWhenClosed() {
|
||||
when(connectionMock1.close()).thenReturn(Mono.empty());
|
||||
|
||||
new TransactionAwareConnectionFactoryProxy(connectionFactoryMock).create()
|
||||
|
@ -90,7 +91,7 @@ public class TransactionAwareConnectionFactoryProxyUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void getTargetConnectionShouldReturnTargetConnection() {
|
||||
void getTargetConnectionShouldReturnTargetConnection() {
|
||||
new TransactionAwareConnectionFactoryProxy(connectionFactoryMock).create()
|
||||
.map(Wrapped.class::cast).as(StepVerifier::create)
|
||||
.consumeNextWith(wrapped -> assertThat(wrapped.unwrap()).isEqualTo(connectionMock1))
|
||||
|
@ -98,7 +99,7 @@ public class TransactionAwareConnectionFactoryProxyUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void getMetadataShouldThrowsErrorEvenWhenClosed() {
|
||||
void getMetadataShouldThrowsErrorEvenWhenClosed() {
|
||||
when(connectionMock1.close()).thenReturn(Mono.empty());
|
||||
|
||||
new TransactionAwareConnectionFactoryProxy(connectionFactoryMock).create()
|
||||
|
@ -110,7 +111,7 @@ public class TransactionAwareConnectionFactoryProxyUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void hashCodeShouldReturnProxyHash() {
|
||||
void hashCodeShouldReturnProxyHash() {
|
||||
new TransactionAwareConnectionFactoryProxy(connectionFactoryMock).create()
|
||||
.map(Connection.class::cast).as(StepVerifier::create)
|
||||
.consumeNextWith(connection -> assertThat(connection.hashCode()).isEqualTo(
|
||||
|
@ -118,7 +119,7 @@ public class TransactionAwareConnectionFactoryProxyUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void equalsShouldCompareCorrectly() {
|
||||
void equalsShouldCompareCorrectly() {
|
||||
new TransactionAwareConnectionFactoryProxy(connectionFactoryMock).create()
|
||||
.map(Connection.class::cast).as(StepVerifier::create)
|
||||
.consumeNextWith(connection -> {
|
||||
|
@ -128,7 +129,7 @@ public class TransactionAwareConnectionFactoryProxyUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void shouldEmitBoundConnection() {
|
||||
void shouldEmitBoundConnection() {
|
||||
when(connectionMock1.beginTransaction()).thenReturn(Mono.empty());
|
||||
when(connectionMock1.commitTransaction()).thenReturn(Mono.empty());
|
||||
when(connectionMock1.close()).thenReturn(Mono.empty());
|
||||
|
|
|
@ -66,7 +66,7 @@ import static org.mockito.BDDMockito.when;
|
|||
*/
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
@MockitoSettings(strictness = Strictness.LENIENT)
|
||||
public class DefaultDatabaseClientUnitTests {
|
||||
class DefaultDatabaseClientUnitTests {
|
||||
|
||||
@Mock
|
||||
Connection connection;
|
||||
|
@ -74,7 +74,8 @@ public class DefaultDatabaseClientUnitTests {
|
|||
private DatabaseClient.Builder databaseClientBuilder;
|
||||
|
||||
@BeforeEach
|
||||
public void before() {
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
void before() {
|
||||
ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
|
||||
|
||||
when(connectionFactory.create()).thenReturn((Publisher) Mono.just(connection));
|
||||
|
@ -85,7 +86,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void shouldCloseConnectionOnlyOnce() {
|
||||
void shouldCloseConnectionOnlyOnce() {
|
||||
DefaultDatabaseClient databaseClient = (DefaultDatabaseClient) databaseClientBuilder.build();
|
||||
|
||||
Flux<Object> flux = databaseClient.inConnectionMany(connection -> Flux.empty());
|
||||
|
@ -118,7 +119,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void executeShouldBindNullValues() {
|
||||
void executeShouldBindNullValues() {
|
||||
Statement statement = mockStatementFor("SELECT * FROM table WHERE key = $1");
|
||||
|
||||
DatabaseClient databaseClient = databaseClientBuilder.namedParameters(false).build();
|
||||
|
@ -135,7 +136,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void executeShouldBindSettableValues() {
|
||||
void executeShouldBindSettableValues() {
|
||||
Statement statement = mockStatementFor("SELECT * FROM table WHERE key = $1");
|
||||
|
||||
DatabaseClient databaseClient = databaseClientBuilder.namedParameters(false).build();
|
||||
|
@ -154,7 +155,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void executeShouldBindNamedNullValues() {
|
||||
void executeShouldBindNamedNullValues() {
|
||||
|
||||
Statement statement = mockStatementFor("SELECT * FROM table WHERE key = $1");
|
||||
DatabaseClient databaseClient = databaseClientBuilder.build();
|
||||
|
@ -166,7 +167,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void executeShouldBindNamedValuesFromIndexes() {
|
||||
void executeShouldBindNamedValuesFromIndexes() {
|
||||
Statement statement = mockStatementFor(
|
||||
"SELECT id, name, manual FROM legoset WHERE name IN ($1, $2, $3)");
|
||||
|
||||
|
@ -185,7 +186,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void executeShouldBindValues() {
|
||||
void executeShouldBindValues() {
|
||||
Statement statement = mockStatementFor("SELECT * FROM table WHERE key = $1");
|
||||
|
||||
DatabaseClient databaseClient = databaseClientBuilder.build();
|
||||
|
@ -202,7 +203,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void executeShouldBindNamedValuesByIndex() {
|
||||
void executeShouldBindNamedValuesByIndex() {
|
||||
|
||||
Statement statement = mockStatementFor("SELECT * FROM table WHERE key = $1");
|
||||
DatabaseClient databaseClient = databaseClientBuilder.build();
|
||||
|
@ -214,11 +215,11 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void rowsUpdatedShouldEmitSingleValue() {
|
||||
@SuppressWarnings("unchecked")
|
||||
void rowsUpdatedShouldEmitSingleValue() {
|
||||
|
||||
Result result = mock(Result.class);
|
||||
when(result.getRowsUpdated()).thenReturn(Mono.empty(), Mono.just(2),
|
||||
Flux.just(1, 2, 3));
|
||||
when(result.getRowsUpdated()).thenReturn(Mono.empty(), Mono.just(2), Flux.just(1, 2, 3));
|
||||
mockStatementFor("DROP TABLE tab;", result);
|
||||
|
||||
DatabaseClient databaseClient = databaseClientBuilder.build();
|
||||
|
@ -234,7 +235,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void selectShouldEmitFirstValue() {
|
||||
void selectShouldEmitFirstValue() {
|
||||
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(
|
||||
MockColumnMetadata.builder().name("name").build()).build();
|
||||
|
||||
|
@ -254,7 +255,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void selectShouldEmitAllValues() {
|
||||
void selectShouldEmitAllValues() {
|
||||
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(
|
||||
MockColumnMetadata.builder().name("name").build()).build();
|
||||
|
||||
|
@ -275,7 +276,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void selectOneShouldFailWithException() {
|
||||
void selectOneShouldFailWithException() {
|
||||
|
||||
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(
|
||||
MockColumnMetadata.builder().name("name").build()).build();
|
||||
|
@ -295,7 +296,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void shouldApplyExecuteFunction() {
|
||||
void shouldApplyExecuteFunction() {
|
||||
|
||||
Statement statement = mockStatement();
|
||||
MockResult result = mockSingleColumnResult(
|
||||
|
@ -311,7 +312,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void shouldApplyPreparedOperation() {
|
||||
void shouldApplyPreparedOperation() {
|
||||
|
||||
MockResult result = mockSingleColumnResult(
|
||||
MockRow.builder().identified(0, Object.class, "Walter"));
|
||||
|
@ -342,7 +343,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void shouldApplyStatementFilterFunctions() {
|
||||
void shouldApplyStatementFilterFunctions() {
|
||||
|
||||
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(
|
||||
MockColumnMetadata.builder().name("name").build()).build();
|
||||
|
@ -366,7 +367,7 @@ public class DefaultDatabaseClientUnitTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void shouldApplySimpleStatementFilterFunctions() {
|
||||
void shouldApplySimpleStatementFilterFunctions() {
|
||||
|
||||
MockResult result = mockSingleColumnEmptyResult();
|
||||
|
||||
|
|
|
@ -240,7 +240,7 @@ public class ContentRequestMatchers {
|
|||
}
|
||||
else if (expected instanceof String) {
|
||||
assertTrue("Multipart is not a String", actual instanceof String);
|
||||
assertEquals("Multipart content", expected, (String) actual);
|
||||
assertEquals("Multipart content", expected, actual);
|
||||
}
|
||||
else {
|
||||
throw new IllegalArgumentException("Unexpected multipart value: " + expected.getClass());
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -23,7 +23,6 @@ import org.springframework.beans.testfixture.beans.Pet;
|
|||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.ContextLoader;
|
||||
import org.springframework.test.context.junit4.PropertiesBasedSpringJUnit4ClassRunnerAppCtxTests;
|
||||
import org.springframework.test.context.support.GenericPropertiesContextLoader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
|
@ -38,7 +37,8 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
* @see PropertiesBasedSpringJUnit4ClassRunnerAppCtxTests
|
||||
* @see ContextConfigurationWithPropertiesExtendingPropertiesAndInheritedLoaderTests
|
||||
*/
|
||||
@ContextConfiguration(loader = GenericPropertiesContextLoader.class)
|
||||
@SuppressWarnings("deprecation")
|
||||
@ContextConfiguration(loader = org.springframework.test.context.support.GenericPropertiesContextLoader.class)
|
||||
public class ContextConfigurationWithPropertiesExtendingPropertiesTests extends
|
||||
PropertiesBasedSpringJUnit4ClassRunnerAppCtxTests {
|
||||
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -25,7 +25,6 @@ import org.springframework.test.context.BootstrapWith;
|
|||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.ContextLoader;
|
||||
import org.springframework.test.context.support.DefaultTestContextBootstrapper;
|
||||
import org.springframework.test.context.support.GenericPropertiesContextLoader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
|
@ -62,8 +61,9 @@ public class CustomDefaultContextLoaderClassSpringRunnerTests {
|
|||
public static class PropertiesBasedTestContextBootstrapper extends DefaultTestContextBootstrapper {
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
protected Class<? extends ContextLoader> getDefaultContextLoaderClass(Class<?> testClass) {
|
||||
return GenericPropertiesContextLoader.class;
|
||||
return org.springframework.test.context.support.GenericPropertiesContextLoader.class;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.beans.testfixture.beans.Pet;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.support.GenericPropertiesContextLoader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
|
@ -51,11 +50,12 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
*
|
||||
* @author Sam Brannen
|
||||
* @since 2.5
|
||||
* @see GenericPropertiesContextLoader
|
||||
* @see org.springframework.test.context.support.GenericPropertiesContextLoader
|
||||
* @see SpringJUnit4ClassRunnerAppCtxTests
|
||||
*/
|
||||
@RunWith(SpringRunner.class)
|
||||
@ContextConfiguration(loader = GenericPropertiesContextLoader.class)
|
||||
@SuppressWarnings("deprecation")
|
||||
@ContextConfiguration(loader = org.springframework.test.context.support.GenericPropertiesContextLoader.class)
|
||||
public class PropertiesBasedSpringJUnit4ClassRunnerAppCtxTests {
|
||||
|
||||
@Autowired
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -205,14 +205,16 @@ abstract class AbstractContextConfigurationUtilsTests {
|
|||
static class OverriddenClassesBar extends ClassesFoo {
|
||||
}
|
||||
|
||||
@ContextConfiguration(locations = "/foo.properties", loader = GenericPropertiesContextLoader.class)
|
||||
@SuppressWarnings("deprecation")
|
||||
@ContextConfiguration(locations = "/foo.properties", loader = org.springframework.test.context.support.GenericPropertiesContextLoader.class)
|
||||
@ActiveProfiles("foo")
|
||||
static class PropertiesLocationsFoo {
|
||||
}
|
||||
|
||||
// Combining @Configuration classes with a Properties based loader doesn't really make
|
||||
// sense, but that's OK for unit testing purposes.
|
||||
@ContextConfiguration(classes = FooConfig.class, loader = GenericPropertiesContextLoader.class)
|
||||
@SuppressWarnings("deprecation")
|
||||
@ContextConfiguration(classes = FooConfig.class, loader = org.springframework.test.context.support.GenericPropertiesContextLoader.class)
|
||||
@ActiveProfiles("foo")
|
||||
static class PropertiesClassesFoo {
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -136,9 +136,10 @@ class BootstrapTestUtilsMergedConfigTests extends AbstractContextConfigurationUt
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
void buildMergedConfigWithLocalAnnotationAndOverriddenContextLoaderAndLocations() {
|
||||
Class<?> testClass = PropertiesLocationsFoo.class;
|
||||
Class<? extends ContextLoader> expectedContextLoaderClass = GenericPropertiesContextLoader.class;
|
||||
Class<? extends ContextLoader> expectedContextLoaderClass = org.springframework.test.context.support.GenericPropertiesContextLoader.class;
|
||||
MergedContextConfiguration mergedConfig = buildMergedContextConfiguration(testClass);
|
||||
|
||||
assertMergedConfig(mergedConfig, testClass, array("classpath:/foo.properties"), EMPTY_CLASS_ARRAY,
|
||||
|
@ -146,9 +147,10 @@ class BootstrapTestUtilsMergedConfigTests extends AbstractContextConfigurationUt
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
void buildMergedConfigWithLocalAnnotationAndOverriddenContextLoaderAndClasses() {
|
||||
Class<?> testClass = PropertiesClassesFoo.class;
|
||||
Class<? extends ContextLoader> expectedContextLoaderClass = GenericPropertiesContextLoader.class;
|
||||
Class<? extends ContextLoader> expectedContextLoaderClass = org.springframework.test.context.support.GenericPropertiesContextLoader.class;
|
||||
MergedContextConfiguration mergedConfig = buildMergedContextConfiguration(testClass);
|
||||
|
||||
assertMergedConfig(mergedConfig, testClass, EMPTY_STRING_ARRAY, array(FooConfig.class),
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -28,6 +28,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
|||
* @author Sam Brannen
|
||||
* @since 4.0.4
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
class GenericPropertiesContextLoaderTests {
|
||||
|
||||
private static final String[] EMPTY_STRING_ARRAY = new String[0];
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -17,6 +17,7 @@
|
|||
package org.springframework.dao.support;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
@ -119,14 +120,11 @@ public class DataAccessUtilsTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation") // on JDK 9
|
||||
public void withEquivalentIntegerInstanceTwice() {
|
||||
Collection<Integer> col = new ArrayList<>(2);
|
||||
col.add(new Integer(5));
|
||||
col.add(new Integer(5));
|
||||
Collection<Integer> col = Arrays.asList(Integer.valueOf(555), Integer.valueOf(555));
|
||||
|
||||
assertThatExceptionOfType(IncorrectResultSizeDataAccessException.class).isThrownBy(() ->
|
||||
DataAccessUtils.uniqueResult(col))
|
||||
assertThatExceptionOfType(IncorrectResultSizeDataAccessException.class)
|
||||
.isThrownBy(() -> DataAccessUtils.uniqueResult(col))
|
||||
.satisfies(sizeRequirements(1, 2));
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ import org.springframework.aop.framework.Advised;
|
|||
import org.springframework.aop.framework.ProxyFactory;
|
||||
import org.springframework.core.annotation.AnnotationUtils;
|
||||
import org.springframework.core.testfixture.io.SerializationTestUtils;
|
||||
import org.springframework.transaction.TransactionManager;
|
||||
import org.springframework.transaction.interceptor.NoRollbackRuleAttribute;
|
||||
import org.springframework.transaction.interceptor.RollbackRuleAttribute;
|
||||
import org.springframework.transaction.interceptor.RuleBasedTransactionAttribute;
|
||||
|
@ -54,7 +55,7 @@ public class AnnotationTransactionAttributeSourceTests {
|
|||
TestBean1 tb = new TestBean1();
|
||||
CallCountingTransactionManager ptm = new CallCountingTransactionManager();
|
||||
AnnotationTransactionAttributeSource tas = new AnnotationTransactionAttributeSource();
|
||||
TransactionInterceptor ti = new TransactionInterceptor(ptm, tas);
|
||||
TransactionInterceptor ti = new TransactionInterceptor((TransactionManager) ptm, tas);
|
||||
|
||||
ProxyFactory proxyFactory = new ProxyFactory();
|
||||
proxyFactory.setInterfaces(ITestBean1.class);
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -25,6 +25,7 @@ import reactor.core.publisher.Mono;
|
|||
import reactor.test.StepVerifier;
|
||||
|
||||
import org.springframework.aop.framework.ProxyFactory;
|
||||
import org.springframework.transaction.TransactionManager;
|
||||
import org.springframework.transaction.interceptor.TransactionInterceptor;
|
||||
import org.springframework.transaction.support.TransactionSynchronizationManager;
|
||||
import org.springframework.transaction.testfixture.CallCountingTransactionManager;
|
||||
|
@ -48,7 +49,7 @@ public class AnnotationTransactionInterceptorTests {
|
|||
|
||||
private final AnnotationTransactionAttributeSource source = new AnnotationTransactionAttributeSource();
|
||||
|
||||
private final TransactionInterceptor ti = new TransactionInterceptor(this.ptm, this.source);
|
||||
private final TransactionInterceptor ti = new TransactionInterceptor((TransactionManager) this.ptm, this.source);
|
||||
|
||||
|
||||
@Test
|
||||
|
|
|
@ -267,6 +267,7 @@ class BaseDefaultCodecs implements CodecConfigurer.DefaultCodecs, CodecConfigure
|
|||
* if configured by the application, to the given codec , including any
|
||||
* codec it contains.
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
private void initCodec(@Nullable Object codec) {
|
||||
|
||||
if (codec instanceof DecoderHttpMessageReader) {
|
||||
|
|
|
@ -181,16 +181,6 @@ public class ShallowEtagHeaderFilter extends OncePerRequestFilter {
|
|||
return builder.toString();
|
||||
}
|
||||
|
||||
private boolean compareETagHeaderValue(String requestETag, String responseETag) {
|
||||
if (requestETag.startsWith("W/")) {
|
||||
requestETag = requestETag.substring(2);
|
||||
}
|
||||
if (responseETag.startsWith("W/")) {
|
||||
responseETag = responseETag.substring(2);
|
||||
}
|
||||
return requestETag.equals(responseETag);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This method can be used to suppress the content caching response wrapper
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -32,13 +32,14 @@ import static org.springframework.http.ContentDisposition.builder;
|
|||
* @author Sebastien Deleuze
|
||||
* @author Rossen Stoyanchev
|
||||
*/
|
||||
public class ContentDispositionTests {
|
||||
class ContentDispositionTests {
|
||||
|
||||
private static DateTimeFormatter formatter = DateTimeFormatter.RFC_1123_DATE_TIME;
|
||||
|
||||
|
||||
@Test
|
||||
public void parse() {
|
||||
@SuppressWarnings("deprecation")
|
||||
void parse() {
|
||||
assertThat(parse("form-data; name=\"foo\"; filename=\"foo.txt\"; size=123"))
|
||||
.isEqualTo(builder("form-data")
|
||||
.name("foo")
|
||||
|
@ -48,7 +49,7 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void parseFilenameUnquoted() {
|
||||
void parseFilenameUnquoted() {
|
||||
assertThat(parse("form-data; filename=unquoted"))
|
||||
.isEqualTo(builder("form-data")
|
||||
.filename("unquoted")
|
||||
|
@ -56,7 +57,7 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test // SPR-16091
|
||||
public void parseFilenameWithSemicolon() {
|
||||
void parseFilenameWithSemicolon() {
|
||||
assertThat(parse("attachment; filename=\"filename with ; semicolon.txt\""))
|
||||
.isEqualTo(builder("attachment")
|
||||
.filename("filename with ; semicolon.txt")
|
||||
|
@ -64,7 +65,7 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void parseEncodedFilename() {
|
||||
void parseEncodedFilename() {
|
||||
assertThat(parse("form-data; name=\"name\"; filename*=UTF-8''%E4%B8%AD%E6%96%87.txt"))
|
||||
.isEqualTo(builder("form-data")
|
||||
.name("name")
|
||||
|
@ -73,7 +74,7 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test // gh-24112
|
||||
public void parseEncodedFilenameWithPaddedCharset() {
|
||||
void parseEncodedFilenameWithPaddedCharset() {
|
||||
assertThat(parse("attachment; filename*= UTF-8''some-file.zip"))
|
||||
.isEqualTo(builder("attachment")
|
||||
.filename("some-file.zip", StandardCharsets.UTF_8)
|
||||
|
@ -81,7 +82,7 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void parseEncodedFilenameWithoutCharset() {
|
||||
void parseEncodedFilenameWithoutCharset() {
|
||||
assertThat(parse("form-data; name=\"name\"; filename*=test.txt"))
|
||||
.isEqualTo(builder("form-data")
|
||||
.name("name")
|
||||
|
@ -90,13 +91,13 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void parseEncodedFilenameWithInvalidCharset() {
|
||||
void parseEncodedFilenameWithInvalidCharset() {
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> parse("form-data; name=\"name\"; filename*=UTF-16''test.txt"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseEncodedFilenameWithInvalidName() {
|
||||
void parseEncodedFilenameWithInvalidName() {
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> parse("form-data; name=\"name\"; filename*=UTF-8''%A"));
|
||||
|
||||
|
@ -105,8 +106,8 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test // gh-23077
|
||||
public void parseWithEscapedQuote() {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
void parseWithEscapedQuote() {
|
||||
BiConsumer<String, String> tester = (description, filename) ->
|
||||
assertThat(parse("form-data; name=\"file\"; filename=\"" + filename + "\"; size=123"))
|
||||
.as(description)
|
||||
|
@ -126,7 +127,8 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void parseWithExtraSemicolons() {
|
||||
@SuppressWarnings("deprecation")
|
||||
void parseWithExtraSemicolons() {
|
||||
assertThat(parse("form-data; name=\"foo\";; ; filename=\"foo.txt\"; size=123"))
|
||||
.isEqualTo(builder("form-data")
|
||||
.name("foo")
|
||||
|
@ -136,7 +138,8 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void parseDates() {
|
||||
@SuppressWarnings("deprecation")
|
||||
void parseDates() {
|
||||
ZonedDateTime creationTime = ZonedDateTime.parse("Mon, 12 Feb 2007 10:15:30 -0500", formatter);
|
||||
ZonedDateTime modificationTime = ZonedDateTime.parse("Tue, 13 Feb 2007 10:15:30 -0500", formatter);
|
||||
ZonedDateTime readTime = ZonedDateTime.parse("Wed, 14 Feb 2007 10:15:30 -0500", formatter);
|
||||
|
@ -154,7 +157,8 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void parseIgnoresInvalidDates() {
|
||||
@SuppressWarnings("deprecation")
|
||||
void parseIgnoresInvalidDates() {
|
||||
ZonedDateTime readTime = ZonedDateTime.parse("Wed, 14 Feb 2007 10:15:30 -0500", formatter);
|
||||
|
||||
assertThat(
|
||||
|
@ -168,17 +172,17 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void parseEmpty() {
|
||||
void parseEmpty() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> parse(""));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseNoType() {
|
||||
void parseNoType() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> parse(";"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseInvalidParameter() {
|
||||
void parseInvalidParameter() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> parse("foo;bar"));
|
||||
}
|
||||
|
||||
|
@ -188,7 +192,8 @@ public class ContentDispositionTests {
|
|||
|
||||
|
||||
@Test
|
||||
public void format() {
|
||||
@SuppressWarnings("deprecation")
|
||||
void format() {
|
||||
assertThat(
|
||||
builder("form-data")
|
||||
.name("foo")
|
||||
|
@ -199,7 +204,7 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void formatWithEncodedFilename() {
|
||||
void formatWithEncodedFilename() {
|
||||
assertThat(
|
||||
builder("form-data")
|
||||
.name("name")
|
||||
|
@ -209,7 +214,7 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void formatWithEncodedFilenameUsingUsAscii() {
|
||||
void formatWithEncodedFilenameUsingUsAscii() {
|
||||
assertThat(
|
||||
builder("form-data")
|
||||
.name("name")
|
||||
|
@ -220,7 +225,7 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test // gh-24220
|
||||
public void formatWithFilenameWithQuotes() {
|
||||
void formatWithFilenameWithQuotes() {
|
||||
|
||||
BiConsumer<String, String> tester = (input, output) -> {
|
||||
|
||||
|
@ -255,7 +260,7 @@ public class ContentDispositionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void formatWithEncodedFilenameUsingInvalidCharset() {
|
||||
void formatWithEncodedFilenameUsingInvalidCharset() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() ->
|
||||
builder("form-data")
|
||||
.name("name")
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -59,7 +59,7 @@ public class HttpHeadersTests {
|
|||
|
||||
|
||||
@Test
|
||||
public void getOrEmpty() {
|
||||
void getOrEmpty() {
|
||||
String key = "FOO";
|
||||
|
||||
assertThat(headers.get(key)).isNull();
|
||||
|
@ -74,14 +74,14 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void getFirst() {
|
||||
void getFirst() {
|
||||
headers.add(HttpHeaders.CACHE_CONTROL, "max-age=1000, public");
|
||||
headers.add(HttpHeaders.CACHE_CONTROL, "s-maxage=1000");
|
||||
assertThat(headers.getFirst(HttpHeaders.CACHE_CONTROL)).isEqualTo("max-age=1000, public");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void accept() {
|
||||
void accept() {
|
||||
MediaType mediaType1 = new MediaType("text", "html");
|
||||
MediaType mediaType2 = new MediaType("text", "plain");
|
||||
List<MediaType> mediaTypes = new ArrayList<>(2);
|
||||
|
@ -93,7 +93,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test // SPR-9655
|
||||
public void acceptWithMultipleHeaderValues() {
|
||||
void acceptWithMultipleHeaderValues() {
|
||||
headers.add("Accept", "text/html");
|
||||
headers.add("Accept", "text/plain");
|
||||
List<MediaType> expected = Arrays.asList(new MediaType("text", "html"), new MediaType("text", "plain"));
|
||||
|
@ -101,7 +101,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test // SPR-14506
|
||||
public void acceptWithMultipleCommaSeparatedHeaderValues() {
|
||||
void acceptWithMultipleCommaSeparatedHeaderValues() {
|
||||
headers.add("Accept", "text/html,text/pdf");
|
||||
headers.add("Accept", "text/plain,text/csv");
|
||||
List<MediaType> expected = Arrays.asList(new MediaType("text", "html"), new MediaType("text", "pdf"),
|
||||
|
@ -110,7 +110,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void acceptCharsets() {
|
||||
void acceptCharsets() {
|
||||
Charset charset1 = StandardCharsets.UTF_8;
|
||||
Charset charset2 = StandardCharsets.ISO_8859_1;
|
||||
List<Charset> charsets = new ArrayList<>(2);
|
||||
|
@ -122,13 +122,13 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void acceptCharsetWildcard() {
|
||||
void acceptCharsetWildcard() {
|
||||
headers.set("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
|
||||
assertThat(headers.getAcceptCharset()).as("Invalid Accept header").isEqualTo(Arrays.asList(StandardCharsets.ISO_8859_1, StandardCharsets.UTF_8));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void allow() {
|
||||
void allow() {
|
||||
EnumSet<HttpMethod> methods = EnumSet.of(HttpMethod.GET, HttpMethod.POST);
|
||||
headers.setAllow(methods);
|
||||
assertThat(headers.getAllow()).as("Invalid Allow header").isEqualTo(methods);
|
||||
|
@ -136,7 +136,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void contentLength() {
|
||||
void contentLength() {
|
||||
long length = 42L;
|
||||
headers.setContentLength(length);
|
||||
assertThat(headers.getContentLength()).as("Invalid Content-Length header").isEqualTo(length);
|
||||
|
@ -144,7 +144,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void contentType() {
|
||||
void contentType() {
|
||||
MediaType contentType = new MediaType("text", "html", StandardCharsets.UTF_8);
|
||||
headers.setContentType(contentType);
|
||||
assertThat(headers.getContentType()).as("Invalid Content-Type header").isEqualTo(contentType);
|
||||
|
@ -152,7 +152,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void location() throws URISyntaxException {
|
||||
void location() throws URISyntaxException {
|
||||
URI location = new URI("https://www.example.com/hotels");
|
||||
headers.setLocation(location);
|
||||
assertThat(headers.getLocation()).as("Invalid Location header").isEqualTo(location);
|
||||
|
@ -160,7 +160,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void eTag() {
|
||||
void eTag() {
|
||||
String eTag = "\"v2.6\"";
|
||||
headers.setETag(eTag);
|
||||
assertThat(headers.getETag()).as("Invalid ETag header").isEqualTo(eTag);
|
||||
|
@ -168,7 +168,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void host() {
|
||||
void host() {
|
||||
InetSocketAddress host = InetSocketAddress.createUnresolved("localhost", 8080);
|
||||
headers.setHost(host);
|
||||
assertThat(headers.getHost()).as("Invalid Host header").isEqualTo(host);
|
||||
|
@ -176,7 +176,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void hostNoPort() {
|
||||
void hostNoPort() {
|
||||
InetSocketAddress host = InetSocketAddress.createUnresolved("localhost", 0);
|
||||
headers.setHost(host);
|
||||
assertThat(headers.getHost()).as("Invalid Host header").isEqualTo(host);
|
||||
|
@ -184,7 +184,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void ipv6Host() {
|
||||
void ipv6Host() {
|
||||
InetSocketAddress host = InetSocketAddress.createUnresolved("[::1]", 0);
|
||||
headers.setHost(host);
|
||||
assertThat(headers.getHost()).as("Invalid Host header").isEqualTo(host);
|
||||
|
@ -192,13 +192,13 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void illegalETag() {
|
||||
void illegalETag() {
|
||||
String eTag = "v2.6";
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> headers.setETag(eTag));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ifMatch() {
|
||||
void ifMatch() {
|
||||
String ifMatch = "\"v2.6\"";
|
||||
headers.setIfMatch(ifMatch);
|
||||
assertThat(headers.getIfMatch().get(0)).as("Invalid If-Match header").isEqualTo(ifMatch);
|
||||
|
@ -206,13 +206,13 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void ifMatchIllegalHeader() {
|
||||
void ifMatchIllegalHeader() {
|
||||
headers.setIfMatch("Illegal");
|
||||
assertThatIllegalArgumentException().isThrownBy(headers::getIfMatch);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ifMatchMultipleHeaders() {
|
||||
void ifMatchMultipleHeaders() {
|
||||
headers.add(HttpHeaders.IF_MATCH, "\"v2,0\"");
|
||||
headers.add(HttpHeaders.IF_MATCH, "W/\"v2,1\", \"v2,2\"");
|
||||
assertThat(headers.get(HttpHeaders.IF_MATCH).get(0)).as("Invalid If-Match header").isEqualTo("\"v2,0\"");
|
||||
|
@ -221,7 +221,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void ifNoneMatch() {
|
||||
void ifNoneMatch() {
|
||||
String ifNoneMatch = "\"v2.6\"";
|
||||
headers.setIfNoneMatch(ifNoneMatch);
|
||||
assertThat(headers.getIfNoneMatch().get(0)).as("Invalid If-None-Match header").isEqualTo(ifNoneMatch);
|
||||
|
@ -229,7 +229,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void ifNoneMatchWildCard() {
|
||||
void ifNoneMatchWildCard() {
|
||||
String ifNoneMatch = "*";
|
||||
headers.setIfNoneMatch(ifNoneMatch);
|
||||
assertThat(headers.getIfNoneMatch().get(0)).as("Invalid If-None-Match header").isEqualTo(ifNoneMatch);
|
||||
|
@ -237,7 +237,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void ifNoneMatchList() {
|
||||
void ifNoneMatchList() {
|
||||
String ifNoneMatch1 = "\"v2.6\"";
|
||||
String ifNoneMatch2 = "\"v2.7\", \"v2.8\"";
|
||||
List<String> ifNoneMatchList = new ArrayList<>(2);
|
||||
|
@ -249,7 +249,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void date() {
|
||||
void date() {
|
||||
Calendar calendar = new GregorianCalendar(2008, 11, 18, 11, 20);
|
||||
calendar.setTimeZone(TimeZone.getTimeZone("CET"));
|
||||
long date = calendar.getTimeInMillis();
|
||||
|
@ -263,13 +263,13 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void dateInvalid() {
|
||||
void dateInvalid() {
|
||||
headers.set("Date", "Foo Bar Baz");
|
||||
assertThatIllegalArgumentException().isThrownBy(headers::getDate);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void dateOtherLocale() {
|
||||
void dateOtherLocale() {
|
||||
Locale defaultLocale = Locale.getDefault();
|
||||
try {
|
||||
Locale.setDefault(new Locale("nl", "nl"));
|
||||
|
@ -286,7 +286,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void lastModified() {
|
||||
void lastModified() {
|
||||
Calendar calendar = new GregorianCalendar(2008, 11, 18, 11, 20);
|
||||
calendar.setTimeZone(TimeZone.getTimeZone("CET"));
|
||||
long date = calendar.getTimeInMillis();
|
||||
|
@ -296,7 +296,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void expiresLong() {
|
||||
void expiresLong() {
|
||||
Calendar calendar = new GregorianCalendar(2008, 11, 18, 11, 20);
|
||||
calendar.setTimeZone(TimeZone.getTimeZone("CET"));
|
||||
long date = calendar.getTimeInMillis();
|
||||
|
@ -306,7 +306,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void expiresZonedDateTime() {
|
||||
void expiresZonedDateTime() {
|
||||
ZonedDateTime zonedDateTime = ZonedDateTime.of(2008, 12, 18, 10, 20, 0, 0, ZoneId.of("GMT"));
|
||||
headers.setExpires(zonedDateTime);
|
||||
assertThat(headers.getExpires()).as("Invalid Expires header").isEqualTo(zonedDateTime.toInstant().toEpochMilli());
|
||||
|
@ -314,13 +314,13 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test // SPR-10648 (example is from INT-3063)
|
||||
public void expiresInvalidDate() {
|
||||
void expiresInvalidDate() {
|
||||
headers.set("Expires", "-1");
|
||||
assertThat(headers.getExpires()).isEqualTo(-1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ifModifiedSince() {
|
||||
void ifModifiedSince() {
|
||||
Calendar calendar = new GregorianCalendar(2008, 11, 18, 11, 20);
|
||||
calendar.setTimeZone(TimeZone.getTimeZone("CET"));
|
||||
long date = calendar.getTimeInMillis();
|
||||
|
@ -330,7 +330,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test // SPR-14144
|
||||
public void invalidIfModifiedSinceHeader() {
|
||||
void invalidIfModifiedSinceHeader() {
|
||||
headers.set(HttpHeaders.IF_MODIFIED_SINCE, "0");
|
||||
assertThat(headers.getIfModifiedSince()).isEqualTo(-1);
|
||||
|
||||
|
@ -342,7 +342,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void pragma() {
|
||||
void pragma() {
|
||||
String pragma = "no-cache";
|
||||
headers.setPragma(pragma);
|
||||
assertThat(headers.getPragma()).as("Invalid Pragma header").isEqualTo(pragma);
|
||||
|
@ -350,35 +350,36 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void cacheControl() {
|
||||
void cacheControl() {
|
||||
headers.setCacheControl("no-cache");
|
||||
assertThat(headers.getCacheControl()).as("Invalid Cache-Control header").isEqualTo("no-cache");
|
||||
assertThat(headers.getFirst("cache-control")).as("Invalid Cache-Control header").isEqualTo("no-cache");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cacheControlBuilder() {
|
||||
void cacheControlBuilder() {
|
||||
headers.setCacheControl(CacheControl.noCache());
|
||||
assertThat(headers.getCacheControl()).as("Invalid Cache-Control header").isEqualTo("no-cache");
|
||||
assertThat(headers.getFirst("cache-control")).as("Invalid Cache-Control header").isEqualTo("no-cache");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cacheControlEmpty() {
|
||||
void cacheControlEmpty() {
|
||||
headers.setCacheControl(CacheControl.empty());
|
||||
assertThat(headers.getCacheControl()).as("Invalid Cache-Control header").isNull();
|
||||
assertThat(headers.getFirst("cache-control")).as("Invalid Cache-Control header").isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cacheControlAllValues() {
|
||||
void cacheControlAllValues() {
|
||||
headers.add(HttpHeaders.CACHE_CONTROL, "max-age=1000, public");
|
||||
headers.add(HttpHeaders.CACHE_CONTROL, "s-maxage=1000");
|
||||
assertThat(headers.getCacheControl()).isEqualTo("max-age=1000, public, s-maxage=1000");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void contentDisposition() {
|
||||
@SuppressWarnings("deprecation")
|
||||
void contentDisposition() {
|
||||
ContentDisposition disposition = headers.getContentDisposition();
|
||||
assertThat(disposition).isNotNull();
|
||||
assertThat(headers.getContentDisposition()).as("Invalid Content-Disposition header").isEqualTo(ContentDisposition.empty());
|
||||
|
@ -389,13 +390,13 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test // SPR-11917
|
||||
public void getAllowEmptySet() {
|
||||
void getAllowEmptySet() {
|
||||
headers.setAllow(Collections.emptySet());
|
||||
assertThat(headers.getAllow()).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void accessControlAllowCredentials() {
|
||||
void accessControlAllowCredentials() {
|
||||
assertThat(headers.getAccessControlAllowCredentials()).isFalse();
|
||||
headers.setAccessControlAllowCredentials(false);
|
||||
assertThat(headers.getAccessControlAllowCredentials()).isFalse();
|
||||
|
@ -404,7 +405,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void accessControlAllowHeaders() {
|
||||
void accessControlAllowHeaders() {
|
||||
List<String> allowedHeaders = headers.getAccessControlAllowHeaders();
|
||||
assertThat(allowedHeaders).isEmpty();
|
||||
headers.setAccessControlAllowHeaders(Arrays.asList("header1", "header2"));
|
||||
|
@ -413,7 +414,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void accessControlAllowHeadersMultipleValues() {
|
||||
void accessControlAllowHeadersMultipleValues() {
|
||||
List<String> allowedHeaders = headers.getAccessControlAllowHeaders();
|
||||
assertThat(allowedHeaders).isEmpty();
|
||||
headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, "header1, header2");
|
||||
|
@ -423,7 +424,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void accessControlAllowMethods() {
|
||||
void accessControlAllowMethods() {
|
||||
List<HttpMethod> allowedMethods = headers.getAccessControlAllowMethods();
|
||||
assertThat(allowedMethods).isEmpty();
|
||||
headers.setAccessControlAllowMethods(Arrays.asList(HttpMethod.GET, HttpMethod.POST));
|
||||
|
@ -432,14 +433,14 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void accessControlAllowOrigin() {
|
||||
void accessControlAllowOrigin() {
|
||||
assertThat(headers.getAccessControlAllowOrigin()).isNull();
|
||||
headers.setAccessControlAllowOrigin("*");
|
||||
assertThat(headers.getAccessControlAllowOrigin()).isEqualTo("*");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void accessControlExposeHeaders() {
|
||||
void accessControlExposeHeaders() {
|
||||
List<String> exposedHeaders = headers.getAccessControlExposeHeaders();
|
||||
assertThat(exposedHeaders).isEmpty();
|
||||
headers.setAccessControlExposeHeaders(Arrays.asList("header1", "header2"));
|
||||
|
@ -448,14 +449,14 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void accessControlMaxAge() {
|
||||
void accessControlMaxAge() {
|
||||
assertThat(headers.getAccessControlMaxAge()).isEqualTo(-1);
|
||||
headers.setAccessControlMaxAge(3600);
|
||||
assertThat(headers.getAccessControlMaxAge()).isEqualTo(3600);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void accessControlRequestHeaders() {
|
||||
void accessControlRequestHeaders() {
|
||||
List<String> requestHeaders = headers.getAccessControlRequestHeaders();
|
||||
assertThat(requestHeaders).isEmpty();
|
||||
headers.setAccessControlRequestHeaders(Arrays.asList("header1", "header2"));
|
||||
|
@ -464,14 +465,14 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void accessControlRequestMethod() {
|
||||
void accessControlRequestMethod() {
|
||||
assertThat(headers.getAccessControlRequestMethod()).isNull();
|
||||
headers.setAccessControlRequestMethod(HttpMethod.POST);
|
||||
assertThat(headers.getAccessControlRequestMethod()).isEqualTo(HttpMethod.POST);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void acceptLanguage() {
|
||||
void acceptLanguage() {
|
||||
String headerValue = "fr-ch, fr;q=0.9, en-*;q=0.8, de;q=0.7, *;q=0.5";
|
||||
headers.setAcceptLanguage(Locale.LanguageRange.parse(headerValue));
|
||||
assertThat(headers.getFirst(HttpHeaders.ACCEPT_LANGUAGE)).isEqualTo(headerValue);
|
||||
|
@ -491,26 +492,26 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test // SPR-15603
|
||||
public void acceptLanguageWithEmptyValue() throws Exception {
|
||||
void acceptLanguageWithEmptyValue() throws Exception {
|
||||
this.headers.set(HttpHeaders.ACCEPT_LANGUAGE, "");
|
||||
assertThat(this.headers.getAcceptLanguageAsLocales()).isEqualTo(Collections.emptyList());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void contentLanguage() {
|
||||
void contentLanguage() {
|
||||
headers.setContentLanguage(Locale.FRANCE);
|
||||
assertThat(headers.getContentLanguage()).isEqualTo(Locale.FRANCE);
|
||||
assertThat(headers.getFirst(HttpHeaders.CONTENT_LANGUAGE)).isEqualTo("fr-FR");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void contentLanguageSerialized() {
|
||||
void contentLanguageSerialized() {
|
||||
headers.set(HttpHeaders.CONTENT_LANGUAGE, "de, en_CA");
|
||||
assertThat(headers.getContentLanguage()).as("Expected one (first) locale").isEqualTo(Locale.GERMAN);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void firstDate() {
|
||||
void firstDate() {
|
||||
headers.setDate(HttpHeaders.DATE, 1496370120000L);
|
||||
assertThat(headers.getFirstDate(HttpHeaders.DATE)).isEqualTo(1496370120000L);
|
||||
|
||||
|
@ -522,7 +523,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void firstZonedDateTime() {
|
||||
void firstZonedDateTime() {
|
||||
ZonedDateTime date = ZonedDateTime.of(2017, 6, 2, 2, 22, 0, 0, ZoneId.of("GMT"));
|
||||
headers.setZonedDateTime(HttpHeaders.DATE, date);
|
||||
assertThat(headers.getFirst(HttpHeaders.DATE)).isEqualTo("Fri, 02 Jun 2017 02:22:00 GMT");
|
||||
|
@ -547,7 +548,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void basicAuth() {
|
||||
void basicAuth() {
|
||||
String username = "foo";
|
||||
String password = "bar";
|
||||
headers.setBasicAuth(username, password);
|
||||
|
@ -559,14 +560,14 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void basicAuthIllegalChar() {
|
||||
void basicAuthIllegalChar() {
|
||||
String username = "foo";
|
||||
String password = "\u03BB";
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> headers.setBasicAuth(username, password));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void bearerAuth() {
|
||||
void bearerAuth() {
|
||||
String token = "foo";
|
||||
|
||||
headers.setBearerAuth(token);
|
||||
|
@ -575,7 +576,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void keySetOperations() {
|
||||
void keySetOperations() {
|
||||
headers.add("Alpha", "apple");
|
||||
headers.add("Bravo", "banana");
|
||||
Set<String> keySet = headers.keySet();
|
||||
|
@ -634,7 +635,7 @@ public class HttpHeadersTests {
|
|||
* than {@link #removalFromKeySetRemovesEntryFromUnderlyingMap()}.
|
||||
*/
|
||||
@Test // https://github.com/spring-projects/spring-framework/issues/23633
|
||||
public void keySetRemovalChecks() {
|
||||
void keySetRemovalChecks() {
|
||||
// --- Given ---
|
||||
headers.add("Alpha", "apple");
|
||||
headers.add("Bravo", "banana");
|
||||
|
@ -660,7 +661,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void removalFromKeySetRemovesEntryFromUnderlyingMap() {
|
||||
void removalFromKeySetRemovesEntryFromUnderlyingMap() {
|
||||
String headerName = "MyHeader";
|
||||
String headerValue = "value";
|
||||
|
||||
|
@ -674,7 +675,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void removalFromEntrySetRemovesEntryFromUnderlyingMap() {
|
||||
void removalFromEntrySetRemovesEntryFromUnderlyingMap() {
|
||||
String headerName = "MyHeader";
|
||||
String headerValue = "value";
|
||||
|
||||
|
@ -688,7 +689,7 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void readOnlyHttpHeadersRetainEntrySetOrder() {
|
||||
void readOnlyHttpHeadersRetainEntrySetOrder() {
|
||||
headers.add("aardvark", "enigma");
|
||||
headers.add("beaver", "enigma");
|
||||
headers.add("cat", "enigma");
|
||||
|
@ -704,11 +705,12 @@ public class HttpHeadersTests {
|
|||
}
|
||||
|
||||
@Test // gh-25034
|
||||
public void equalsUnwrapsHttpHeaders() {
|
||||
void equalsUnwrapsHttpHeaders() {
|
||||
HttpHeaders headers1 = new HttpHeaders();
|
||||
HttpHeaders headers2 = new HttpHeaders(new HttpHeaders(headers1));
|
||||
|
||||
assertThat(headers1).isEqualTo(headers2);
|
||||
assertThat(headers2).isEqualTo(headers1);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -27,7 +27,6 @@ import java.util.Map;
|
|||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.core.ParameterizedTypeReference;
|
||||
import org.springframework.web.util.DefaultUriBuilderFactory;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
@ -38,10 +37,10 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
* @author Arjen Poutsma
|
||||
* @author Parviz Rozikov
|
||||
*/
|
||||
public class RequestEntityTests {
|
||||
class RequestEntityTests {
|
||||
|
||||
@Test
|
||||
public void normal() throws URISyntaxException {
|
||||
void normal() throws URISyntaxException {
|
||||
String headerName = "My-Custom-Header";
|
||||
String headerValue = "HeaderValue";
|
||||
URI url = new URI("https://example.com");
|
||||
|
@ -59,7 +58,7 @@ public class RequestEntityTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void uriVariablesExpansion() throws URISyntaxException {
|
||||
void uriVariablesExpansion() throws URISyntaxException {
|
||||
URI uri = UriComponentsBuilder.fromUriString("https://example.com/{foo}").buildAndExpand("bar").toUri();
|
||||
RequestEntity.get(uri).accept(MediaType.TEXT_PLAIN).build();
|
||||
|
||||
|
@ -82,22 +81,20 @@ public class RequestEntityTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void uriExpansion() {
|
||||
|
||||
void uriExpansion() {
|
||||
RequestEntity<Void> entity =
|
||||
RequestEntity.get("https://www.{host}.com/{path}", "example", "foo/bar").build();
|
||||
|
||||
assertThat(entity).isInstanceOf(RequestEntity.UriTemplateRequestEntity.class);
|
||||
RequestEntity.UriTemplateRequestEntity<Void> ext = (RequestEntity.UriTemplateRequestEntity<Void>) entity;
|
||||
|
||||
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory();
|
||||
assertThat(ext.getUriTemplate()).isEqualTo("https://www.{host}.com/{path}");
|
||||
assertThat(ext.getVars()).containsExactly("example", "foo/bar");
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void get() {
|
||||
void get() {
|
||||
RequestEntity<Void> requestEntity = RequestEntity.get(URI.create("https://example.com")).accept(
|
||||
MediaType.IMAGE_GIF, MediaType.IMAGE_JPEG, MediaType.IMAGE_PNG).build();
|
||||
|
||||
|
@ -109,7 +106,7 @@ public class RequestEntityTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void headers() throws URISyntaxException {
|
||||
void headers() throws URISyntaxException {
|
||||
MediaType accept = MediaType.TEXT_PLAIN;
|
||||
long ifModifiedSince = 12345L;
|
||||
String ifNoneMatch = "\"foo\"";
|
||||
|
@ -142,7 +139,7 @@ public class RequestEntityTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void methods() throws URISyntaxException {
|
||||
void methods() throws URISyntaxException {
|
||||
URI url = new URI("https://example.com");
|
||||
|
||||
RequestEntity<?> entity = RequestEntity.get(url).build();
|
||||
|
@ -169,7 +166,7 @@ public class RequestEntityTests {
|
|||
}
|
||||
|
||||
@Test // SPR-13154
|
||||
public void types() throws URISyntaxException {
|
||||
void types() throws URISyntaxException {
|
||||
URI url = new URI("https://example.com");
|
||||
List<String> body = Arrays.asList("foo", "bar");
|
||||
ParameterizedTypeReference<?> typeReference = new ParameterizedTypeReference<List<String>>() {};
|
||||
|
|
|
@ -134,7 +134,6 @@ public abstract class AbstractAsyncHttpRequestFactoryTests extends AbstractMockW
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("try")
|
||||
public void multipleWrites() throws Exception {
|
||||
AsyncClientHttpRequest request = this.factory.createAsyncRequest(new URI(baseUrl + "/echo"), HttpMethod.POST);
|
||||
final byte[] body = "Hello World".getBytes("UTF-8");
|
||||
|
@ -149,12 +148,12 @@ public abstract class AbstractAsyncHttpRequestFactoryTests extends AbstractMockW
|
|||
|
||||
Future<ClientHttpResponse> futureResponse = request.executeAsync();
|
||||
try (ClientHttpResponse response = futureResponse.get()) {
|
||||
assertThat(response).isNotNull();
|
||||
assertThatIllegalStateException().isThrownBy(() -> FileCopyUtils.copy(body, request.getBody()));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("try")
|
||||
public void headersAfterExecute() throws Exception {
|
||||
AsyncClientHttpRequest request = this.factory.createAsyncRequest(new URI(baseUrl + "/echo"), HttpMethod.POST);
|
||||
request.getHeaders().add("MyHeader", "value");
|
||||
|
@ -163,6 +162,7 @@ public abstract class AbstractAsyncHttpRequestFactoryTests extends AbstractMockW
|
|||
|
||||
Future<ClientHttpResponse> futureResponse = request.executeAsync();
|
||||
try (ClientHttpResponse response = futureResponse.get()) {
|
||||
assertThat(response).isNotNull();
|
||||
assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() ->
|
||||
request.getHeaders().add("MyHeader", "value"));
|
||||
}
|
||||
|
|
|
@ -129,7 +129,6 @@ abstract class AbstractHttpRequestFactoryTests extends AbstractMockWebServerTest
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("try")
|
||||
void headersAfterExecute() throws Exception {
|
||||
ClientHttpRequest request = factory.createRequest(new URI(baseUrl + "/status/ok"), HttpMethod.POST);
|
||||
|
||||
|
@ -138,6 +137,7 @@ abstract class AbstractHttpRequestFactoryTests extends AbstractMockWebServerTest
|
|||
assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> {
|
||||
FileCopyUtils.copy(body, request.getBody());
|
||||
try (ClientHttpResponse response = request.execute()) {
|
||||
assertThat(response).isNotNull();
|
||||
request.getHeaders().add("MyHeader", "value");
|
||||
}
|
||||
});
|
||||
|
|
|
@ -210,11 +210,4 @@ class EncoderHttpMessageWriterTests {
|
|||
.willReturn(encodedStream);
|
||||
}
|
||||
|
||||
private void configureEncoder(DataBuffer dataBuffer, MimeType... mimeTypes) {
|
||||
List<MimeType> typeList = Arrays.asList(mimeTypes);
|
||||
given(this.encoder.getEncodableMimeTypes()).willReturn(typeList);
|
||||
given(this.encoder.encodeValue(any(), any(), any(), this.mediaTypeCaptor.capture(), any()))
|
||||
.willReturn(dataBuffer);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
|||
*
|
||||
* @author Rossen Stoyanchev
|
||||
*/
|
||||
public class ContentNegotiationManagerFactoryBeanTests {
|
||||
class ContentNegotiationManagerFactoryBeanTests {
|
||||
|
||||
private ContentNegotiationManagerFactoryBean factoryBean;
|
||||
|
||||
|
@ -52,7 +52,7 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
|
||||
|
||||
@BeforeEach
|
||||
public void setup() {
|
||||
void setup() {
|
||||
TestServletContext servletContext = new TestServletContext();
|
||||
servletContext.getMimeTypes().put("foo", "application/foo");
|
||||
|
||||
|
@ -65,7 +65,7 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
|
||||
|
||||
@Test
|
||||
public void defaultSettings() throws Exception {
|
||||
void defaultSettings() throws Exception {
|
||||
this.factoryBean.afterPropertiesSet();
|
||||
ContentNegotiationManager manager = this.factoryBean.getObject();
|
||||
|
||||
|
@ -97,7 +97,7 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void explicitStrategies() throws Exception {
|
||||
void explicitStrategies() throws Exception {
|
||||
Map<String, MediaType> mediaTypes = Collections.singletonMap("bar", new MediaType("application", "bar"));
|
||||
ParameterContentNegotiationStrategy strategy1 = new ParameterContentNegotiationStrategy(mediaTypes);
|
||||
HeaderContentNegotiationStrategy strategy2 = new HeaderContentNegotiationStrategy();
|
||||
|
@ -116,7 +116,8 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void favorPath() throws Exception {
|
||||
@SuppressWarnings("deprecation")
|
||||
void favorPath() throws Exception {
|
||||
this.factoryBean.setFavorPathExtension(true);
|
||||
this.factoryBean.addMediaType("bar", new MediaType("application", "bar"));
|
||||
this.factoryBean.afterPropertiesSet();
|
||||
|
@ -136,7 +137,8 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test // SPR-10170
|
||||
public void favorPathWithIgnoreUnknownPathExtensionTurnedOff() {
|
||||
@SuppressWarnings("deprecation")
|
||||
void favorPathWithIgnoreUnknownPathExtensionTurnedOff() {
|
||||
this.factoryBean.setFavorPathExtension(true);
|
||||
this.factoryBean.setIgnoreUnknownPathExtensions(false);
|
||||
this.factoryBean.afterPropertiesSet();
|
||||
|
@ -150,7 +152,7 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void favorParameter() throws Exception {
|
||||
void favorParameter() throws Exception {
|
||||
this.factoryBean.setFavorParameter(true);
|
||||
this.factoryBean.addMediaType("json", MediaType.APPLICATION_JSON);
|
||||
|
||||
|
@ -165,7 +167,7 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test // SPR-10170
|
||||
public void favorParameterWithUnknownMediaType() {
|
||||
void favorParameterWithUnknownMediaType() {
|
||||
this.factoryBean.setFavorParameter(true);
|
||||
this.factoryBean.afterPropertiesSet();
|
||||
ContentNegotiationManager manager = this.factoryBean.getObject();
|
||||
|
@ -178,8 +180,8 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void mediaTypeMappingsWithoutPathAndParameterStrategies() {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
void mediaTypeMappingsWithoutPathAndParameterStrategies() {
|
||||
this.factoryBean.setFavorPathExtension(false);
|
||||
this.factoryBean.setFavorParameter(false);
|
||||
|
||||
|
@ -199,8 +201,8 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void fileExtensions() {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
void fileExtensions() {
|
||||
this.factoryBean.setFavorPathExtension(false);
|
||||
this.factoryBean.setFavorParameter(false);
|
||||
|
||||
|
@ -222,7 +224,7 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void ignoreAcceptHeader() throws Exception {
|
||||
void ignoreAcceptHeader() throws Exception {
|
||||
this.factoryBean.setIgnoreAcceptHeader(true);
|
||||
this.factoryBean.afterPropertiesSet();
|
||||
ContentNegotiationManager manager = this.factoryBean.getObject();
|
||||
|
@ -235,7 +237,7 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void setDefaultContentType() throws Exception {
|
||||
void setDefaultContentType() throws Exception {
|
||||
this.factoryBean.setDefaultContentType(MediaType.APPLICATION_JSON);
|
||||
this.factoryBean.afterPropertiesSet();
|
||||
ContentNegotiationManager manager = this.factoryBean.getObject();
|
||||
|
@ -248,7 +250,7 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test // SPR-15367
|
||||
public void setDefaultContentTypes() throws Exception {
|
||||
void setDefaultContentTypes() throws Exception {
|
||||
List<MediaType> mediaTypes = Arrays.asList(MediaType.APPLICATION_JSON, MediaType.ALL);
|
||||
this.factoryBean.setDefaultContentTypes(mediaTypes);
|
||||
this.factoryBean.afterPropertiesSet();
|
||||
|
@ -261,7 +263,7 @@ public class ContentNegotiationManagerFactoryBeanTests {
|
|||
}
|
||||
|
||||
@Test // SPR-12286
|
||||
public void setDefaultContentTypeWithStrategy() throws Exception {
|
||||
void setDefaultContentTypeWithStrategy() throws Exception {
|
||||
this.factoryBean.setDefaultContentTypeStrategy(new FixedContentNegotiationStrategy(MediaType.APPLICATION_JSON));
|
||||
this.factoryBean.afterPropertiesSet();
|
||||
ContentNegotiationManager manager = this.factoryBean.getObject();
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -13,6 +13,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.accept;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
@ -20,7 +21,6 @@ import java.util.Collections;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.http.MediaType;
|
||||
|
@ -33,103 +33,79 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* A test fixture for PathExtensionContentNegotiationStrategy.
|
||||
* A test fixture for {@link PathExtensionContentNegotiationStrategy}.
|
||||
*
|
||||
* @author Rossen Stoyanchev
|
||||
* @since 3.2
|
||||
*/
|
||||
public class PathExtensionContentNegotiationStrategyTests {
|
||||
@SuppressWarnings("deprecation")
|
||||
class PathExtensionContentNegotiationStrategyTests {
|
||||
|
||||
private NativeWebRequest webRequest;
|
||||
private final MockHttpServletRequest servletRequest = new MockHttpServletRequest();
|
||||
|
||||
private MockHttpServletRequest servletRequest;
|
||||
private final NativeWebRequest webRequest = new ServletWebRequest(servletRequest);
|
||||
|
||||
|
||||
@BeforeEach
|
||||
public void setup() {
|
||||
this.servletRequest = new MockHttpServletRequest();
|
||||
this.webRequest = new ServletWebRequest(servletRequest);
|
||||
}
|
||||
private PathExtensionContentNegotiationStrategy strategy = new PathExtensionContentNegotiationStrategy();
|
||||
|
||||
|
||||
@Test
|
||||
public void resolveMediaTypesFromMapping() throws Exception {
|
||||
|
||||
void resolveMediaTypesFromMapping() throws Exception {
|
||||
this.servletRequest.setRequestURI("test.html");
|
||||
|
||||
PathExtensionContentNegotiationStrategy strategy = new PathExtensionContentNegotiationStrategy();
|
||||
List<MediaType> mediaTypes = strategy.resolveMediaTypes(this.webRequest);
|
||||
List<MediaType> mediaTypes = this.strategy.resolveMediaTypes(this.webRequest);
|
||||
|
||||
assertThat(mediaTypes).isEqualTo(Arrays.asList(new MediaType("text", "html")));
|
||||
|
||||
Map<String, MediaType> mapping = Collections.singletonMap("HTML", MediaType.APPLICATION_XHTML_XML);
|
||||
strategy = new PathExtensionContentNegotiationStrategy(mapping);
|
||||
mediaTypes = strategy.resolveMediaTypes(this.webRequest);
|
||||
this.strategy = new PathExtensionContentNegotiationStrategy(mapping);
|
||||
mediaTypes = this.strategy.resolveMediaTypes(this.webRequest);
|
||||
|
||||
assertThat(mediaTypes).isEqualTo(Arrays.asList(new MediaType("application", "xhtml+xml")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void resolveMediaTypesFromMediaTypeFactory() throws Exception {
|
||||
|
||||
void resolveMediaTypesFromMediaTypeFactory() throws Exception {
|
||||
this.servletRequest.setRequestURI("test.xls");
|
||||
|
||||
PathExtensionContentNegotiationStrategy strategy = new PathExtensionContentNegotiationStrategy();
|
||||
List<MediaType> mediaTypes = strategy.resolveMediaTypes(this.webRequest);
|
||||
List<MediaType> mediaTypes = this.strategy.resolveMediaTypes(this.webRequest);
|
||||
|
||||
assertThat(mediaTypes).isEqualTo(Arrays.asList(new MediaType("application", "vnd.ms-excel")));
|
||||
}
|
||||
|
||||
// SPR-8678
|
||||
|
||||
@Test
|
||||
public void getMediaTypeFilenameWithContextPath() throws Exception {
|
||||
|
||||
PathExtensionContentNegotiationStrategy strategy = new PathExtensionContentNegotiationStrategy();
|
||||
|
||||
@Test // SPR-8678
|
||||
void getMediaTypeFilenameWithContextPath() throws Exception {
|
||||
this.servletRequest.setContextPath("/project-1.0.0.M3");
|
||||
this.servletRequest.setRequestURI("/project-1.0.0.M3/");
|
||||
assertThat(strategy.resolveMediaTypes(webRequest)).as("Context path should be excluded").isEqualTo(ContentNegotiationStrategy.MEDIA_TYPE_ALL_LIST);
|
||||
assertThat(this.strategy.resolveMediaTypes(webRequest)).as("Context path should be excluded").isEqualTo(ContentNegotiationStrategy.MEDIA_TYPE_ALL_LIST);
|
||||
|
||||
this.servletRequest.setRequestURI("/project-1.0.0.M3");
|
||||
assertThat(strategy.resolveMediaTypes(webRequest)).as("Context path should be excluded").isEqualTo(ContentNegotiationStrategy.MEDIA_TYPE_ALL_LIST);
|
||||
assertThat(this.strategy.resolveMediaTypes(webRequest)).as("Context path should be excluded").isEqualTo(ContentNegotiationStrategy.MEDIA_TYPE_ALL_LIST);
|
||||
}
|
||||
|
||||
// SPR-9390
|
||||
|
||||
@Test
|
||||
public void getMediaTypeFilenameWithEncodedURI() throws Exception {
|
||||
|
||||
@Test // SPR-9390
|
||||
void getMediaTypeFilenameWithEncodedURI() throws Exception {
|
||||
this.servletRequest.setRequestURI("/quo%20vadis%3f.html");
|
||||
|
||||
PathExtensionContentNegotiationStrategy strategy = new PathExtensionContentNegotiationStrategy();
|
||||
List<MediaType> result = strategy.resolveMediaTypes(webRequest);
|
||||
List<MediaType> result = this.strategy.resolveMediaTypes(webRequest);
|
||||
|
||||
assertThat(result).as("Invalid content type").isEqualTo(Collections.singletonList(new MediaType("text", "html")));
|
||||
}
|
||||
|
||||
// SPR-10170
|
||||
|
||||
@Test
|
||||
public void resolveMediaTypesIgnoreUnknownExtension() throws Exception {
|
||||
|
||||
@Test // SPR-10170
|
||||
void resolveMediaTypesIgnoreUnknownExtension() throws Exception {
|
||||
this.servletRequest.setRequestURI("test.foobar");
|
||||
|
||||
PathExtensionContentNegotiationStrategy strategy = new PathExtensionContentNegotiationStrategy();
|
||||
List<MediaType> mediaTypes = strategy.resolveMediaTypes(this.webRequest);
|
||||
List<MediaType> mediaTypes = this.strategy.resolveMediaTypes(this.webRequest);
|
||||
|
||||
assertThat(mediaTypes).isEqualTo(ContentNegotiationStrategy.MEDIA_TYPE_ALL_LIST);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void resolveMediaTypesDoNotIgnoreUnknownExtension() throws Exception {
|
||||
|
||||
void resolveMediaTypesDoNotIgnoreUnknownExtension() {
|
||||
this.servletRequest.setRequestURI("test.foobar");
|
||||
|
||||
PathExtensionContentNegotiationStrategy strategy = new PathExtensionContentNegotiationStrategy();
|
||||
strategy.setIgnoreUnknownExtensions(false);
|
||||
assertThatExceptionOfType(HttpMediaTypeNotAcceptableException.class).isThrownBy(() ->
|
||||
strategy.resolveMediaTypes(this.webRequest));
|
||||
this.strategy.setIgnoreUnknownExtensions(false);
|
||||
assertThatExceptionOfType(HttpMediaTypeNotAcceptableException.class)
|
||||
.isThrownBy(() -> this.strategy.resolveMediaTypes(this.webRequest));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -81,36 +81,30 @@ import static org.springframework.http.MediaType.parseMediaType;
|
|||
* @author Sam Brannen
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public class RestTemplateTests {
|
||||
class RestTemplateTests {
|
||||
|
||||
private RestTemplate template;
|
||||
private final ClientHttpRequestFactory requestFactory = mock(ClientHttpRequestFactory.class);
|
||||
|
||||
private ClientHttpRequestFactory requestFactory;
|
||||
private final ClientHttpRequest request = mock(ClientHttpRequest.class);
|
||||
|
||||
private ClientHttpRequest request;
|
||||
private final ClientHttpResponse response = mock(ClientHttpResponse.class);
|
||||
|
||||
private ClientHttpResponse response;
|
||||
|
||||
private ResponseErrorHandler errorHandler;
|
||||
private final ResponseErrorHandler errorHandler = mock(ResponseErrorHandler.class);
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
private HttpMessageConverter converter;
|
||||
private final HttpMessageConverter converter = mock(HttpMessageConverter.class);
|
||||
|
||||
private final RestTemplate template = new RestTemplate(Collections.singletonList(converter));
|
||||
|
||||
|
||||
@BeforeEach
|
||||
public void setup() {
|
||||
requestFactory = mock(ClientHttpRequestFactory.class);
|
||||
request = mock(ClientHttpRequest.class);
|
||||
response = mock(ClientHttpResponse.class);
|
||||
errorHandler = mock(ResponseErrorHandler.class);
|
||||
converter = mock(HttpMessageConverter.class);
|
||||
template = new RestTemplate(Collections.singletonList(converter));
|
||||
void setup() {
|
||||
template.setRequestFactory(requestFactory);
|
||||
template.setErrorHandler(errorHandler);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void constructorPreconditions() {
|
||||
void constructorPreconditions() {
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new RestTemplate((List<HttpMessageConverter<?>>) null))
|
||||
.withMessage("At least one HttpMessageConverter is required");
|
||||
|
@ -120,7 +114,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void setMessageConvertersPreconditions() {
|
||||
void setMessageConvertersPreconditions() {
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> template.setMessageConverters((List<HttpMessageConverter<?>>) null))
|
||||
.withMessage("At least one HttpMessageConverter is required");
|
||||
|
@ -130,7 +124,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void varArgsTemplateVariables() throws Exception {
|
||||
void varArgsTemplateVariables() throws Exception {
|
||||
mockSentRequest(GET, "https://example.com/hotels/42/bookings/21");
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
||||
|
@ -141,7 +135,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void varArgsNullTemplateVariable() throws Exception {
|
||||
void varArgsNullTemplateVariable() throws Exception {
|
||||
mockSentRequest(GET, "https://example.com/-foo");
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
||||
|
@ -151,7 +145,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void mapTemplateVariables() throws Exception {
|
||||
void mapTemplateVariables() throws Exception {
|
||||
mockSentRequest(GET, "https://example.com/hotels/42/bookings/42");
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
||||
|
@ -162,7 +156,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void mapNullTemplateVariable() throws Exception {
|
||||
void mapNullTemplateVariable() throws Exception {
|
||||
mockSentRequest(GET, "https://example.com/-foo");
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
||||
|
@ -175,7 +169,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test // SPR-15201
|
||||
public void uriTemplateWithTrailingSlash() throws Exception {
|
||||
void uriTemplateWithTrailingSlash() throws Exception {
|
||||
String url = "https://example.com/spring/";
|
||||
mockSentRequest(GET, url);
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
@ -186,7 +180,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void errorHandling() throws Exception {
|
||||
void errorHandling() throws Exception {
|
||||
String url = "https://example.com";
|
||||
mockSentRequest(GET, url);
|
||||
mockResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR);
|
||||
|
@ -200,7 +194,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void getForObject() throws Exception {
|
||||
void getForObject() throws Exception {
|
||||
String expected = "Hello World";
|
||||
mockTextPlainHttpMessageConverter();
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
|
@ -216,7 +210,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void getUnsupportedMediaType() throws Exception {
|
||||
void getUnsupportedMediaType() throws Exception {
|
||||
mockSentRequest(GET, "https://example.com/resource");
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
||||
|
@ -235,7 +229,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void requestAvoidsDuplicateAcceptHeaderValues() throws Exception {
|
||||
void requestAvoidsDuplicateAcceptHeaderValues() throws Exception {
|
||||
HttpMessageConverter<?> firstConverter = mock(HttpMessageConverter.class);
|
||||
given(firstConverter.canRead(any(), any())).willReturn(true);
|
||||
given(firstConverter.getSupportedMediaTypes())
|
||||
|
@ -257,7 +251,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void getForEntity() throws Exception {
|
||||
void getForEntity() throws Exception {
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(GET, "https://example.com", requestHeaders);
|
||||
mockTextPlainHttpMessageConverter();
|
||||
|
@ -275,7 +269,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void getForObjectWithCustomUriTemplateHandler() throws Exception {
|
||||
void getForObjectWithCustomUriTemplateHandler() throws Exception {
|
||||
DefaultUriBuilderFactory uriTemplateHandler = new DefaultUriBuilderFactory();
|
||||
template.setUriTemplateHandler(uriTemplateHandler);
|
||||
mockSentRequest(GET, "https://example.com/hotels/1/pic/pics%2Flogo.png/size/150x150");
|
||||
|
@ -295,7 +289,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void headForHeaders() throws Exception {
|
||||
void headForHeaders() throws Exception {
|
||||
mockSentRequest(HEAD, "https://example.com");
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
HttpHeaders responseHeaders = new HttpHeaders();
|
||||
|
@ -309,7 +303,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void postForLocation() throws Exception {
|
||||
void postForLocation() throws Exception {
|
||||
mockSentRequest(POST, "https://example.com");
|
||||
mockTextPlainHttpMessageConverter();
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
@ -326,7 +320,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void postForLocationEntityContentType() throws Exception {
|
||||
void postForLocationEntityContentType() throws Exception {
|
||||
mockSentRequest(POST, "https://example.com");
|
||||
mockTextPlainHttpMessageConverter();
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
@ -348,7 +342,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void postForLocationEntityCustomHeader() throws Exception {
|
||||
void postForLocationEntityCustomHeader() throws Exception {
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(POST, "https://example.com", requestHeaders);
|
||||
mockTextPlainHttpMessageConverter();
|
||||
|
@ -370,7 +364,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void postForLocationNoLocation() throws Exception {
|
||||
void postForLocationNoLocation() throws Exception {
|
||||
mockSentRequest(POST, "https://example.com");
|
||||
mockTextPlainHttpMessageConverter();
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
@ -382,7 +376,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void postForLocationNull() throws Exception {
|
||||
void postForLocationNull() throws Exception {
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(POST, "https://example.com", requestHeaders);
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
@ -394,7 +388,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void postForObject() throws Exception {
|
||||
void postForObject() throws Exception {
|
||||
mockTextPlainHttpMessageConverter();
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(POST, "https://example.com", requestHeaders);
|
||||
|
@ -410,7 +404,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void postForEntity() throws Exception {
|
||||
void postForEntity() throws Exception {
|
||||
mockTextPlainHttpMessageConverter();
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(POST, "https://example.com", requestHeaders);
|
||||
|
@ -428,7 +422,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void postForObjectNull() throws Exception {
|
||||
void postForObjectNull() throws Exception {
|
||||
mockTextPlainHttpMessageConverter();
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(POST, "https://example.com", requestHeaders);
|
||||
|
@ -448,7 +442,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void postForEntityNull() throws Exception {
|
||||
void postForEntityNull() throws Exception {
|
||||
mockTextPlainHttpMessageConverter();
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(POST, "https://example.com", requestHeaders);
|
||||
|
@ -470,7 +464,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void put() throws Exception {
|
||||
void put() throws Exception {
|
||||
mockTextPlainHttpMessageConverter();
|
||||
mockSentRequest(PUT, "https://example.com");
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
@ -481,7 +475,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void putNull() throws Exception {
|
||||
void putNull() throws Exception {
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(PUT, "https://example.com", requestHeaders);
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
@ -493,26 +487,21 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test // gh-23740
|
||||
public void headerAcceptAllOnPut() throws Exception {
|
||||
MockWebServer server = new MockWebServer();
|
||||
server.enqueue(new MockResponse().setResponseCode(500).setBody("internal server error"));
|
||||
server.start();
|
||||
try {
|
||||
void headerAcceptAllOnPut() throws Exception {
|
||||
try (MockWebServer server = new MockWebServer()) {
|
||||
server.enqueue(new MockResponse().setResponseCode(500).setBody("internal server error"));
|
||||
server.start();
|
||||
template.setRequestFactory(new SimpleClientHttpRequestFactory());
|
||||
template.put(server.url("/internal/server/error").uri(), null);
|
||||
assertThat(server.takeRequest().getHeader("Accept")).isEqualTo("*/*");
|
||||
}
|
||||
finally {
|
||||
server.shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
@Test // gh-23740
|
||||
public void keepGivenAcceptHeaderOnPut() throws Exception {
|
||||
MockWebServer server = new MockWebServer();
|
||||
server.enqueue(new MockResponse().setResponseCode(500).setBody("internal server error"));
|
||||
server.start();
|
||||
try {
|
||||
void keepGivenAcceptHeaderOnPut() throws Exception {
|
||||
try (MockWebServer server = new MockWebServer()) {
|
||||
server.enqueue(new MockResponse().setResponseCode(500).setBody("internal server error"));
|
||||
server.start();
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
|
||||
HttpEntity<String> entity = new HttpEntity<>(null, headers);
|
||||
|
@ -530,13 +519,10 @@ public class RestTemplateTests {
|
|||
assertThat(accepts.get(0)).hasSize(1);
|
||||
assertThat(accepts.get(0).get(0)).isEqualTo("application/json");
|
||||
}
|
||||
finally {
|
||||
server.shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void patchForObject() throws Exception {
|
||||
void patchForObject() throws Exception {
|
||||
mockTextPlainHttpMessageConverter();
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(PATCH, "https://example.com", requestHeaders);
|
||||
|
@ -552,7 +538,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void patchForObjectNull() throws Exception {
|
||||
void patchForObjectNull() throws Exception {
|
||||
mockTextPlainHttpMessageConverter();
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(PATCH, "https://example.com", requestHeaders);
|
||||
|
@ -570,9 +556,8 @@ public class RestTemplateTests {
|
|||
verify(response).close();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void delete() throws Exception {
|
||||
void delete() throws Exception {
|
||||
mockSentRequest(DELETE, "https://example.com");
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
|
||||
|
@ -582,22 +567,18 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test // gh-23740
|
||||
public void headerAcceptAllOnDelete() throws Exception {
|
||||
MockWebServer server = new MockWebServer();
|
||||
server.enqueue(new MockResponse().setResponseCode(500).setBody("internal server error"));
|
||||
server.start();
|
||||
try {
|
||||
void headerAcceptAllOnDelete() throws Exception {
|
||||
try (MockWebServer server = new MockWebServer()) {
|
||||
server.enqueue(new MockResponse().setResponseCode(500).setBody("internal server error"));
|
||||
server.start();
|
||||
template.setRequestFactory(new SimpleClientHttpRequestFactory());
|
||||
template.delete(server.url("/internal/server/error").uri());
|
||||
assertThat(server.takeRequest().getHeader("Accept")).isEqualTo("*/*");
|
||||
}
|
||||
finally {
|
||||
server.shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void optionsForAllow() throws Exception {
|
||||
void optionsForAllow() throws Exception {
|
||||
mockSentRequest(OPTIONS, "https://example.com");
|
||||
mockResponseStatus(HttpStatus.OK);
|
||||
HttpHeaders responseHeaders = new HttpHeaders();
|
||||
|
@ -612,7 +593,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test // SPR-9325, SPR-13860
|
||||
public void ioException() throws Exception {
|
||||
void ioException() throws Exception {
|
||||
String url = "https://example.com/resource?access_token=123";
|
||||
mockSentRequest(GET, url);
|
||||
mockHttpMessageConverter(new MediaType("foo", "bar"), String.class);
|
||||
|
@ -625,8 +606,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test // SPR-15900
|
||||
public void ioExceptionWithEmptyQueryString() throws Exception {
|
||||
|
||||
void ioExceptionWithEmptyQueryString() throws Exception {
|
||||
// https://example.com/resource?
|
||||
URI uri = new URI("https", "example.com", "/resource", "", null);
|
||||
|
||||
|
@ -643,7 +623,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void exchange() throws Exception {
|
||||
void exchange() throws Exception {
|
||||
mockTextPlainHttpMessageConverter();
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
mockSentRequest(POST, "https://example.com", requestHeaders);
|
||||
|
@ -666,7 +646,7 @@ public class RestTemplateTests {
|
|||
|
||||
@Test
|
||||
@SuppressWarnings("rawtypes")
|
||||
public void exchangeParameterizedType() throws Exception {
|
||||
void exchangeParameterizedType() throws Exception {
|
||||
GenericHttpMessageConverter converter = mock(GenericHttpMessageConverter.class);
|
||||
template.setMessageConverters(Collections.<HttpMessageConverter<?>>singletonList(converter));
|
||||
ParameterizedTypeReference<List<Integer>> intList = new ParameterizedTypeReference<List<Integer>>() {};
|
||||
|
@ -700,7 +680,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test // SPR-15066
|
||||
public void requestInterceptorCanAddExistingHeaderValueWithoutBody() throws Exception {
|
||||
void requestInterceptorCanAddExistingHeaderValueWithoutBody() throws Exception {
|
||||
ClientHttpRequestInterceptor interceptor = (request, body, execution) -> {
|
||||
request.getHeaders().add("MyHeader", "MyInterceptorValue");
|
||||
return execution.execute(request, body);
|
||||
|
@ -721,7 +701,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test // SPR-15066
|
||||
public void requestInterceptorCanAddExistingHeaderValueWithBody() throws Exception {
|
||||
void requestInterceptorCanAddExistingHeaderValueWithBody() throws Exception {
|
||||
ClientHttpRequestInterceptor interceptor = (request, body, execution) -> {
|
||||
request.getHeaders().add("MyHeader", "MyInterceptorValue");
|
||||
return execution.execute(request, body);
|
||||
|
@ -745,7 +725,7 @@ public class RestTemplateTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void clientHttpRequestInitializerAndRequestInterceptorAreBothApplied() throws Exception {
|
||||
void clientHttpRequestInitializerAndRequestInterceptorAreBothApplied() throws Exception {
|
||||
ClientHttpRequestInitializer initializer = request ->
|
||||
request.getHeaders().add("MyHeader", "MyInitializerValue");
|
||||
ClientHttpRequestInterceptor interceptor = (request, body, execution) -> {
|
||||
|
|
|
@ -387,6 +387,7 @@ class WebClientIntegrationTests {
|
|||
}
|
||||
|
||||
@ParameterizedWebClientTest
|
||||
@SuppressWarnings("rawtypes")
|
||||
void retrieveJsonNull(ClientHttpConnector connector) {
|
||||
startServer(connector);
|
||||
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -67,7 +67,6 @@ import org.springframework.web.servlet.support.RequestContextUtils;
|
|||
import org.springframework.web.servlet.theme.SessionThemeResolver;
|
||||
import org.springframework.web.servlet.theme.ThemeChangeInterceptor;
|
||||
import org.springframework.web.servlet.view.InternalResourceViewResolver;
|
||||
import org.springframework.web.servlet.view.ResourceBundleViewResolver;
|
||||
import org.springframework.web.util.WebUtils;
|
||||
|
||||
/**
|
||||
|
@ -77,6 +76,7 @@ import org.springframework.web.util.WebUtils;
|
|||
public class ComplexWebApplicationContext extends StaticWebApplicationContext {
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void refresh() throws BeansException {
|
||||
registerSingleton(DispatcherServlet.LOCALE_RESOLVER_BEAN_NAME, SessionLocaleResolver.class);
|
||||
registerSingleton(DispatcherServlet.THEME_RESOLVER_BEAN_NAME, SessionThemeResolver.class);
|
||||
|
@ -126,7 +126,7 @@ public class ComplexWebApplicationContext extends StaticWebApplicationContext {
|
|||
pvs = new MutablePropertyValues();
|
||||
pvs.add("order", 0);
|
||||
pvs.add("basename", "org.springframework.web.servlet.complexviews");
|
||||
registerSingleton("viewResolver", ResourceBundleViewResolver.class, pvs);
|
||||
registerSingleton("viewResolver", org.springframework.web.servlet.view.ResourceBundleViewResolver.class, pvs);
|
||||
|
||||
pvs = new MutablePropertyValues();
|
||||
pvs.add("suffix", ".jsp");
|
||||
|
|
|
@ -38,7 +38,6 @@ import org.springframework.web.servlet.mvc.LastModified;
|
|||
import org.springframework.web.servlet.support.RequestContextUtils;
|
||||
import org.springframework.web.servlet.theme.AbstractThemeResolver;
|
||||
import org.springframework.web.servlet.view.InternalResourceViewResolver;
|
||||
import org.springframework.web.servlet.view.XmlViewResolver;
|
||||
|
||||
/**
|
||||
* @author Juergen Hoeller
|
||||
|
@ -47,6 +46,7 @@ import org.springframework.web.servlet.view.XmlViewResolver;
|
|||
public class SimpleWebApplicationContext extends StaticWebApplicationContext {
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void refresh() throws BeansException {
|
||||
registerSingleton("/locale.do", LocaleChecker.class);
|
||||
|
||||
|
@ -62,7 +62,7 @@ public class SimpleWebApplicationContext extends StaticWebApplicationContext {
|
|||
|
||||
MutablePropertyValues pvs = new MutablePropertyValues();
|
||||
pvs.add("location", "org/springframework/web/context/WEB-INF/sessionContext.xml");
|
||||
registerSingleton("viewResolver2", XmlViewResolver.class, pvs);
|
||||
registerSingleton("viewResolver2", org.springframework.web.servlet.view.XmlViewResolver.class, pvs);
|
||||
|
||||
super.refresh();
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -77,6 +77,7 @@ public class AnnotationDrivenBeanDefinitionParserTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void testPathMatchingConfiguration() {
|
||||
loadBeanDefinitions("mvc-config-path-matching.xml");
|
||||
RequestMappingHandlerMapping hm = this.appContext.getBean(RequestMappingHandlerMapping.class);
|
||||
|
|
|
@ -350,6 +350,7 @@ public class MvcNamespaceTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void testResources() throws Exception {
|
||||
loadBeanDefinitions("mvc-config-resources.xml");
|
||||
|
||||
|
|
|
@ -203,12 +203,14 @@ public class DelegatingWebMvcConfigurationTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void configurePathMatcher() {
|
||||
PathMatcher pathMatcher = mock(PathMatcher.class);
|
||||
UrlPathHelper pathHelper = mock(UrlPathHelper.class);
|
||||
|
||||
WebMvcConfigurer configurer = new WebMvcConfigurer() {
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void configurePathMatch(PathMatchConfigurer configurer) {
|
||||
configurer.setUseRegisteredSuffixPatternMatch(true)
|
||||
.setUseTrailingSlashMatch(false)
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -177,6 +177,7 @@ public class InterceptorRegistryTests {
|
|||
}
|
||||
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private List<HandlerInterceptor> getInterceptorsForPath(String lookupPath) {
|
||||
PathMatcher pathMatcher = new AntPathMatcher();
|
||||
List<HandlerInterceptor> result = new ArrayList<>();
|
||||
|
|
|
@ -263,6 +263,7 @@ public class WebMvcConfigurationSupportExtensionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void contentNegotiation() throws Exception {
|
||||
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/foo.json");
|
||||
NativeWebRequest webRequest = new ServletWebRequest(request);
|
||||
|
|
|
@ -52,7 +52,6 @@ import org.springframework.util.LinkedMultiValueMap;
|
|||
import org.springframework.util.MultiValueMap;
|
||||
import org.springframework.web.HttpMediaTypeNotSupportedException;
|
||||
import org.springframework.web.servlet.handler.PathPatternsTestUtils;
|
||||
import org.springframework.web.testfixture.server.MockServerWebExchange;
|
||||
import org.springframework.web.testfixture.servlet.MockHttpServletRequest;
|
||||
import org.springframework.web.testfixture.servlet.MockHttpSession;
|
||||
import org.springframework.web.testfixture.servlet.MockPart;
|
||||
|
@ -61,7 +60,6 @@ import static java.nio.charset.StandardCharsets.UTF_8;
|
|||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.springframework.web.testfixture.http.server.reactive.MockServerHttpRequest.get;
|
||||
|
||||
/**
|
||||
* @author Arjen Poutsma
|
||||
|
@ -481,10 +479,6 @@ class DefaultServerRequestTests {
|
|||
Instant oneMinuteAgo = now.minus(1, ChronoUnit.MINUTES);
|
||||
servletRequest.addHeader(HttpHeaders.IF_NONE_MATCH, eTag);
|
||||
servletRequest.addHeader(HttpHeaders.IF_MODIFIED_SINCE, oneMinuteAgo.toEpochMilli());
|
||||
MockServerWebExchange exchange = MockServerWebExchange.from(get("/")
|
||||
.ifNoneMatch(eTag)
|
||||
.ifModifiedSince(oneMinuteAgo.toEpochMilli())
|
||||
);
|
||||
|
||||
DefaultServerRequest request = new DefaultServerRequest(servletRequest, this.messageConverters);
|
||||
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -42,7 +42,6 @@ import org.springframework.web.util.UrlPathHelper;
|
|||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
|
||||
|
||||
/**
|
||||
* Test for {@link AbstractHandlerMethodMapping}.
|
||||
*
|
||||
|
@ -271,6 +270,7 @@ public class HandlerMethodMappingTests {
|
|||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
protected Set<String> getMappingPathPatterns(String key) {
|
||||
return (this.pathMatcher.isPattern(key) ? Collections.<String>emptySet() : Collections.singleton(key));
|
||||
}
|
||||
|
|
|
@ -93,6 +93,7 @@ public class SimpleUrlHandlerMappingTests {
|
|||
Object otherBean = wac.getBean("otherController");
|
||||
Object defaultBean = wac.getBean("starController");
|
||||
HandlerMapping hm = (HandlerMapping) wac.getBean(beanName);
|
||||
wac.close();
|
||||
|
||||
boolean usePathPatterns = (((AbstractHandlerMapping) hm).getPatternParser() != null);
|
||||
MockHttpServletRequest request = PathPatternsTestUtils.initRequest("GET", "/welcome.html", usePathPatterns);
|
||||
|
|
|
@ -108,6 +108,7 @@ class PatternsRequestConditionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
void matchSuffixPattern() {
|
||||
MockHttpServletRequest request = initRequest("/foo.html");
|
||||
|
||||
|
@ -129,6 +130,7 @@ class PatternsRequestConditionTests {
|
|||
}
|
||||
|
||||
@Test // SPR-8410
|
||||
@SuppressWarnings("deprecation")
|
||||
void matchSuffixPatternUsingFileExtensions() {
|
||||
PatternsRequestCondition condition = new PatternsRequestCondition(
|
||||
new String[] {"/jobs/{jobName}"}, null, null, true, false, Collections.singletonList("json"));
|
||||
|
@ -147,6 +149,7 @@ class PatternsRequestConditionTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
void matchSuffixPatternUsingFileExtensions2() {
|
||||
PatternsRequestCondition condition1 = new PatternsRequestCondition(
|
||||
new String[] {"/prefix"}, null, null, true, false, Collections.singletonList("json"));
|
||||
|
|
|
@ -550,6 +550,7 @@ class RequestMappingInfoHandlerMappingTests {
|
|||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private RequestMappingInfo.BuilderConfiguration getBuilderConfig() {
|
||||
RequestMappingInfo.BuilderConfiguration config = new RequestMappingInfo.BuilderConfiguration();
|
||||
if (getPatternParser() != null) {
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -28,8 +28,7 @@ import org.springframework.web.servlet.handler.HandlerMethodMappingNamingStrateg
|
|||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Unit tests for
|
||||
* {@link org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMethodMappingNamingStrategy}.
|
||||
* Unit tests for {@link RequestMappingInfoHandlerMethodMappingNamingStrategy}.
|
||||
*
|
||||
* @author Rossen Stoyanchev
|
||||
*/
|
||||
|
@ -37,10 +36,10 @@ public class RequestMappingInfoHandlerMethodMappingNamingStrategyTests {
|
|||
|
||||
@Test
|
||||
public void getNameExplicit() {
|
||||
|
||||
Method method = ClassUtils.getMethod(TestController.class, "handle");
|
||||
HandlerMethod handlerMethod = new HandlerMethod(new TestController(), method);
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
RequestMappingInfo rmi = new RequestMappingInfo("foo", null, null, null, null, null, null, null);
|
||||
|
||||
HandlerMethodMappingNamingStrategy<RequestMappingInfo> strategy = new RequestMappingInfoHandlerMethodMappingNamingStrategy();
|
||||
|
@ -50,10 +49,10 @@ public class RequestMappingInfoHandlerMethodMappingNamingStrategyTests {
|
|||
|
||||
@Test
|
||||
public void getNameConvention() {
|
||||
|
||||
Method method = ClassUtils.getMethod(TestController.class, "handle");
|
||||
HandlerMethod handlerMethod = new HandlerMethod(new TestController(), method);
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
RequestMappingInfo rmi = new RequestMappingInfo(null, null, null, null, null, null, null, null);
|
||||
|
||||
HandlerMethodMappingNamingStrategy<RequestMappingInfo> strategy = new RequestMappingInfoHandlerMethodMappingNamingStrategy();
|
||||
|
|
|
@ -82,6 +82,7 @@ class CrossOriginTests {
|
|||
|
||||
TestRequestMappingInfoHandlerMapping mapping2 = new TestRequestMappingInfoHandlerMapping();
|
||||
wac.getAutowireCapableBeanFactory().initializeBean(mapping2, "mapping2");
|
||||
wac.close();
|
||||
|
||||
return Stream.of(mapping1, mapping2);
|
||||
}
|
||||
|
|
|
@ -36,7 +36,6 @@ import org.springframework.http.MediaType;
|
|||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.util.ClassUtils;
|
||||
import org.springframework.web.accept.ContentNegotiationManager;
|
||||
import org.springframework.web.accept.PathExtensionContentNegotiationStrategy;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PatchMapping;
|
||||
|
@ -82,13 +81,14 @@ public class RequestMappingHandlerMappingTests {
|
|||
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
void useRegisteredSuffixPatternMatch() {
|
||||
|
||||
RequestMappingHandlerMapping handlerMapping = new RequestMappingHandlerMapping();
|
||||
handlerMapping.setApplicationContext(new StaticWebApplicationContext());
|
||||
|
||||
Map<String, MediaType> fileExtensions = Collections.singletonMap("json", MediaType.APPLICATION_JSON);
|
||||
PathExtensionContentNegotiationStrategy strategy = new PathExtensionContentNegotiationStrategy(fileExtensions);
|
||||
org.springframework.web.accept.PathExtensionContentNegotiationStrategy strategy = new org.springframework.web.accept.PathExtensionContentNegotiationStrategy(fileExtensions);
|
||||
ContentNegotiationManager manager = new ContentNegotiationManager(strategy);
|
||||
|
||||
handlerMapping.setContentNegotiationManager(manager);
|
||||
|
@ -101,9 +101,10 @@ public class RequestMappingHandlerMappingTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
void useRegisteredSuffixPatternMatchInitialization() {
|
||||
Map<String, MediaType> fileExtensions = Collections.singletonMap("json", MediaType.APPLICATION_JSON);
|
||||
PathExtensionContentNegotiationStrategy strategy = new PathExtensionContentNegotiationStrategy(fileExtensions);
|
||||
org.springframework.web.accept.PathExtensionContentNegotiationStrategy strategy = new org.springframework.web.accept.PathExtensionContentNegotiationStrategy(fileExtensions);
|
||||
ContentNegotiationManager manager = new ContentNegotiationManager(strategy);
|
||||
|
||||
final Set<String> extensions = new HashSet<>();
|
||||
|
@ -129,6 +130,7 @@ public class RequestMappingHandlerMappingTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
void suffixPatternMatchSettings() {
|
||||
RequestMappingHandlerMapping handlerMapping = new RequestMappingHandlerMapping();
|
||||
|
||||
|
|
|
@ -242,6 +242,7 @@ public class ResourceHttpRequestHandlerTests {
|
|||
}
|
||||
|
||||
@Test // SPR-13658
|
||||
@SuppressWarnings("deprecation")
|
||||
public void getResourceWithRegisteredMediaType() throws Exception {
|
||||
ContentNegotiationManagerFactoryBean factory = new ContentNegotiationManagerFactoryBean();
|
||||
factory.addMediaType("bar", new MediaType("foo", "bar"));
|
||||
|
@ -263,6 +264,7 @@ public class ResourceHttpRequestHandlerTests {
|
|||
}
|
||||
|
||||
@Test // SPR-14577
|
||||
@SuppressWarnings("deprecation")
|
||||
public void getMediaTypeWithFavorPathExtensionOff() throws Exception {
|
||||
ContentNegotiationManagerFactoryBean factory = new ContentNegotiationManagerFactoryBean();
|
||||
factory.setFavorPathExtension(false);
|
||||
|
|
|
@ -34,7 +34,6 @@ import org.springframework.web.accept.FixedContentNegotiationStrategy;
|
|||
import org.springframework.web.accept.HeaderContentNegotiationStrategy;
|
||||
import org.springframework.web.accept.MappingMediaTypeFileExtensionResolver;
|
||||
import org.springframework.web.accept.ParameterContentNegotiationStrategy;
|
||||
import org.springframework.web.accept.PathExtensionContentNegotiationStrategy;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
import org.springframework.web.context.support.StaticWebApplicationContext;
|
||||
|
@ -332,11 +331,12 @@ public class ContentNegotiatingViewResolverTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void resolveViewNameFilenameDefaultView() throws Exception {
|
||||
request.setRequestURI("/test.json");
|
||||
|
||||
Map<String, MediaType> mapping = Collections.singletonMap("json", MediaType.APPLICATION_JSON);
|
||||
PathExtensionContentNegotiationStrategy pathStrategy = new PathExtensionContentNegotiationStrategy(mapping);
|
||||
org.springframework.web.accept.PathExtensionContentNegotiationStrategy pathStrategy = new org.springframework.web.accept.PathExtensionContentNegotiationStrategy(mapping);
|
||||
viewResolver.setContentNegotiationManager(new ContentNegotiationManager(pathStrategy));
|
||||
|
||||
ViewResolver viewResolverMock1 = mock(ViewResolver.class);
|
||||
|
|
|
@ -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");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -42,6 +42,7 @@ import static org.junit.jupiter.api.Assumptions.assumeTrue;
|
|||
* @author Juergen Hoeller
|
||||
* @author Sam Brannen
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class ResourceBundleViewResolverTests {
|
||||
|
||||
/** Comes from this package */
|
||||
|
|
|
@ -57,8 +57,8 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
|||
|
||||
/**
|
||||
* Unit tests for {@link BeanNameViewResolver}, {@link UrlBasedViewResolver},
|
||||
* {@link InternalResourceViewResolver}, {@link XmlViewResolver}, and
|
||||
* {@link AbstractCachingViewResolver}.
|
||||
* {@link InternalResourceViewResolver}, {@link org.springframework.web.servlet.view.XmlViewResolver},
|
||||
* and {@link AbstractCachingViewResolver}.
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
* @author Chris Beams
|
||||
|
@ -399,11 +399,12 @@ public class ViewResolverTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void xmlViewResolver() throws Exception {
|
||||
this.wac.registerSingleton("testBean", TestBean.class);
|
||||
this.wac.refresh();
|
||||
TestBean testBean = (TestBean) this.wac.getBean("testBean");
|
||||
XmlViewResolver vr = new XmlViewResolver();
|
||||
org.springframework.web.servlet.view.XmlViewResolver vr = new org.springframework.web.servlet.view.XmlViewResolver();
|
||||
vr.setLocation(new ClassPathResource("org/springframework/web/servlet/view/views.xml"));
|
||||
vr.setApplicationContext(this.wac);
|
||||
|
||||
|
@ -438,33 +439,35 @@ public class ViewResolverTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void xmlViewResolverDefaultLocation() {
|
||||
StaticWebApplicationContext wac = new StaticWebApplicationContext() {
|
||||
@Override
|
||||
protected Resource getResourceByPath(String path) {
|
||||
assertThat(XmlViewResolver.DEFAULT_LOCATION.equals(path)).as("Correct default location").isTrue();
|
||||
assertThat(org.springframework.web.servlet.view.XmlViewResolver.DEFAULT_LOCATION.equals(path)).as("Correct default location").isTrue();
|
||||
return super.getResourceByPath(path);
|
||||
}
|
||||
};
|
||||
wac.setServletContext(this.sc);
|
||||
wac.refresh();
|
||||
XmlViewResolver vr = new XmlViewResolver();
|
||||
org.springframework.web.servlet.view.XmlViewResolver vr = new org.springframework.web.servlet.view.XmlViewResolver();
|
||||
vr.setApplicationContext(wac);
|
||||
assertThatExceptionOfType(BeanDefinitionStoreException.class).isThrownBy(vr::afterPropertiesSet);
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void xmlViewResolverWithoutCache() throws Exception {
|
||||
StaticWebApplicationContext wac = new StaticWebApplicationContext() {
|
||||
@Override
|
||||
protected Resource getResourceByPath(String path) {
|
||||
assertThat(XmlViewResolver.DEFAULT_LOCATION.equals(path)).as("Correct default location").isTrue();
|
||||
assertThat(org.springframework.web.servlet.view.XmlViewResolver.DEFAULT_LOCATION.equals(path)).as("Correct default location").isTrue();
|
||||
return super.getResourceByPath(path);
|
||||
}
|
||||
};
|
||||
wac.setServletContext(this.sc);
|
||||
wac.refresh();
|
||||
XmlViewResolver vr = new XmlViewResolver();
|
||||
org.springframework.web.servlet.view.XmlViewResolver vr = new org.springframework.web.servlet.view.XmlViewResolver();
|
||||
vr.setCache(false);
|
||||
vr.setApplicationContext(wac);
|
||||
assertThatExceptionOfType(BeanDefinitionStoreException.class).isThrownBy(() ->
|
||||
|
|
|
@ -72,20 +72,19 @@ class StompWebSocketIntegrationTests extends AbstractWebSocketIntegrationTests {
|
|||
|
||||
|
||||
@ParameterizedWebSocketTest
|
||||
@SuppressWarnings("try")
|
||||
void sendMessageToController(WebSocketTestServer server, WebSocketClient webSocketClient, TestInfo testInfo) throws Exception {
|
||||
super.setup(server, webSocketClient, testInfo);
|
||||
|
||||
TextMessage message = create(StompCommand.SEND).headers("destination:/app/simple").build();
|
||||
|
||||
try (@SuppressWarnings("unused")WebSocketSession session = doHandshake(new TestClientWebSocketHandler(0, message), "/ws").get()) {
|
||||
try (WebSocketSession session = doHandshake(new TestClientWebSocketHandler(0, message), "/ws").get()) {
|
||||
assertThat(session).isNotNull();
|
||||
SimpleController controller = this.wac.getBean(SimpleController.class);
|
||||
assertThat(controller.latch.await(TIMEOUT, TimeUnit.SECONDS)).isTrue();
|
||||
}
|
||||
}
|
||||
|
||||
@ParameterizedWebSocketTest
|
||||
@SuppressWarnings("try")
|
||||
void sendMessageToControllerAndReceiveReplyViaTopic(WebSocketTestServer server, WebSocketClient webSocketClient, TestInfo testInfo) throws Exception {
|
||||
super.setup(server, webSocketClient, testInfo);
|
||||
|
||||
|
@ -98,12 +97,12 @@ class StompWebSocketIntegrationTests extends AbstractWebSocketIntegrationTests {
|
|||
TestClientWebSocketHandler clientHandler = new TestClientWebSocketHandler(2, m0, m1, m2);
|
||||
|
||||
try (WebSocketSession session = doHandshake(clientHandler, "/ws").get()) {
|
||||
assertThat(session).isNotNull();
|
||||
assertThat(clientHandler.latch.await(TIMEOUT, TimeUnit.SECONDS)).isTrue();
|
||||
}
|
||||
}
|
||||
|
||||
@ParameterizedWebSocketTest // SPR-10930
|
||||
@SuppressWarnings("try")
|
||||
void sendMessageToBrokerAndReceiveReplyViaTopic(WebSocketTestServer server, WebSocketClient webSocketClient, TestInfo testInfo) throws Exception {
|
||||
super.setup(server, webSocketClient, testInfo);
|
||||
|
||||
|
@ -114,6 +113,7 @@ class StompWebSocketIntegrationTests extends AbstractWebSocketIntegrationTests {
|
|||
TestClientWebSocketHandler clientHandler = new TestClientWebSocketHandler(2, m0, m1, m2);
|
||||
|
||||
try (WebSocketSession session = doHandshake(clientHandler, "/ws").get()) {
|
||||
assertThat(session).isNotNull();
|
||||
assertThat(clientHandler.latch.await(TIMEOUT, TimeUnit.SECONDS)).isTrue();
|
||||
|
||||
String payload = clientHandler.actual.get(1).getPayload();
|
||||
|
@ -122,7 +122,6 @@ class StompWebSocketIntegrationTests extends AbstractWebSocketIntegrationTests {
|
|||
}
|
||||
|
||||
@ParameterizedWebSocketTest // SPR-11648
|
||||
@SuppressWarnings("try")
|
||||
void sendSubscribeToControllerAndReceiveReply(WebSocketTestServer server, WebSocketClient webSocketClient, TestInfo testInfo) throws Exception {
|
||||
super.setup(server, webSocketClient, testInfo);
|
||||
|
||||
|
@ -133,6 +132,7 @@ class StompWebSocketIntegrationTests extends AbstractWebSocketIntegrationTests {
|
|||
TestClientWebSocketHandler clientHandler = new TestClientWebSocketHandler(2, m0, m1);
|
||||
|
||||
try (WebSocketSession session = doHandshake(clientHandler, "/ws").get()) {
|
||||
assertThat(session).isNotNull();
|
||||
assertThat(clientHandler.latch.await(TIMEOUT, TimeUnit.SECONDS)).isTrue();
|
||||
String payload = clientHandler.actual.get(1).getPayload();
|
||||
assertThat(payload.contains(destHeader)).as("Expected STOMP destination=/app/number, got " + payload).isTrue();
|
||||
|
@ -141,7 +141,6 @@ class StompWebSocketIntegrationTests extends AbstractWebSocketIntegrationTests {
|
|||
}
|
||||
|
||||
@ParameterizedWebSocketTest
|
||||
@SuppressWarnings("try")
|
||||
void handleExceptionAndSendToUser(WebSocketTestServer server, WebSocketClient webSocketClient, TestInfo testInfo) throws Exception {
|
||||
super.setup(server, webSocketClient, testInfo);
|
||||
|
||||
|
@ -153,6 +152,7 @@ class StompWebSocketIntegrationTests extends AbstractWebSocketIntegrationTests {
|
|||
TestClientWebSocketHandler clientHandler = new TestClientWebSocketHandler(2, m0, m1, m2);
|
||||
|
||||
try (WebSocketSession session = doHandshake(clientHandler, "/ws").get()) {
|
||||
assertThat(session).isNotNull();
|
||||
assertThat(clientHandler.latch.await(TIMEOUT, TimeUnit.SECONDS)).isTrue();
|
||||
String payload = clientHandler.actual.get(1).getPayload();
|
||||
assertThat(payload.startsWith("MESSAGE\n")).isTrue();
|
||||
|
@ -162,7 +162,6 @@ class StompWebSocketIntegrationTests extends AbstractWebSocketIntegrationTests {
|
|||
}
|
||||
|
||||
@ParameterizedWebSocketTest
|
||||
@SuppressWarnings("try")
|
||||
void webSocketScope(WebSocketTestServer server, WebSocketClient webSocketClient, TestInfo testInfo) throws Exception {
|
||||
super.setup(server, webSocketClient, testInfo);
|
||||
|
||||
|
@ -175,6 +174,7 @@ class StompWebSocketIntegrationTests extends AbstractWebSocketIntegrationTests {
|
|||
TestClientWebSocketHandler clientHandler = new TestClientWebSocketHandler(2, m0, m1, m2);
|
||||
|
||||
try (WebSocketSession session = doHandshake(clientHandler, "/ws").get()) {
|
||||
assertThat(session).isNotNull();
|
||||
assertThat(clientHandler.latch.await(TIMEOUT, TimeUnit.SECONDS)).isTrue();
|
||||
String payload = clientHandler.actual.get(1).getPayload();
|
||||
assertThat(payload.startsWith("MESSAGE\n")).isTrue();
|
||||
|
|
Loading…
Reference in New Issue