Migrate tests to AssertJ

Refactor all existing tests to use AssertJ assertions.
This commit is contained in:
Phillip Webb
2018-04-11 22:44:29 -07:00
parent 6493eae015
commit eb5211960c
67 changed files with 755 additions and 799 deletions

View File

@@ -28,8 +28,6 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
/**
@@ -46,9 +44,8 @@ public class ActuatorIntegrationTests
public void infoHasExternalProperties() {
String body = getRestTemplate().getForObject(createUrl("/actuator/info"),
String.class);
assertTrue("Wrong body:\n" + body, body.contains("\"spring-boot\""));
assertTrue("Wrong body:\n" + body,
body.contains("\"version\":\"1.1.4.RELEASE\""));
assertThat(body).contains("\"spring-boot\"");
assertThat(body).contains("\"version\":\"1.1.4.RELEASE\"");
}
@Test
@@ -73,16 +70,20 @@ public class ActuatorIntegrationTests
// No jpa dep this time
downloadZip("/starter.zip?packaging=jar&javaVersion=1.8&style=web");
assertEquals("Number of request should have increased", requests + 1,
metricValue("initializr.requests"));
assertEquals("jar packaging metric should have increased", packaging + 1,
metricValue("initializr.packaging.jar"));
assertEquals("java version metric should have increased", javaVersion + 1,
metricValue("initializr.java_version.1_8"));
assertEquals("web dependency metric should have increased", webDependency + 1,
metricValue("initializr.dependency.web"));
assertEquals("jpa dependency metric should not have increased", jpaDependency,
metricValue("initializr.dependency.data-jpa"));
assertThat(metricValue("initializr.requests"))
.as("Number of request should have increased").isEqualTo(requests + 1);
assertThat(metricValue("initializr.packaging.jar"))
.as("jar packaging metric should have increased")
.isEqualTo(packaging + 1);
assertThat(metricValue("initializr.java_version.1_8"))
.as("java version metric should have increased")
.isEqualTo(javaVersion + 1);
assertThat(metricValue("initializr.dependency.web"))
.as("web dependency metric should have increased")
.isEqualTo(webDependency + 1);
assertThat(metricValue("initializr.dependency.data-jpa"))
.as("jpa dependency metric should not have increased")
.isEqualTo(jpaDependency);
}
private JsonNode metricsEndpoint() {

View File

@@ -84,4 +84,4 @@ public class InitializrStatsAutoConfigurationTests {
}
}
}

View File

@@ -37,11 +37,10 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.HttpClientErrorException;
import static org.junit.Assert.assertEquals;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
/**
* Integration tests for stats processing.
@@ -70,41 +69,42 @@ public class MainControllerStatsIntegrationTests
@Test
public void simpleProject() {
downloadArchive("/starter.zip?groupId=com.foo&artifactId=bar&dependencies=web");
assertEquals("No stat got generated", 1, this.statsMockController.stats.size());
assertThat(this.statsMockController.stats).as("No stat got generated").hasSize(1);
StatsMockController.Content content = this.statsMockController.stats.get(0);
JsonNode json = parseJson(content.json);
assertEquals("com.foo", json.get("groupId").textValue());
assertEquals("bar", json.get("artifactId").textValue());
assertThat(json.get("groupId").textValue()).isEqualTo("com.foo");
assertThat(json.get("artifactId").textValue()).isEqualTo("bar");
JsonNode list = json.get("dependencies");
assertEquals(1, list.size());
assertEquals("web", list.get(0).textValue());
assertThat(list).hasSize(1);
assertThat(list.get(0).textValue()).isEqualTo("web");
}
@Test
public void authorizationHeaderIsSet() {
downloadArchive("/starter.zip");
assertEquals("No stat got generated", 1, this.statsMockController.stats.size());
assertThat(this.statsMockController.stats).as("No stat got generated").hasSize(1);
StatsMockController.Content content = this.statsMockController.stats.get(0);
String authorization = content.authorization;
assertNotNull("Authorization header must be set", authorization);
assertThat(authorization).as("Authorization header must be set").isNotNull();
assertTrue("Wrong value for authorization header",
authorization.startsWith("Basic "));
String token = authorization.substring("Basic ".length(), authorization.length());
String[] data = new String(Base64Utils.decodeFromString(token)).split(":");
assertEquals("Wrong user from " + token, "test-user", data[0]);
assertEquals("Wrong password " + token, "test-password", data[1]);
assertThat(data[0]).as("Wrong user from " + token).isEqualTo("test-user");
assertThat(data[1]).as("Wrong password " + token).isEqualTo("test-password");
}
@Test
public void requestIpNotSetByDefault() {
downloadArchive("/starter.zip?groupId=com.foo&artifactId=bar&dependencies=web");
assertEquals("No stat got generated", 1, this.statsMockController.stats.size());
assertThat(this.statsMockController.stats).as("No stat got generated").hasSize(1);
StatsMockController.Content content = this.statsMockController.stats.get(0);
JsonNode json = parseJson(content.json);
assertFalse("requestIp property should not be set", json.has("requestIp"));
assertThat(json.has("requestIp")).as("requestIp property should not be set")
.isFalse();
}
@Test
@@ -112,11 +112,12 @@ public class MainControllerStatsIntegrationTests
RequestEntity<?> request = RequestEntity.get(new URI(createUrl("/starter.zip")))
.header("X-FORWARDED-FOR", "10.0.0.123").build();
getRestTemplate().exchange(request, String.class);
assertEquals("No stat got generated", 1, this.statsMockController.stats.size());
assertThat(this.statsMockController.stats).as("No stat got generated").hasSize(1);
StatsMockController.Content content = this.statsMockController.stats.get(0);
JsonNode json = parseJson(content.json);
assertEquals("Wrong requestIp", "10.0.0.123", json.get("requestIp").textValue());
assertThat(json.get("requestIp").textValue()).as("Wrong requestIp")
.isEqualTo("10.0.0.123");
}
@Test
@@ -124,7 +125,7 @@ public class MainControllerStatsIntegrationTests
RequestEntity<?> request = RequestEntity.get(new URI(createUrl("/starter.zip")))
.header("x-forwarded-for", "foo-bar").build();
getRestTemplate().exchange(request, String.class);
assertEquals("No stat got generated", 1, this.statsMockController.stats.size());
assertThat(this.statsMockController.stats).as("No stat got generated").hasSize(1);
StatsMockController.Content content = this.statsMockController.stats.get(0);
JsonNode json = parseJson(content.json);
@@ -137,7 +138,7 @@ public class MainControllerStatsIntegrationTests
RequestEntity<?> request = RequestEntity.get(new URI(createUrl("/starter.zip")))
.header("cf-ipcountry", "XX").build();
getRestTemplate().exchange(request, String.class);
assertEquals("No stat got generated", 1, this.statsMockController.stats.size());
assertThat(this.statsMockController.stats).as("No stat got generated").hasSize(1);
StatsMockController.Content content = this.statsMockController.stats.get(0);
JsonNode json = parseJson(content.json);
@@ -152,18 +153,19 @@ public class MainControllerStatsIntegrationTests
fail("Should have failed to generate project with invalid type");
}
catch (HttpClientErrorException ex) {
assertEquals(HttpStatus.BAD_REQUEST, ex.getStatusCode());
assertThat(ex.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST);
}
assertEquals("No stat got generated", 1, this.statsMockController.stats.size());
assertThat(this.statsMockController.stats).as("No stat got generated").hasSize(1);
StatsMockController.Content content = this.statsMockController.stats.get(0);
JsonNode json = parseJson(content.json);
assertEquals("com.example", json.get("groupId").textValue());
assertEquals("demo", json.get("artifactId").textValue());
assertEquals(true, json.get("invalid").booleanValue());
assertEquals(true, json.get("invalidType").booleanValue());
assertNotNull(json.get("errorMessage"));
assertTrue(json.get("errorMessage").textValue().contains("invalid-type"));
assertThat(json.get("groupId").textValue()).isEqualTo("com.example");
assertThat(json.get("artifactId").textValue()).isEqualTo("demo");
assertThat(json.get("invalid").booleanValue()).isEqualTo(true);
assertThat(json.get("invalidType").booleanValue()).isEqualTo(true);
assertThat(json.get("errorMessage")).isNotNull();
assertThat(json.get("errorMessage").textValue().contains("invalid-type"))
.isTrue();
}
@Test
@@ -171,8 +173,8 @@ public class MainControllerStatsIntegrationTests
this.statsProperties.getElastic()
.setUri("http://localhost:" + this.port + "/elastic-error");
downloadArchive("/starter.zip");
assertEquals("No stat should be available", 0,
this.statsMockController.stats.size());
assertThat(this.statsMockController.stats).as("No stat should be available")
.isEmpty();
}
@RestController

View File

@@ -23,10 +23,7 @@ import io.spring.initializr.generator.ProjectGeneratedEvent;
import io.spring.initializr.generator.ProjectRequest;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Stephane Nicoll
@@ -41,17 +38,17 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
ProjectRequest request = createProjectRequest();
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals(event.getTimestamp(), document.getGenerationTimestamp());
assertEquals(null, document.getRequestIp());
assertEquals("com.example", document.getGroupId());
assertEquals("demo", document.getArtifactId());
assertEquals("com.example.demo", document.getPackageName());
assertEquals("1.2.3.RELEASE", document.getBootVersion());
assertEquals("1.8", document.getJavaVersion());
assertEquals("java", document.getLanguage());
assertEquals("jar", document.getPackaging());
assertEquals("maven-project", document.getType());
assertEquals(0, document.getDependencies().size());
assertThat(document.getGenerationTimestamp()).isEqualTo(event.getTimestamp());
assertThat(document.getRequestIp()).isEqualTo(null);
assertThat(document.getGroupId()).isEqualTo("com.example");
assertThat(document.getArtifactId()).isEqualTo("demo");
assertThat(document.getPackageName()).isEqualTo("com.example.demo");
assertThat(document.getBootVersion()).isEqualTo("1.2.3.RELEASE");
assertThat(document.getJavaVersion()).isEqualTo("1.8");
assertThat(document.getLanguage()).isEqualTo("java");
assertThat(document.getPackaging()).isEqualTo("jar");
assertThat(document.getType()).isEqualTo("maven-project");
assertThat(document.getDependencies()).isEmpty();
assertValid(document);
}
@@ -61,9 +58,9 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.getParameters().put("x-forwarded-for", "10.0.0.123");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("10.0.0.123", document.getRequestIp());
assertEquals("10.0.0.123", document.getRequestIpv4());
assertNull(document.getRequestCountry());
assertThat(document.getRequestIp()).isEqualTo("10.0.0.123");
assertThat(document.getRequestIpv4()).isEqualTo("10.0.0.123");
assertThat(document.getRequestCountry()).isNull();
}
@Test
@@ -72,9 +69,9 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.getParameters().put("x-forwarded-for", "2001:db8:a0b:12f0::1");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("2001:db8:a0b:12f0::1", document.getRequestIp());
assertNull(document.getRequestIpv4());
assertNull(document.getRequestCountry());
assertThat(document.getRequestIp()).isEqualTo("2001:db8:a0b:12f0::1");
assertThat(document.getRequestIpv4()).isNull();
assertThat(document.getRequestCountry()).isNull();
}
@Test
@@ -84,9 +81,9 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.getParameters().put("cf-ipcountry", "BE");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("10.0.0.123", document.getRequestIp());
assertEquals("10.0.0.123", document.getRequestIpv4());
assertEquals("BE", document.getRequestCountry());
assertThat(document.getRequestIp()).isEqualTo("10.0.0.123");
assertThat(document.getRequestIpv4()).isEqualTo("10.0.0.123");
assertThat(document.getRequestCountry()).isEqualTo("BE");
}
@Test
@@ -95,9 +92,9 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.getParameters().put("cf-connecting-ip", "2001:db8:a0b:12f0::1");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("2001:db8:a0b:12f0::1", document.getRequestIp());
assertNull(document.getRequestIpv4());
assertNull(document.getRequestCountry());
assertThat(document.getRequestIp()).isEqualTo("2001:db8:a0b:12f0::1");
assertThat(document.getRequestIpv4()).isNull();
assertThat(document.getRequestCountry()).isNull();
}
@Test
@@ -107,9 +104,9 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.getParameters().put("x-forwarded-for", "192.168.1.101");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("10.0.0.123", document.getRequestIp());
assertEquals("10.0.0.123", document.getRequestIpv4());
assertNull(document.getRequestCountry());
assertThat(document.getRequestIp()).isEqualTo("10.0.0.123");
assertThat(document.getRequestIpv4()).isEqualTo("10.0.0.123");
assertThat(document.getRequestCountry()).isNull();
}
@Test
@@ -118,7 +115,7 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.getParameters().put("cf-connecting-ip", "Xx"); // case insensitive
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertNull(document.getRequestCountry());
assertThat(document.getRequestCountry()).isNull();
}
@Test
@@ -127,8 +124,8 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.getParameters().put("user-agent", "HTTPie/0.8.0");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("httpie", document.getClientId());
assertEquals("0.8.0", document.getClientVersion());
assertThat(document.getClientId()).isEqualTo("httpie");
assertThat(document.getClientVersion()).isEqualTo("0.8.0");
}
@Test
@@ -137,8 +134,8 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.getParameters().put("user-agent", "IntelliJ IDEA");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("intellijidea", document.getClientId());
assertEquals(null, document.getClientVersion());
assertThat(document.getClientId()).isEqualTo("intellijidea");
assertThat(document.getClientVersion()).isEqualTo(null);
}
@Test
@@ -147,9 +144,9 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.setJavaVersion("1.2");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("1.2", document.getJavaVersion());
assertTrue(document.isInvalid());
assertTrue(document.isInvalidJavaVersion());
assertThat(document.getJavaVersion()).isEqualTo("1.2");
assertThat(document.isInvalid()).isTrue();
assertThat(document.isInvalidJavaVersion()).isTrue();
}
@Test
@@ -158,9 +155,9 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.setLanguage("c++");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("c++", document.getLanguage());
assertTrue(document.isInvalid());
assertTrue(document.isInvalidLanguage());
assertThat(document.getLanguage()).isEqualTo("c++");
assertThat(document.isInvalid()).isTrue();
assertThat(document.isInvalidLanguage()).isTrue();
}
@Test
@@ -169,9 +166,9 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.setPackaging("ear");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("ear", document.getPackaging());
assertTrue(document.isInvalid());
assertTrue(document.isInvalidPackaging());
assertThat(document.getPackaging()).isEqualTo("ear");
assertThat(document.isInvalid()).isTrue();
assertThat(document.isInvalidPackaging()).isTrue();
}
@Test
@@ -180,9 +177,9 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.setType("ant-project");
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("ant-project", document.getType());
assertTrue(document.isInvalid());
assertTrue(document.isInvalidType());
assertThat(document.getType()).isEqualTo("ant-project");
assertThat(document.isInvalid()).isTrue();
assertThat(document.isInvalidType()).isTrue();
}
@Test
@@ -191,13 +188,13 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
request.setDependencies(Arrays.asList("web", "invalid", "data-jpa", "invalid-2"));
ProjectGeneratedEvent event = new ProjectGeneratedEvent(request);
ProjectRequestDocument document = this.factory.createDocument(event);
assertEquals("web", document.getDependencies().get(0));
assertEquals("data-jpa", document.getDependencies().get(1));
assertEquals(2, document.getDependencies().size());
assertTrue(document.isInvalid());
assertEquals("invalid", document.getInvalidDependencies().get(0));
assertEquals("invalid-2", document.getInvalidDependencies().get(1));
assertEquals(2, document.getInvalidDependencies().size());
assertThat(document.getDependencies().get(0)).isEqualTo("web");
assertThat(document.getDependencies().get(1)).isEqualTo("data-jpa");
assertThat(document.getDependencies()).hasSize(2);
assertThat(document.isInvalid()).isTrue();
assertThat(document.getInvalidDependencies().get(0)).isEqualTo("invalid");
assertThat(document.getInvalidDependencies().get(1)).isEqualTo("invalid-2");
assertThat(document.getInvalidDependencies()).hasSize(2);
}
@Test
@@ -206,16 +203,16 @@ public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTe
ProjectFailedEvent event = new ProjectFailedEvent(request,
new IllegalStateException("my test message"));
ProjectRequestDocument document = this.factory.createDocument(event);
assertTrue(document.isInvalid());
assertEquals("my test message", document.getErrorMessage());
assertThat(document.isInvalid()).isTrue();
assertThat(document.getErrorMessage()).isEqualTo("my test message");
}
private static void assertValid(ProjectRequestDocument document) {
assertFalse(document.isInvalid());
assertFalse(document.isInvalidJavaVersion());
assertFalse(document.isInvalidLanguage());
assertFalse(document.isInvalidPackaging());
assertEquals(0, document.getInvalidDependencies().size());
assertThat(document.isInvalid()).isFalse();
assertThat(document.isInvalidJavaVersion()).isFalse();
assertThat(document.isInvalidLanguage()).isFalse();
assertThat(document.isInvalidPackaging()).isFalse();
assertThat(document.getInvalidDependencies()).isEmpty();
}
}

View File

@@ -18,8 +18,7 @@ package io.spring.initializr.actuate.stat;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Stephane Nicoll
@@ -31,7 +30,7 @@ public class StatsPropertiesTests {
@Test
public void cleanTrailingSlash() {
this.properties.getElastic().setUri("http://example.com/");
assertThat(this.properties.getElastic().getUri(), is("http://example.com"));
assertThat(this.properties.getElastic().getUri()).isEqualTo("http://example.com");
}
@Test
@@ -39,8 +38,8 @@ public class StatsPropertiesTests {
this.properties.getElastic().setUri("http://example.com/");
this.properties.getElastic().setIndexName("my-index");
this.properties.getElastic().setEntityName("foo");
assertThat(this.properties.getElastic().getEntityUrl().toString(),
is("http://example.com/my-index/foo"));
assertThat(this.properties.getElastic().getEntityUrl().toString())
.isEqualTo("http://example.com/my-index/foo");
}
}