Merge branch '1.2.x'

This commit is contained in:
Andy Wilkinson
2017-10-20 10:32:05 +01:00
2 changed files with 58 additions and 2 deletions

View File

@@ -17,6 +17,8 @@
package org.springframework.restdocs.payload;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import org.junit.Rule;
import org.junit.Test;
@@ -107,4 +109,42 @@ public class JsonContentHandlerTests {
new JsonContentHandler("Non-JSON content".getBytes());
}
@Test
public void describedFieldThatIsNotPresentIsConsideredMissing() {
List<FieldDescriptor> missingFields = new JsonContentHandler(
"{\"a\": \"alpha\", \"b\":\"bravo\"}".getBytes())
.findMissingFields(Arrays.asList(new FieldDescriptor("a"),
new FieldDescriptor("b"), new FieldDescriptor("c")));
assertThat(missingFields.size(), is(equalTo(1)));
assertThat(missingFields.get(0).getPath(), is(equalTo("c")));
}
@Test
public void describedOptionalFieldThatIsNotPresentIsNotConsideredMissing() {
List<FieldDescriptor> missingFields = new JsonContentHandler(
"{\"a\": \"alpha\", \"b\":\"bravo\"}".getBytes()).findMissingFields(
Arrays.asList(new FieldDescriptor("a"), new FieldDescriptor("b"),
new FieldDescriptor("c").optional()));
assertThat(missingFields.size(), is(equalTo(0)));
}
@Test
public void describedFieldThatIsNotPresentNestedBeneathOptionalFieldThatIsPresentIsConsideredMissing() {
List<FieldDescriptor> missingFields = new JsonContentHandler(
"{\"a\":\"alpha\",\"b\":\"bravo\"}".getBytes()).findMissingFields(
Arrays.asList(new FieldDescriptor("a").optional(),
new FieldDescriptor("b"), new FieldDescriptor("a.c")));
assertThat(missingFields.size(), is(equalTo(1)));
assertThat(missingFields.get(0).getPath(), is(equalTo("a.c")));
}
@Test
public void describedFieldThatIsNotPresentNestedBeneathOptionalFieldThatIsNotPresentIsNotConsideredMissing() {
List<FieldDescriptor> missingFields = new JsonContentHandler(
"{\"b\":\"bravo\"}".getBytes()).findMissingFields(
Arrays.asList(new FieldDescriptor("a").optional(),
new FieldDescriptor("b"), new FieldDescriptor("a.c")));
assertThat(missingFields.size(), is(equalTo(0)));
}
}