Commit b8c82ec4 authored by Stephane Nicoll's avatar Stephane Nicoll

Merge pull request #15429 from dreis2211

* pr/15429:
  Drop ContentContainingCondition in favor of Assertions.contentOf
parents 0d67f7ae 3544ed04
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.test.autoconfigure.restdocs;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import org.assertj.core.api.Condition;
import org.assertj.core.description.TextDescription;
import org.springframework.util.FileCopyUtils;
/**
* A {@link Condition} to assert that a file's contents contain a given string.
*
* @author Andy Wilkinson
*/
class ContentContainingCondition extends Condition<File> {
private final String toContain;
ContentContainingCondition(String toContain) {
super(new TextDescription("content containing %s", toContain));
this.toContain = toContain;
}
@Override
public boolean matches(File value) {
try (Reader reader = new FileReader(value)) {
String content = FileCopyUtils.copyToString(reader);
return content.contains(this.toContain);
}
catch (IOException ex) {
throw new IllegalStateException(ex);
}
}
}
......@@ -18,7 +18,6 @@ package org.springframework.boot.test.autoconfigure.restdocs;
import java.io.File;
import org.assertj.core.api.Condition;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -37,6 +36,7 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.util.FileSystemUtils;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.contentOf;
import static org.springframework.restdocs.hypermedia.HypermediaDocumentation.linkWithRel;
import static org.springframework.restdocs.hypermedia.HypermediaDocumentation.links;
import static org.springframework.restdocs.payload.PayloadDocumentation.fieldWithPath;
......@@ -77,16 +77,12 @@ public class MockMvcRestDocsAutoConfigurationAdvancedConfigurationIntegrationTes
linkWithRel("self").description("Canonical location of this resource"))));
File defaultSnippetsDir = new File(this.generatedSnippets, "snippet-generation");
assertThat(defaultSnippetsDir).exists();
assertThat(new File(defaultSnippetsDir, "curl-request.md"))
.has(contentContaining("'http://localhost:8080/'"));
assertThat(contentOf(new File(defaultSnippetsDir, "curl-request.md")))
.contains("'http://localhost:8080/'");
assertThat(new File(defaultSnippetsDir, "links.md")).isFile();
assertThat(new File(defaultSnippetsDir, "response-fields.md")).isFile();
}
private Condition<File> contentContaining(String toContain) {
return new ContentContainingCondition(toContain);
}
@TestConfiguration
public static class CustomizationConfiguration {
......
......@@ -18,7 +18,6 @@ package org.springframework.boot.test.autoconfigure.restdocs;
import java.io.File;
import org.assertj.core.api.Condition;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -31,6 +30,7 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.util.FileSystemUtils;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.contentOf;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
......@@ -61,15 +61,11 @@ public class MockMvcRestDocsAutoConfigurationIntegrationTests {
this.mvc.perform(get("/")).andDo(document("default-snippets"));
File defaultSnippetsDir = new File(this.generatedSnippets, "default-snippets");
assertThat(defaultSnippetsDir).exists();
assertThat(new File(defaultSnippetsDir, "curl-request.adoc"))
.has(contentContaining("'https://api.example.com/'"));
assertThat(new File(defaultSnippetsDir, "http-request.adoc"))
.has(contentContaining("api.example.com"));
assertThat(contentOf(new File(defaultSnippetsDir, "curl-request.adoc")))
.contains("'https://api.example.com/'");
assertThat(contentOf(new File(defaultSnippetsDir, "http-request.adoc")))
.contains("api.example.com");
assertThat(new File(defaultSnippetsDir, "http-response.adoc")).isFile();
}
private Condition<File> contentContaining(String toContain) {
return new ContentContainingCondition(toContain);
}
}
......@@ -19,7 +19,6 @@ package org.springframework.boot.test.autoconfigure.restdocs;
import java.io.File;
import io.restassured.specification.RequestSpecification;
import org.assertj.core.api.Condition;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -39,6 +38,7 @@ import org.springframework.util.FileSystemUtils;
import static io.restassured.RestAssured.given;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.contentOf;
import static org.hamcrest.CoreMatchers.is;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.modifyUris;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessRequest;
......@@ -81,18 +81,14 @@ public class RestAssuredRestDocsAutoConfigurationAdvancedConfigurationIntegratio
.when().port(this.port).get("/").then().assertThat().statusCode(is(200));
File defaultSnippetsDir = new File(this.generatedSnippets, "default-snippets");
assertThat(defaultSnippetsDir).exists();
assertThat(new File(defaultSnippetsDir, "curl-request.md"))
.has(contentContaining("'https://api.example.com/'"));
assertThat(new File(defaultSnippetsDir, "http-request.md"))
.has(contentContaining("api.example.com"));
assertThat(contentOf(new File(defaultSnippetsDir, "curl-request.md")))
.contains("'https://api.example.com/'");
assertThat(contentOf(new File(defaultSnippetsDir, "http-request.md")))
.contains("api.example.com");
assertThat(new File(defaultSnippetsDir, "http-response.md")).isFile();
assertThat(new File(defaultSnippetsDir, "response-fields.md")).isFile();
}
private Condition<File> contentContaining(String toContain) {
return new ContentContainingCondition(toContain);
}
@TestConfiguration
public static class CustomizationConfiguration {
......
......@@ -19,7 +19,6 @@ package org.springframework.boot.test.autoconfigure.restdocs;
import java.io.File;
import io.restassured.specification.RequestSpecification;
import org.assertj.core.api.Condition;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -34,6 +33,7 @@ import org.springframework.util.FileSystemUtils;
import static io.restassured.RestAssured.given;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.contentOf;
import static org.hamcrest.CoreMatchers.is;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.modifyUris;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessRequest;
......@@ -73,15 +73,11 @@ public class RestAssuredRestDocsAutoConfigurationIntegrationTests {
.when().port(this.port).get("/").then().assertThat().statusCode(is(200));
File defaultSnippetsDir = new File(this.generatedSnippets, "default-snippets");
assertThat(defaultSnippetsDir).exists();
assertThat(new File(defaultSnippetsDir, "curl-request.adoc"))
.has(contentContaining("'https://api.example.com/'"));
assertThat(new File(defaultSnippetsDir, "http-request.adoc"))
.has(contentContaining("api.example.com"));
assertThat(contentOf(new File(defaultSnippetsDir, "curl-request.adoc")))
.contains("'https://api.example.com/'");
assertThat(contentOf(new File(defaultSnippetsDir, "http-request.adoc")))
.contains("api.example.com");
assertThat(new File(defaultSnippetsDir, "http-response.adoc")).isFile();
}
private Condition<File> contentContaining(String toContain) {
return new ContentContainingCondition(toContain);
}
}
......@@ -18,7 +18,6 @@ package org.springframework.boot.test.autoconfigure.restdocs;
import java.io.File;
import org.assertj.core.api.Condition;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -37,6 +36,7 @@ import org.springframework.test.web.reactive.server.WebTestClient;
import org.springframework.util.FileSystemUtils;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.contentOf;
import static org.springframework.restdocs.payload.PayloadDocumentation.fieldWithPath;
import static org.springframework.restdocs.payload.PayloadDocumentation.responseFields;
import static org.springframework.restdocs.webtestclient.WebTestClientRestDocumentation.document;
......@@ -70,18 +70,14 @@ public class WebTestClientRestDocsAutoConfigurationAdvancedConfigurationIntegrat
.expectBody().consumeWith(document("default-snippets"));
File defaultSnippetsDir = new File(this.generatedSnippets, "default-snippets");
assertThat(defaultSnippetsDir).exists();
assertThat(new File(defaultSnippetsDir, "curl-request.md"))
.has(contentContaining("'https://api.example.com/'"));
assertThat(new File(defaultSnippetsDir, "http-request.md"))
.has(contentContaining("api.example.com"));
assertThat(contentOf(new File(defaultSnippetsDir, "curl-request.md")))
.contains("'https://api.example.com/'");
assertThat(contentOf(new File(defaultSnippetsDir, "http-request.md")))
.contains("api.example.com");
assertThat(new File(defaultSnippetsDir, "http-response.md")).isFile();
assertThat(new File(defaultSnippetsDir, "response-fields.md")).isFile();
}
private Condition<File> contentContaining(String toContain) {
return new ContentContainingCondition(toContain);
}
@TestConfiguration
public static class CustomizationConfiguration {
......
......@@ -18,7 +18,6 @@ package org.springframework.boot.test.autoconfigure.restdocs;
import java.io.File;
import org.assertj.core.api.Condition;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -32,6 +31,7 @@ import org.springframework.test.web.reactive.server.WebTestClient;
import org.springframework.util.FileSystemUtils;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.contentOf;
import static org.springframework.restdocs.webtestclient.WebTestClientRestDocumentation.document;
/**
......@@ -63,15 +63,11 @@ public class WebTestClientRestDocsAutoConfigurationIntegrationTests {
.expectBody().consumeWith(document("default-snippets"));
File defaultSnippetsDir = new File(this.generatedSnippets, "default-snippets");
assertThat(defaultSnippetsDir).exists();
assertThat(new File(defaultSnippetsDir, "curl-request.adoc"))
.has(contentContaining("'https://api.example.com/'"));
assertThat(new File(defaultSnippetsDir, "http-request.adoc"))
.has(contentContaining("api.example.com"));
assertThat(contentOf(new File(defaultSnippetsDir, "curl-request.adoc")))
.contains("'https://api.example.com/'");
assertThat(contentOf(new File(defaultSnippetsDir, "http-request.adoc")))
.contains("api.example.com");
assertThat(new File(defaultSnippetsDir, "http-response.adoc")).isFile();
}
private Condition<File> contentContaining(String toContain) {
return new ContentContainingCondition(toContain);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment