mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-07-05 00:56:58 +08:00
Constently use assertThatExceptionOf... assertions
Closes gh-37964
This commit is contained in:
parent
fe69930ac7
commit
abdad1cabe
@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.build.mavenplugin.PluginXmlParser.Plugin;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* Tests for {@link PluginXmlParser}.
|
||||
@ -50,9 +50,9 @@ class PluginXmlParserTests {
|
||||
|
||||
@Test
|
||||
void parseNonExistingFileThrowException() {
|
||||
assertThatThrownBy(() -> this.parser.parse(new File("src/test/resources/nonexistent.xml")))
|
||||
.isInstanceOf(RuntimeException.class)
|
||||
.hasCauseInstanceOf(FileNotFoundException.class);
|
||||
assertThatExceptionOfType(RuntimeException.class)
|
||||
.isThrownBy(() -> this.parser.parse(new File("src/test/resources/nonexistent.xml")))
|
||||
.withCauseInstanceOf(FileNotFoundException.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
||||
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
@ -117,8 +117,8 @@ class HibernateMetricsAutoConfigurationTests {
|
||||
.withUserConfiguration(NonHibernateEntityManagerFactoryConfiguration.class)
|
||||
.run((context) -> {
|
||||
// ensure EntityManagerFactory is not a Hibernate SessionFactory
|
||||
assertThatThrownBy(() -> context.getBean(EntityManagerFactory.class).unwrap(SessionFactory.class))
|
||||
.isInstanceOf(PersistenceException.class);
|
||||
assertThatExceptionOfType(PersistenceException.class)
|
||||
.isThrownBy(() -> context.getBean(EntityManagerFactory.class).unwrap(SessionFactory.class));
|
||||
MeterRegistry registry = context.getBean(MeterRegistry.class);
|
||||
assertThat(registry.find("hibernate.statements").meter()).isNull();
|
||||
});
|
||||
|
@ -43,7 +43,7 @@ import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.actuate.metrics.AutoTimer;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
@ -143,11 +143,9 @@ class GraphQlMetricsInstrumentationTests {
|
||||
DataFetcher<CompletionStage<String>> dataFetcher = mock(DataFetcher.class);
|
||||
given(dataFetcher.get(any())).willThrow(new IllegalStateException("test"));
|
||||
InstrumentationFieldFetchParameters fieldFetchParameters = mockFieldFetchParameters(false);
|
||||
|
||||
DataFetcher<?> instrumented = this.instrumentation.instrumentDataFetcher(dataFetcher, fieldFetchParameters);
|
||||
DataFetchingEnvironment environment = DataFetchingEnvironmentImpl.newDataFetchingEnvironment().build();
|
||||
assertThatThrownBy(() -> instrumented.get(environment)).isInstanceOf(IllegalStateException.class);
|
||||
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> instrumented.get(environment));
|
||||
Timer timer = this.registry.find("graphql.datafetcher").timer();
|
||||
assertThat(timer).isNotNull();
|
||||
assertThat(timer.count()).isEqualTo(1);
|
||||
|
@ -43,7 +43,7 @@ import org.springframework.web.reactive.function.client.ExchangeFunction;
|
||||
import org.springframework.web.reactive.function.client.WebClient;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
@ -145,9 +145,10 @@ class MetricsWebClientFilterFunctionTests {
|
||||
.tags("method", "GET", "uri", "/projects/spring-boot", "status", "CLIENT_ERROR")
|
||||
.timer()
|
||||
.count()).isEqualTo(1);
|
||||
assertThatThrownBy(() -> this.registry.get("http.client.requests")
|
||||
.tags("method", "GET", "uri", "/projects/spring-boot", "status", "200")
|
||||
.timer()).isInstanceOf(MeterNotFoundException.class);
|
||||
assertThatExceptionOfType(MeterNotFoundException.class)
|
||||
.isThrownBy(() -> this.registry.get("http.client.requests")
|
||||
.tags("method", "GET", "uri", "/projects/spring-boot", "status", "200")
|
||||
.timer());
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -162,9 +163,10 @@ class MetricsWebClientFilterFunctionTests {
|
||||
.tags("method", "GET", "uri", "/projects/spring-boot", "status", "200")
|
||||
.timer()
|
||||
.count()).isEqualTo(1);
|
||||
assertThatThrownBy(() -> this.registry.get("http.client.requests")
|
||||
.tags("method", "GET", "uri", "/projects/spring-boot", "status", "CLIENT_ERROR")
|
||||
.timer()).isInstanceOf(MeterNotFoundException.class);
|
||||
assertThatExceptionOfType(MeterNotFoundException.class)
|
||||
.isThrownBy(() -> this.registry.get("http.client.requests")
|
||||
.tags("method", "GET", "uri", "/projects/spring-boot", "status", "CLIENT_ERROR")
|
||||
.timer());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -31,13 +31,14 @@ import com.datastax.oss.driver.internal.core.session.throttling.PassThroughReque
|
||||
import com.datastax.oss.driver.internal.core.session.throttling.RateLimitingRequestThrottler;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.factory.BeanCreationException;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* Tests for {@link CassandraAutoConfiguration}
|
||||
@ -217,9 +218,10 @@ class CassandraAutoConfigurationTests {
|
||||
@Test
|
||||
void driverConfigLoaderWithRateLimitingRequiresExtraConfiguration() {
|
||||
this.contextRunner.withPropertyValues("spring.data.cassandra.request.throttler.type=rate-limiting")
|
||||
.run((context) -> assertThatThrownBy(() -> context.getBean(CqlSession.class))
|
||||
.hasMessageContaining("Error instantiating class RateLimitingRequestThrottler")
|
||||
.hasMessageContaining("No configuration setting found for key"));
|
||||
.run((context) -> assertThatExceptionOfType(BeanCreationException.class)
|
||||
.isThrownBy(() -> context.getBean(CqlSession.class))
|
||||
.withMessageContaining("Error instantiating class RateLimitingRequestThrottler")
|
||||
.withMessageContaining("No configuration setting found for key"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -34,13 +34,14 @@ import org.testcontainers.images.builder.Transferable;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import org.springframework.beans.factory.BeanCreationException;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.boot.testsupport.testcontainers.CassandraContainer;
|
||||
import org.springframework.util.StreamUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* Tests for {@link CassandraAutoConfiguration} that only uses password authentication.
|
||||
@ -79,8 +80,9 @@ class CassandraAutoConfigurationWithPasswordAuthenticationIntegrationTests {
|
||||
this.contextRunner
|
||||
.withPropertyValues("spring.data.cassandra.username=not-a-user",
|
||||
"spring.data.cassandra.password=invalid-password")
|
||||
.run((context) -> assertThatThrownBy(() -> context.getBean(CqlSession.class))
|
||||
.hasMessageContaining("Authentication error"));
|
||||
.run((context) -> assertThatExceptionOfType(BeanCreationException.class)
|
||||
.isThrownBy(() -> context.getBean(CqlSession.class))
|
||||
.withMessageContaining("Authentication error"));
|
||||
}
|
||||
|
||||
static final class PasswordAuthenticatorCassandraContainer extends CassandraContainer {
|
||||
|
@ -34,7 +34,7 @@ import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
/**
|
||||
@ -69,11 +69,11 @@ class IntegrationPropertiesEnvironmentPostProcessorTests {
|
||||
void registerIntegrationPropertiesPropertySourceWithUnknownResourceThrowsException() {
|
||||
ConfigurableEnvironment environment = new StandardEnvironment();
|
||||
ClassPathResource unknown = new ClassPathResource("does-not-exist.properties", getClass());
|
||||
assertThatThrownBy(() -> new IntegrationPropertiesEnvironmentPostProcessor()
|
||||
.registerIntegrationPropertiesPropertySource(environment, unknown))
|
||||
.isInstanceOf(IllegalStateException.class)
|
||||
.hasCauseInstanceOf(FileNotFoundException.class)
|
||||
.hasMessageContaining(unknown.toString());
|
||||
assertThatIllegalStateException()
|
||||
.isThrownBy(() -> new IntegrationPropertiesEnvironmentPostProcessor()
|
||||
.registerIntegrationPropertiesPropertySource(environment, unknown))
|
||||
.withCauseInstanceOf(FileNotFoundException.class)
|
||||
.withMessageContaining(unknown.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -64,7 +64,7 @@ import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
/**
|
||||
@ -328,10 +328,10 @@ class JacksonAutoConfigurationTests {
|
||||
void disableDefaultLeniency() {
|
||||
this.contextRunner.withPropertyValues("spring.jackson.default-leniency:false").run((context) -> {
|
||||
ObjectMapper mapper = context.getBean(ObjectMapper.class);
|
||||
assertThatThrownBy(() -> mapper.readValue("{\"birthDate\": \"2010-12-30\"}", Person.class))
|
||||
.isInstanceOf(InvalidFormatException.class)
|
||||
.hasMessageContaining("expected format")
|
||||
.hasMessageContaining("yyyyMMdd");
|
||||
assertThatExceptionOfType(InvalidFormatException.class)
|
||||
.isThrownBy(() -> mapper.readValue("{\"birthDate\": \"2010-12-30\"}", Person.class))
|
||||
.withMessageContaining("expected format")
|
||||
.withMessageContaining("yyyyMMdd");
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -36,6 +36,7 @@ import org.junit.jupiter.api.condition.OS;
|
||||
import org.junit.jupiter.api.io.TempDir;
|
||||
|
||||
import org.springframework.beans.DirectFieldAccessor;
|
||||
import org.springframework.beans.factory.BeanCreationException;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
|
||||
@ -51,7 +52,7 @@ import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.util.FileSystemUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* Tests for {@link EmbeddedMongoAutoConfiguration}.
|
||||
@ -82,8 +83,10 @@ class EmbeddedMongoAutoConfigurationTests {
|
||||
TestPropertyValues.of("spring.data.mongodb.port=0").applyTo(this.context);
|
||||
this.context.register(MongoAutoConfiguration.class, MongoDataAutoConfiguration.class,
|
||||
EmbeddedMongoAutoConfiguration.class);
|
||||
assertThatThrownBy(() -> this.context.refresh()).hasRootCauseExactlyInstanceOf(IllegalStateException.class)
|
||||
.hasRootCauseMessage("Set the spring.mongodb.embedded.version property or define your own MongodConfig "
|
||||
assertThatExceptionOfType(BeanCreationException.class).isThrownBy(() -> this.context.refresh())
|
||||
.withRootCauseExactlyInstanceOf(IllegalStateException.class)
|
||||
.havingRootCause()
|
||||
.withMessage("Set the spring.mongodb.embedded.version property or define your own MongodConfig "
|
||||
+ "bean to use embedded MongoDB");
|
||||
}
|
||||
|
||||
|
@ -24,8 +24,8 @@ import org.mockito.InOrder;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
||||
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.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.BDDMockito.then;
|
||||
import static org.mockito.Mockito.inOrder;
|
||||
@ -59,8 +59,8 @@ class ContextConsumerTests {
|
||||
given(predicate.test(24)).willReturn(false);
|
||||
ContextConsumer<ApplicationContext> firstConsumer = (context) -> assertThat(predicate.test(42)).isFalse();
|
||||
ContextConsumer<ApplicationContext> secondConsumer = (context) -> assertThat(predicate.test(24)).isFalse();
|
||||
assertThatThrownBy(() -> firstConsumer.andThen(secondConsumer).accept(mock(ApplicationContext.class)))
|
||||
.isInstanceOf(AssertionError.class);
|
||||
assertThatExceptionOfType(AssertionError.class)
|
||||
.isThrownBy(() -> firstConsumer.andThen(secondConsumer).accept(mock(ApplicationContext.class)));
|
||||
then(predicate).should().test(42);
|
||||
then(predicate).shouldHaveNoMoreInteractions();
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ import org.springframework.boot.gradle.junit.GradleProjectBuilder;
|
||||
import org.springframework.boot.testsupport.classpath.ClassPathExclusions;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* Tests for {@link BuildInfo}.
|
||||
@ -191,8 +191,8 @@ class BuildInfoTests {
|
||||
void nullAdditionalPropertyProducesInformativeFailure() {
|
||||
BuildInfo task = createTask(createProject("test"));
|
||||
task.getProperties().getAdditional().put("a", null);
|
||||
assertThatThrownBy(() -> buildInfoProperties(task))
|
||||
.hasMessage("Additional property 'a' is illegal as its value is null");
|
||||
assertThatExceptionOfType(Throwable.class).isThrownBy(() -> buildInfoProperties(task))
|
||||
.withMessage("Additional property 'a' is illegal as its value is null");
|
||||
}
|
||||
|
||||
private Project createProject(String projectName) {
|
||||
|
@ -35,9 +35,9 @@ import org.springframework.context.support.AbstractApplicationContext;
|
||||
import org.springframework.context.support.GenericApplicationContext;
|
||||
|
||||
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.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
|
||||
/**
|
||||
* Tests for {@link SpringApplicationShutdownHook}.
|
||||
@ -163,8 +163,7 @@ class SpringApplicationShutdownHookTests {
|
||||
ConfigurableApplicationContext context = new GenericApplicationContext();
|
||||
shutdownHook.registerApplicationContext(context);
|
||||
context.refresh();
|
||||
assertThatThrownBy(() -> shutdownHook.deregisterFailedApplicationContext(context))
|
||||
.isInstanceOf(IllegalStateException.class);
|
||||
assertThatIllegalStateException().isThrownBy(() -> shutdownHook.deregisterFailedApplicationContext(context));
|
||||
assertThat(shutdownHook.isApplicationContextRegistered(context)).isTrue();
|
||||
}
|
||||
|
||||
@ -174,7 +173,7 @@ class SpringApplicationShutdownHookTests {
|
||||
GenericApplicationContext context = new GenericApplicationContext();
|
||||
shutdownHook.registerApplicationContext(context);
|
||||
context.registerBean(FailingBean.class);
|
||||
assertThatThrownBy(context::refresh).isInstanceOf(BeanCreationException.class);
|
||||
assertThatExceptionOfType(BeanCreationException.class).isThrownBy(context::refresh);
|
||||
assertThat(shutdownHook.isApplicationContextRegistered(context)).isTrue();
|
||||
shutdownHook.deregisterFailedApplicationContext(context);
|
||||
assertThat(shutdownHook.isApplicationContextRegistered(context)).isFalse();
|
||||
|
@ -27,7 +27,8 @@ import org.springframework.boot.context.metrics.buffering.StartupTimeline.Timeli
|
||||
import org.springframework.core.metrics.StartupStep;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
|
||||
/**
|
||||
* Tests for {@link BufferingApplicationStartup}.
|
||||
@ -86,8 +87,8 @@ class BufferingApplicationStartupTests {
|
||||
void startRecordingShouldFailIfEventsWereRecorded() {
|
||||
BufferingApplicationStartup applicationStartup = new BufferingApplicationStartup(2);
|
||||
applicationStartup.start("first").end();
|
||||
assertThatThrownBy(applicationStartup::startRecording).isInstanceOf(IllegalStateException.class)
|
||||
.hasMessage("Cannot restart recording once steps have been buffered.");
|
||||
assertThatIllegalStateException().isThrownBy(applicationStartup::startRecording)
|
||||
.withMessage("Cannot restart recording once steps have been buffered.");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -95,8 +96,8 @@ class BufferingApplicationStartupTests {
|
||||
BufferingApplicationStartup applicationStartup = new BufferingApplicationStartup(2);
|
||||
StartupStep step = applicationStartup.start("first");
|
||||
step.end();
|
||||
assertThatThrownBy(() -> step.tag("name", "value")).isInstanceOf(IllegalStateException.class)
|
||||
.hasMessage("StartupStep has already ended.");
|
||||
assertThatIllegalStateException().isThrownBy(() -> step.tag("name", "value"))
|
||||
.withMessage("StartupStep has already ended.");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -104,7 +105,8 @@ class BufferingApplicationStartupTests {
|
||||
BufferingApplicationStartup applicationStartup = new BufferingApplicationStartup(2);
|
||||
StartupStep step = applicationStartup.start("first");
|
||||
step.tag("name", "value");
|
||||
assertThatThrownBy(() -> step.getTags().iterator().remove()).isInstanceOf(UnsupportedOperationException.class);
|
||||
assertThatExceptionOfType(UnsupportedOperationException.class)
|
||||
.isThrownBy(() -> step.getTags().iterator().remove());
|
||||
}
|
||||
|
||||
@Test // gh-25792
|
||||
|
@ -34,7 +34,7 @@ import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
|
||||
import org.springframework.jdbc.datasource.init.ScriptStatementFailedException;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* Tests for {@link DataSourceScriptDatabaseInitializer}.
|
||||
@ -82,7 +82,7 @@ class DataSourceScriptDatabaseInitializerTests
|
||||
populator.setContinueOnError(false);
|
||||
}
|
||||
};
|
||||
assertThatThrownBy(initializer::initializeDatabase).isInstanceOf(ScriptStatementFailedException.class);
|
||||
assertThatExceptionOfType(ScriptStatementFailedException.class).isThrownBy(initializer::initializeDatabase);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -33,7 +33,7 @@ import org.springframework.context.support.StaticMessageSource;
|
||||
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* Integration tests for {@link MessageSourceMessageInterpolator}.
|
||||
@ -86,8 +86,8 @@ class MessageSourceMessageInterpolatorIntegrationTests {
|
||||
|
||||
@Test
|
||||
void recursion() {
|
||||
assertThatThrownBy(() -> validate("recursion"))
|
||||
.hasStackTraceContaining("Circular reference '{recursion -> middle -> recursion}'");
|
||||
assertThatExceptionOfType(Throwable.class).isThrownBy(() -> validate("recursion"))
|
||||
.withStackTraceContaining("Circular reference '{recursion -> middle -> recursion}'");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -77,7 +77,7 @@ import org.springframework.web.reactive.function.client.WebClient;
|
||||
import org.springframework.web.reactive.function.client.WebClientRequestException;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* Base for testing classes that extends {@link AbstractReactiveWebServerFactory}.
|
||||
@ -210,7 +210,8 @@ public abstract class AbstractReactiveWebServerFactoryTests {
|
||||
}
|
||||
|
||||
protected void assertThatSslWithInvalidAliasCallFails(ThrowingCallable call) {
|
||||
assertThatThrownBy(call).hasStackTraceContaining("Keystore does not contain specified alias 'test-alias-404'");
|
||||
assertThatExceptionOfType(Exception.class).isThrownBy(call)
|
||||
.withStackTraceContaining("Keystore does not contain specified alias 'test-alias-404'");
|
||||
}
|
||||
|
||||
protected ReactorClientHttpConnector buildTrustAllSslConnector() {
|
||||
@ -399,8 +400,8 @@ public abstract class AbstractReactiveWebServerFactoryTests {
|
||||
|
||||
@Test
|
||||
void whenSslIsEnabledAndNoKeyStoreIsConfiguredThenServerFailsToStart() {
|
||||
assertThatThrownBy(() -> testBasicSslWithKeyStore(null, null))
|
||||
.hasMessageContaining("Could not load key store 'null'");
|
||||
assertThatExceptionOfType(Exception.class).isThrownBy(() -> testBasicSslWithKeyStore(null, null))
|
||||
.withMessageContaining("Could not load key store 'null'");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -28,7 +28,6 @@ import org.junit.jupiter.params.provider.ValueSource;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
|
||||
/**
|
||||
* Tests for {@link PrivateKeyParser}.
|
||||
@ -75,12 +74,12 @@ class PrivateKeyParserTests {
|
||||
})
|
||||
// @formatter:on
|
||||
void shouldNotParseUnsupportedTraditionalPkcs1(String file) {
|
||||
assertThatThrownBy(() -> PrivateKeyParser.parse("classpath:org/springframework/boot/web/server/pkcs1/" + file))
|
||||
.isInstanceOf(IllegalStateException.class)
|
||||
.hasMessageContaining("Error loading private key file")
|
||||
.hasCauseInstanceOf(IllegalStateException.class)
|
||||
.getCause()
|
||||
.hasMessageContaining("Unrecognized private key format");
|
||||
assertThatIllegalStateException()
|
||||
.isThrownBy(() -> PrivateKeyParser.parse("classpath:org/springframework/boot/web/server/pkcs1/" + file))
|
||||
.withMessageContaining("Error loading private key file")
|
||||
.withCauseInstanceOf(IllegalStateException.class)
|
||||
.havingCause()
|
||||
.withMessageContaining("Unrecognized private key format");
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ -118,12 +117,12 @@ class PrivateKeyParserTests {
|
||||
})
|
||||
// @formatter:on
|
||||
void shouldNotParseUnsupportedEcPkcs8(String file) {
|
||||
assertThatThrownBy(() -> PrivateKeyParser.parse("classpath:org/springframework/boot/web/server/pkcs8/" + file))
|
||||
.isInstanceOf(IllegalStateException.class)
|
||||
.hasMessageContaining("Error loading private key file")
|
||||
.hasCauseInstanceOf(IllegalStateException.class)
|
||||
.getCause()
|
||||
.hasMessageContaining("Unrecognized private key format");
|
||||
assertThatIllegalStateException()
|
||||
.isThrownBy(() -> PrivateKeyParser.parse("classpath:org/springframework/boot/web/server/pkcs8/" + file))
|
||||
.withMessageContaining("Error loading private key file")
|
||||
.withCauseInstanceOf(IllegalStateException.class)
|
||||
.havingCause()
|
||||
.withMessageContaining("Unrecognized private key format");
|
||||
}
|
||||
|
||||
@EnabledForJreRange(min = JRE.JAVA_17, disabledReason = "EdDSA is only supported since Java 17")
|
||||
@ -191,12 +190,12 @@ class PrivateKeyParserTests {
|
||||
})
|
||||
// @formatter:on
|
||||
void shouldNotParseUnsupportedEcSec1(String file) {
|
||||
assertThatThrownBy(() -> PrivateKeyParser.parse("classpath:org/springframework/boot/web/server/sec1/" + file))
|
||||
.isInstanceOf(IllegalStateException.class)
|
||||
.hasMessageContaining("Error loading private key file")
|
||||
.hasCauseInstanceOf(IllegalStateException.class)
|
||||
.getCause()
|
||||
.hasMessageContaining("Unrecognized private key format");
|
||||
assertThatIllegalStateException()
|
||||
.isThrownBy(() -> PrivateKeyParser.parse("classpath:org/springframework/boot/web/server/sec1/" + file))
|
||||
.withMessageContaining("Error loading private key file")
|
||||
.withCauseInstanceOf(IllegalStateException.class)
|
||||
.havingCause()
|
||||
.withMessageContaining("Unrecognized private key format");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -24,7 +24,7 @@ import java.security.KeyStoreException;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
|
||||
/**
|
||||
* Tests for {@link SslConfigurationValidator}.
|
||||
@ -65,17 +65,17 @@ class SslConfigurationValidatorTests {
|
||||
|
||||
@Test
|
||||
void validateKeyAliasWhenAliasNotFoundShouldThrowException() {
|
||||
assertThatThrownBy(() -> SslConfigurationValidator.validateKeyAlias(this.keyStore, INVALID_ALIAS))
|
||||
.isInstanceOf(IllegalStateException.class)
|
||||
.hasMessage("Keystore does not contain specified alias '" + INVALID_ALIAS + "'");
|
||||
assertThatIllegalStateException()
|
||||
.isThrownBy(() -> SslConfigurationValidator.validateKeyAlias(this.keyStore, INVALID_ALIAS))
|
||||
.withMessage("Keystore does not contain specified alias '" + INVALID_ALIAS + "'");
|
||||
}
|
||||
|
||||
@Test
|
||||
void validateKeyAliasWhenKeyStoreThrowsExceptionOnContains() throws KeyStoreException {
|
||||
KeyStore uninitializedKeyStore = KeyStore.getInstance(KeyStore.getDefaultType());
|
||||
assertThatThrownBy(() -> SslConfigurationValidator.validateKeyAlias(uninitializedKeyStore, "alias"))
|
||||
.isInstanceOf(IllegalStateException.class)
|
||||
.hasMessage("Could not determine if keystore contains alias 'alias'");
|
||||
assertThatIllegalStateException()
|
||||
.isThrownBy(() -> SslConfigurationValidator.validateKeyAlias(uninitializedKeyStore, "alias"))
|
||||
.withMessage("Could not determine if keystore contains alias 'alias'");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -148,7 +148,6 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIOException;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
@ -482,7 +481,8 @@ public abstract class AbstractServletWebServerFactoryTests {
|
||||
}
|
||||
|
||||
protected void assertThatSslWithInvalidAliasCallFails(ThrowingCallable call) {
|
||||
assertThatThrownBy(call).hasStackTraceContaining("Keystore does not contain specified alias 'test-alias-404'");
|
||||
assertThatExceptionOfType(Exception.class).isThrownBy(call)
|
||||
.withStackTraceContaining("Keystore does not contain specified alias 'test-alias-404'");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -16,7 +16,6 @@
|
||||
|
||||
package smoketest.test.web;
|
||||
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import smoketest.test.WelcomeCommandLineRunner;
|
||||
import smoketest.test.domain.VehicleIdentificationNumber;
|
||||
@ -31,6 +30,7 @@ import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
@ -96,8 +96,8 @@ class UserVehicleControllerTests {
|
||||
@Test
|
||||
void welcomeCommandLineRunnerShouldNotBeAvailable() {
|
||||
// Since we're a @WebMvcTest WelcomeCommandLineRunner should not be available.
|
||||
Assertions.assertThatThrownBy(() -> this.applicationContext.getBean(WelcomeCommandLineRunner.class))
|
||||
.isInstanceOf(NoSuchBeanDefinitionException.class);
|
||||
assertThatExceptionOfType(NoSuchBeanDefinitionException.class)
|
||||
.isThrownBy(() -> this.applicationContext.getBean(WelcomeCommandLineRunner.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user