Merge pull request #16066 from dreis2211

* pr/16066:
  Polish "Use AssertJ facilities for expected exceptions"
  Use AssertJ facilities for expected exceptions
pull/16247/head
Stephane Nicoll 6 years ago
commit a569f36a86

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2017 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -36,6 +36,7 @@ import org.springframework.boot.cli.compiler.dependencies.SpringBootDependencies
import org.springframework.test.util.ReflectionTestUtils; import org.springframework.test.util.ReflectionTestUtils;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
/** /**
* Tests for {@link AetherGrapeEngine}. * Tests for {@link AetherGrapeEngine}.
@ -147,13 +148,15 @@ public class AetherGrapeEngineTests {
assertThat(this.groovyClassLoader.getURLs().length).isEqualTo(1); assertThat(this.groovyClassLoader.getURLs().length).isEqualTo(1);
} }
@Test(expected = IllegalArgumentException.class) @Test
public void differingTypeAndExt() { public void differingTypeAndExt() {
Map<String, Object> dependency = createDependency("org.grails", Map<String, Object> dependency = createDependency("org.grails",
"grails-dependencies", "2.4.0"); "grails-dependencies", "2.4.0");
dependency.put("type", "foo"); dependency.put("type", "foo");
dependency.put("ext", "bar"); dependency.put("ext", "bar");
createGrapeEngine().grab(Collections.emptyMap(), dependency); AetherGrapeEngine grapeEngine = createGrapeEngine();
assertThatIllegalArgumentException()
.isThrownBy(() -> grapeEngine.grab(Collections.emptyMap(), dependency));
} }
@Test @Test

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2017 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -25,6 +25,8 @@ import org.springframework.boot.test.web.client.MockServerRestTemplateCustomizer
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
/** /**
* Tests for {@link AutoConfigureMockRestServiceServer} with {@code enabled=false}. * Tests for {@link AutoConfigureMockRestServiceServer} with {@code enabled=false}.
* *
@ -38,9 +40,11 @@ public class AutoConfigureMockRestServiceServerEnabledFalseIntegrationTests {
@Autowired @Autowired
private ApplicationContext applicationContext; private ApplicationContext applicationContext;
@Test(expected = NoSuchBeanDefinitionException.class) @Test
public void mockServerRestTemplateCustomizerShouldNotBeRegistered() { public void mockServerRestTemplateCustomizerShouldNotBeRegistered() {
this.applicationContext.getBean(MockServerRestTemplateCustomizer.class); assertThatExceptionOfType(NoSuchBeanDefinitionException.class)
.isThrownBy(() -> this.applicationContext
.getBean(MockServerRestTemplateCustomizer.class));
} }
} }

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2017 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -28,6 +28,7 @@ import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.client.MockRestServiceServer; import org.springframework.test.web.client.MockRestServiceServer;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo; import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
import static org.springframework.test.web.client.response.MockRestResponseCreators.withSuccess; import static org.springframework.test.web.client.response.MockRestResponseCreators.withSuccess;
@ -49,9 +50,10 @@ public class RestClientTestNoComponentIntegrationTests {
@Autowired @Autowired
private MockRestServiceServer server; private MockRestServiceServer server;
@Test(expected = NoSuchBeanDefinitionException.class) @Test
public void exampleRestClientIsNotInjected() { public void exampleRestClientIsNotInjected() {
this.applicationContext.getBean(ExampleRestClient.class); assertThatExceptionOfType(NoSuchBeanDefinitionException.class).isThrownBy(
() -> this.applicationContext.getBean(ExampleRestClient.class));
} }
@Test @Test

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -29,6 +29,7 @@ import org.springframework.util.ClassUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
/** /**
* Tests for {@link SpringApplication} main method. * Tests for {@link SpringApplication} main method.
@ -43,10 +44,10 @@ public class SimpleMainTests {
private static final String SPRING_STARTUP = "Started SpringApplication in"; private static final String SPRING_STARTUP = "Started SpringApplication in";
@Test(expected = IllegalArgumentException.class) @Test
public void emptyApplicationContext() throws Exception { public void emptyApplicationContext() throws Exception {
SpringApplication.main(getArgs()); assertThatIllegalArgumentException()
assertThat(getOutput()).contains(SPRING_STARTUP); .isThrownBy(() -> SpringApplication.main(getArgs()));
} }
@Test @Test

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2017 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -16,7 +16,6 @@
package org.springframework.boot.context; package org.springframework.boot.context;
import org.junit.Assume;
import org.junit.Test; import org.junit.Test;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
@ -26,6 +25,9 @@ import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.StandardEnvironment; import org.springframework.core.env.StandardEnvironment;
import org.springframework.test.context.support.TestPropertySourceUtils; import org.springframework.test.context.support.TestPropertySourceUtils;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
/** /**
* Tests for {@link FileEncodingApplicationListener}. * Tests for {@link FileEncodingApplicationListener}.
* *
@ -40,12 +42,13 @@ public class FileEncodingApplicationListenerTests {
private final ApplicationEnvironmentPreparedEvent event = new ApplicationEnvironmentPreparedEvent( private final ApplicationEnvironmentPreparedEvent event = new ApplicationEnvironmentPreparedEvent(
new SpringApplication(), new String[0], this.environment); new SpringApplication(), new String[0], this.environment);
@Test(expected = IllegalStateException.class) @Test
public void testIllegalState() { public void testIllegalState() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.environment, TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.environment,
"spring.mandatory_file_encoding=FOO"); "spring.mandatory_file_encoding=FOO");
ConfigurationPropertySources.attach(this.environment); ConfigurationPropertySources.attach(this.environment);
this.initializer.onApplicationEvent(this.event); assertThatIllegalStateException()
.isThrownBy(() -> this.initializer.onApplicationEvent(this.event));
} }
@Test @Test
@ -55,7 +58,7 @@ public class FileEncodingApplicationListenerTests {
@Test @Test
public void testSunnyDayMandated() { public void testSunnyDayMandated() {
Assume.assumeNotNull(System.getProperty("file.encoding")); assertThat(System.getProperty("file.encoding")).isNotNull();
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.environment, TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.environment,
"spring.mandatory_file_encoding:" + System.getProperty("file.encoding")); "spring.mandatory_file_encoding:" + System.getProperty("file.encoding"));
ConfigurationPropertySources.attach(this.environment); ConfigurationPropertySources.attach(this.environment);

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2017 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -22,6 +22,7 @@ import org.junit.Test;
import org.springframework.boot.logging.LoggingSystem.NoOpLoggingSystem; import org.springframework.boot.logging.LoggingSystem.NoOpLoggingSystem;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
/** /**
* Tests for {@link LoggingSystem}. * Tests for {@link LoggingSystem}.
@ -42,14 +43,16 @@ public class LoggingSystemTests {
assertThat(loggingSystem).isInstanceOf(NoOpLoggingSystem.class); assertThat(loggingSystem).isInstanceOf(NoOpLoggingSystem.class);
} }
@Test(expected = UnsupportedOperationException.class) @Test
public void getLoggerConfigurationIsUnsupported() { public void getLoggerConfigurationIsUnsupported() {
new StubLoggingSystem().getLoggerConfiguration("test-logger-name"); assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(
() -> new StubLoggingSystem().getLoggerConfiguration("test-logger-name"));
} }
@Test(expected = UnsupportedOperationException.class) @Test
public void listLoggerConfigurationsIsUnsupported() { public void listLoggerConfigurationsIsUnsupported() {
new StubLoggingSystem().getLoggerConfigurations(); assertThatExceptionOfType(UnsupportedOperationException.class)
.isThrownBy(() -> new StubLoggingSystem().getLoggerConfigurations());
} }
private static final class StubLoggingSystem extends LoggingSystem { private static final class StubLoggingSystem extends LoggingSystem {

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2017 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -39,6 +39,7 @@ import org.springframework.util.ClassUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
/** /**
* Tests for {@link JavaLoggingSystem}. * Tests for {@link JavaLoggingSystem}.
@ -137,11 +138,11 @@ public class JavaLoggingSystemTests extends AbstractLoggingSystemTests {
assertThat(output).contains("INFO: Hello"); assertThat(output).contains("INFO: Hello");
} }
@Test(expected = IllegalStateException.class) @Test
public void testNonexistentConfigLocation() { public void testNonexistentConfigLocation() {
this.loggingSystem.beforeInitialize(); this.loggingSystem.beforeInitialize();
this.loggingSystem.initialize(null, "classpath:logging-nonexistent.properties", assertThatIllegalStateException().isThrownBy(() -> this.loggingSystem
null); .initialize(null, "classpath:logging-nonexistent.properties", null));
} }
@Test @Test

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -48,6 +48,7 @@ import org.springframework.util.FileCopyUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.not;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
@ -126,10 +127,11 @@ public class Log4J2LoggingSystemTests extends AbstractLoggingSystemTests {
assertThat(configuration.getWatchManager().getIntervalSeconds()).isEqualTo(30); assertThat(configuration.getWatchManager().getIntervalSeconds()).isEqualTo(30);
} }
@Test(expected = IllegalStateException.class) @Test
public void testNonexistentConfigLocation() { public void testNonexistentConfigLocation() {
this.loggingSystem.beforeInitialize(); this.loggingSystem.beforeInitialize();
this.loggingSystem.initialize(null, "classpath:log4j2-nonexistent.xml", null); assertThatIllegalStateException().isThrownBy(() -> this.loggingSystem
.initialize(null, "classpath:log4j2-nonexistent.xml", null));
} }
@Test @Test

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -61,6 +61,7 @@ import org.springframework.util.FileCopyUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.not;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
@ -175,11 +176,11 @@ public class LogbackLoggingSystemTests extends AbstractLoggingSystemTests {
} }
} }
@Test(expected = IllegalStateException.class) @Test
public void testNonexistentConfigLocation() { public void testNonexistentConfigLocation() {
this.loggingSystem.beforeInitialize(); this.loggingSystem.beforeInitialize();
this.loggingSystem.initialize(this.initializationContext, assertThatIllegalStateException().isThrownBy(() -> this.loggingSystem.initialize(
"classpath:logback-nonexistent.xml", null); this.initializationContext, "classpath:logback-nonexistent.xml", null));
} }
@Test @Test

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2017 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -24,6 +24,7 @@ import java.util.Map;
import org.junit.Test; import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
/** /**
* Tests for {@link MimeMappings}. * Tests for {@link MimeMappings}.
@ -32,9 +33,10 @@ import static org.assertj.core.api.Assertions.assertThat;
*/ */
public class MimeMappingsTests { public class MimeMappingsTests {
@Test(expected = UnsupportedOperationException.class) @Test
public void defaultsCannotBeModified() { public void defaultsCannotBeModified() {
MimeMappings.DEFAULT.add("foo", "foo/bar"); assertThatExceptionOfType(UnsupportedOperationException.class)
.isThrownBy(() -> MimeMappings.DEFAULT.add("foo", "foo/bar"));
} }
@Test @Test

@ -532,7 +532,7 @@ public abstract class AbstractServletWebServerFactoryTests {
.isEqualTo("test"); .isEqualTo("test");
} }
@Test(expected = IOException.class) @Test
public void sslNeedsClientAuthenticationFailsWithoutClientCertificate() public void sslNeedsClientAuthenticationFailsWithoutClientCertificate()
throws Exception { throws Exception {
AbstractServletWebServerFactory factory = getFactory(); AbstractServletWebServerFactory factory = getFactory();
@ -547,7 +547,8 @@ public abstract class AbstractServletWebServerFactoryTests {
.build(); .build();
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory( HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
httpClient); httpClient);
getResponse(getLocalUrl("https", "/test.txt"), requestFactory); String localUrl = getLocalUrl("https", "/test.txt");
assertThatIOException().isThrownBy(() -> getResponse(localUrl, requestFactory));
} }
@Test @Test

Loading…
Cancel
Save