DATAREST-227 - Renamed WebTestUtils to TestMvcClient.

Renmaed WebTestUtils to TestMvcClient, added assertions to constructor and fixed formatting of JavaDoc.

Original pull request: #149.
This commit is contained in:
Oliver Gierke
2014-11-10 16:53:52 +01:00
parent e304e14527
commit dbeec0a5de
11 changed files with 119 additions and 110 deletions

View File

@@ -64,7 +64,7 @@ public abstract class AbstractControllerIntegrationTests {
@Before
public void initWebInfrastructure() {
WebTestUtils.initWebTest();
TestMvcClient.initWebTest();
}
/**

View File

@@ -51,8 +51,8 @@ import com.jayway.jsonpath.InvalidPathException;
import com.jayway.jsonpath.JsonPath;
/**
* A test harness for hypermedia unit/integration testing. Provides chained operations (like postAndGet) to create
* a new entity and then retrieve it with a single method call. It also provides often-used assertions (like
* A test harness for hypermedia unit/integration testing. Provides chained operations (like postAndGet) to create a new
* entity and then retrieve it with a single method call. It also provides often-used assertions (like
* assertJsonPathEquals).
*
* @author Oliver Gierke
@@ -68,15 +68,15 @@ public abstract class AbstractWebIntegrationTests {
@Autowired WebApplicationContext context;
@Autowired LinkDiscoverers discoverers;
protected WebTestUtils testUtils;
protected TestMvcClient client;
protected MockMvc mvc;
@Before
public void setUp() {
mvc = MockMvcBuilders.webAppContextSetup(context).//
defaultRequest(get("/").accept(WebTestUtils.DEFAULT_MEDIA_TYPE)).build();
testUtils = new WebTestUtils(mvc, discoverers);
this.mvc = MockMvcBuilders.webAppContextSetup(context).//
defaultRequest(get("/").accept(TestMvcClient.DEFAULT_MEDIA_TYPE)).build();
this.client = new TestMvcClient(mvc, discoverers);
}
protected MockHttpServletResponse postAndGet(Link link, Object payload, MediaType mediaType) throws Exception {
@@ -94,7 +94,7 @@ public abstract class AbstractWebIntegrationTests {
return response;
}
return testUtils.request(response.getHeader("Location"));
return client.request(response.getHeader("Location"));
}
protected MockHttpServletResponse putAndGet(Link link, Object payload, MediaType mediaType) throws Exception {
@@ -105,7 +105,7 @@ public abstract class AbstractWebIntegrationTests {
andExpect(status().is(both(greaterThanOrEqualTo(200)).and(lessThan(300)))).//
andReturn().getResponse();
return StringUtils.hasText(response.getContentAsString()) ? response : testUtils.request(link);
return StringUtils.hasText(response.getContentAsString()) ? response : client.request(link);
}
protected MockHttpServletResponse patchAndGet(Link link, Object payload, MediaType mediaType) throws Exception {
@@ -117,7 +117,7 @@ public abstract class AbstractWebIntegrationTests {
andExpect(status().isNoContent()).//
andReturn().getResponse();
return StringUtils.hasText(response.getContentAsString()) ? response : testUtils.request(href);
return StringUtils.hasText(response.getContentAsString()) ? response : client.request(href);
}
protected void deleteAndVerify(Link link) throws Exception {
@@ -167,7 +167,7 @@ public abstract class AbstractWebIntegrationTests {
protected void assertDoesNotHaveLinkWithRel(String rel, MockHttpServletResponse response) throws Exception {
String content = response.getContentAsString();
Link link = testUtils.getDiscoverer(response).findLinkWithRel(rel, content);
Link link = client.getDiscoverer(response).findLinkWithRel(rel, content);
assertThat("Expected not to find link with rel " + rel + " but found " + link + "!", link, is(nullValue()));
}
@@ -222,7 +222,7 @@ public abstract class AbstractWebIntegrationTests {
String s = response.getContentAsString();
assertThat("Expected not to find link with rel " + rel + " but found one in " + s, //
testUtils.getDiscoverer(response).findLinkWithRel(rel, s), nullValue());
client.getDiscoverer(response).findLinkWithRel(rel, s), nullValue());
}
};
}

View File

@@ -53,10 +53,10 @@ public abstract class CommonWebTests extends AbstractWebIntegrationTests {
@Test
public void exposesRootResource() throws Exception {
ResultActions actions = mvc.perform(get("/").accept(WebTestUtils.DEFAULT_MEDIA_TYPE)).andExpect(status().isOk());
ResultActions actions = mvc.perform(get("/").accept(TestMvcClient.DEFAULT_MEDIA_TYPE)).andExpect(status().isOk());
for (String rel : expectedRootLinkRels()) {
actions.andExpect(webTestUtils.hasLinkWithRel(rel));
actions.andExpect(client.hasLinkWithRel(rel));
}
}
@@ -66,14 +66,14 @@ public abstract class CommonWebTests extends AbstractWebIntegrationTests {
@Test
public void exposesSchemasForResourcesExposed() throws Exception {
MockHttpServletResponse response = webTestUtils.request("/");
MockHttpServletResponse response = client.request("/");
for (String rel : expectedRootLinkRels()) {
Link link = webTestUtils.assertHasLinkWithRel(rel, response);
Link link = client.assertHasLinkWithRel(rel, response);
// Resource
webTestUtils.request(link);
client.request(link);
// Schema - TODO:Improve by using hypermedia
mvc.perform(get(link.expand().getHref() + "/schema").//
@@ -110,16 +110,16 @@ public abstract class CommonWebTests extends AbstractWebIntegrationTests {
@Test
public void exposesSearchesForRootResources() throws Exception {
MockHttpServletResponse response = webTestUtils.request("/");
MockHttpServletResponse response = client.request("/");
for (String rel : expectedRootLinkRels()) {
Link link = webTestUtils.assertHasLinkWithRel(rel, response);
String rootResourceRepresentation = webTestUtils.request(link).getContentAsString();
Link searchLink = webTestUtils.getDiscoverer(response).findLinkWithRel("search", rootResourceRepresentation);
Link link = client.assertHasLinkWithRel(rel, response);
String rootResourceRepresentation = client.request(link).getContentAsString();
Link searchLink = client.getDiscoverer(response).findLinkWithRel("search", rootResourceRepresentation);
if (searchLink != null) {
webTestUtils.request(searchLink);
client.request(searchLink);
}
}
}
@@ -130,7 +130,7 @@ public abstract class CommonWebTests extends AbstractWebIntegrationTests {
Map<String, String> payloads = getPayloadToPost();
assumeFalse(payloads.isEmpty());
MockHttpServletResponse response = webTestUtils.request("/");
MockHttpServletResponse response = client.request("/");
for (String rel : expectedRootLinkRels()) {
@@ -138,7 +138,7 @@ public abstract class CommonWebTests extends AbstractWebIntegrationTests {
if (payload != null) {
Link link = webTestUtils.assertHasLinkWithRel(rel, response);
Link link = client.assertHasLinkWithRel(rel, response);
String target = link.expand().getHref();
MockHttpServletRequestBuilder request = post(target).//
@@ -157,12 +157,12 @@ public abstract class CommonWebTests extends AbstractWebIntegrationTests {
@Test
public void accessLinkedResources() throws Exception {
MockHttpServletResponse rootResource = webTestUtils.request("/");
MockHttpServletResponse rootResource = client.request("/");
for (Map.Entry<String, List<String>> linked : getRootAndLinkedResources().entrySet()) {
Link resourceLink = webTestUtils.assertHasLinkWithRel(linked.getKey(), rootResource);
MockHttpServletResponse resource = webTestUtils.request(resourceLink);
Link resourceLink = client.assertHasLinkWithRel(linked.getKey(), rootResource);
MockHttpServletResponse resource = client.request(resourceLink);
for (String linkedRel : linked.getValue()) {
@@ -173,7 +173,7 @@ public abstract class CommonWebTests extends AbstractWebIntegrationTests {
for (Object href : uris) {
webTestUtils.follow(href.toString()). //
client.follow(href.toString()). //
andExpect(status().isOk());
}
}
@@ -188,8 +188,8 @@ public abstract class CommonWebTests extends AbstractWebIntegrationTests {
MediaType ALPS_MEDIA_TYPE = MediaType.valueOf("application/alps+json");
MockHttpServletResponse response = webTestUtils.request("/");
Link profileLink = webTestUtils.assertHasLinkWithRel("profile", response);
MockHttpServletResponse response = client.request("/");
Link profileLink = client.assertHasLinkWithRel("profile", response);
mvc.perform(//
get(profileLink.expand().getHref()).//

View File

@@ -17,7 +17,7 @@ package org.springframework.data.rest.webmvc;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.springframework.data.rest.webmvc.WebTestUtils.*;
import static org.springframework.data.rest.webmvc.TestMvcClient.*;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -17,7 +17,7 @@ package org.springframework.data.rest.webmvc;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.springframework.data.rest.webmvc.WebTestUtils.*;
import static org.springframework.data.rest.webmvc.TestMvcClient.*;
import static org.springframework.http.HttpMethod.*;
import java.util.List;

View File

@@ -17,7 +17,7 @@ package org.springframework.data.rest.webmvc;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.springframework.data.rest.webmvc.WebTestUtils.*;
import static org.springframework.data.rest.webmvc.TestMvcClient.*;
import org.junit.Before;
import org.junit.Test;

View File

@@ -35,6 +35,7 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.ResultMatcher;
import org.springframework.util.Assert;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@@ -44,14 +45,24 @@ import org.springframework.web.context.request.ServletRequestAttributes;
* @author Oliver Gierke
* @author Greg Turnquist
*/
public class WebTestUtils {
public class TestMvcClient {
public static MediaType DEFAULT_MEDIA_TYPE = org.springframework.hateoas.MediaTypes.HAL_JSON;
private final MockMvc mvc;
private final LinkDiscoverers discoverers;
public WebTestUtils(MockMvc mvc, LinkDiscoverers discoverers) {
/**
* Creates a new {@link TestMvcClient} for the given {@link MockMvc} and {@link LinkDiscoverers}.
*
* @param mvc must not be {@literal null}.
* @param discoverers must not be {@literal null}.
*/
public TestMvcClient(MockMvc mvc, LinkDiscoverers discoverers) {
Assert.notNull(mvc, "MockMvc must not be null!");
Assert.notNull(discoverers, "LinkDiscoverers must not be null!");
this.mvc = mvc;
this.discoverers = discoverers;
}
@@ -75,8 +86,8 @@ public class WebTestUtils {
}
/**
* Perform GET [href] with an explicit Accept media type using MockMvc. Verify the requests succeeded
* and also came back as the Accept type.
* Perform GET [href] with an explicit Accept media type using MockMvc. Verify the requests succeeded and also came
* back as the Accept type.
*
* @param href
* @param contentType
@@ -91,8 +102,8 @@ public class WebTestUtils {
}
/**
* Convenience wrapper that first expands the link using URI substitution before requesting with the
* default media type.
* Convenience wrapper that first expands the link using URI substitution before requesting with the default media
* type.
*
* @param link
* @return
@@ -103,8 +114,8 @@ public class WebTestUtils {
}
/**
* Convenience wrapper that first expands the link using URI substitution and then GET [href] using
* an explicit media type
* Convenience wrapper that first expands the link using URI substitution and then GET [href] using an explicit media
* type
*
* @param link
* @param mediaType
@@ -161,6 +172,7 @@ public class WebTestUtils {
/**
* Discover single URI associated with a rel, starting at the root node ("/")
*
* @param rel
* @return
* @throws Exception
@@ -210,8 +222,7 @@ public class WebTestUtils {
}
/**
* For a given servlet response, verify that the provided rel exists in its hypermedia. If so,
* return the URI link.
* For a given servlet response, verify that the provided rel exists in its hypermedia. If so, return the URI link.
*
* @param rel
* @param response
@@ -267,6 +278,4 @@ public class WebTestUtils {
return linkDiscovererFor;
}
}

View File

@@ -125,17 +125,17 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void accessPersons() throws Exception {
MockHttpServletResponse response = testUtils.request("/people?page=0&size=1");
MockHttpServletResponse response = client.request("/people?page=0&size=1");
Link nextLink = testUtils.assertHasLinkWithRel(Link.REL_NEXT, response);
Link nextLink = client.assertHasLinkWithRel(Link.REL_NEXT, response);
assertDoesNotHaveLinkWithRel(Link.REL_PREVIOUS, response);
response = testUtils.request(nextLink);
testUtils.assertHasLinkWithRel(Link.REL_PREVIOUS, response);
nextLink = testUtils.assertHasLinkWithRel(Link.REL_NEXT, response);
response = client.request(nextLink);
client.assertHasLinkWithRel(Link.REL_PREVIOUS, response);
nextLink = client.assertHasLinkWithRel(Link.REL_NEXT, response);
response = testUtils.request(nextLink);
testUtils.assertHasLinkWithRel(Link.REL_PREVIOUS, response);
response = client.request(nextLink);
client.assertHasLinkWithRel(Link.REL_PREVIOUS, response);
assertDoesNotHaveLinkWithRel(Link.REL_NEXT, response);
}
@@ -145,13 +145,13 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void exposesLinkForRelatedResource() throws Exception {
MockHttpServletResponse response = testUtils.request("/");
Link ordersLink = testUtils.assertHasLinkWithRel("orders", response);
MockHttpServletResponse response = client.request("/");
Link ordersLink = client.assertHasLinkWithRel("orders", response);
MockHttpServletResponse orders = testUtils.request(ordersLink);
MockHttpServletResponse orders = client.request(ordersLink);
Link creatorLink = assertHasContentLinkWithRel("creator", orders);
assertThat(testUtils.request(creatorLink), is(notNullValue()));
assertThat(client.request(creatorLink), is(notNullValue()));
}
/**
@@ -160,10 +160,10 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void exposesInlinedEntities() throws Exception {
MockHttpServletResponse response = testUtils.request("/");
Link ordersLink = testUtils.assertHasLinkWithRel("orders", response);
MockHttpServletResponse response = client.request("/");
Link ordersLink = client.assertHasLinkWithRel("orders", response);
MockHttpServletResponse orders = testUtils.request(ordersLink);
MockHttpServletResponse orders = client.request(ordersLink);
assertHasJsonPathValue("$..lineItems", orders);
}
@@ -185,7 +185,7 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void createPersonThenVerifyIgnoredAttributesDontExist() throws Exception {
Link peopleLink = testUtils.discoverUnique("people");
Link peopleLink = client.discoverUnique("people");
ObjectMapper mapper = new ObjectMapper();
Person frodo = new Person("Frodo", "Baggins");
frodo.setAge(77);
@@ -208,12 +208,12 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void createThenPatch() throws Exception {
Link peopleLink = testUtils.discoverUnique("people");
Link peopleLink = client.discoverUnique("people");
MockHttpServletResponse bilbo = postAndGet(peopleLink, "{ \"firstName\" : \"Bilbo\", \"lastName\" : \"Baggins\" }",
MediaType.APPLICATION_JSON);
Link bilboLink = testUtils.assertHasLinkWithRel("self", bilbo);
Link bilboLink = client.assertHasLinkWithRel("self", bilbo);
assertThat((String) JsonPath.read(bilbo.getContentAsString(), "$.firstName"), is("Bilbo"));
assertThat((String) JsonPath.read(bilbo.getContentAsString(), "$.lastName"), is("Baggins"));
@@ -235,13 +235,13 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void createThenPut() throws Exception {
Link peopleLink = testUtils.discoverUnique("people");
Link peopleLink = client.discoverUnique("people");
MockHttpServletResponse bilbo = postAndGet(peopleLink,//
"{ \"firstName\" : \"Bilbo\", \"lastName\" : \"Baggins\" }",//
MediaType.APPLICATION_JSON);
Link bilboLink = testUtils.assertHasLinkWithRel("self", bilbo);
Link bilboLink = client.assertHasLinkWithRel("self", bilbo);
assertThat((String) JsonPath.read(bilbo.getContentAsString(), "$.firstName"), equalTo("Bilbo"));
assertThat((String) JsonPath.read(bilbo.getContentAsString(), "$.lastName"), equalTo("Baggins"));
@@ -376,7 +376,7 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void propertiesCanHaveNulls() throws Exception {
Link peopleLink = testUtils.discoverUnique("people");
Link peopleLink = client.discoverUnique("people");
Person frodo = new Person();
frodo.setFirstName("Frodo");
@@ -396,39 +396,39 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void putShouldWorkDespiteExistingLinks() throws Exception {
Link peopleLink = testUtils.discoverUnique("people");
Link peopleLink = client.discoverUnique("people");
Person frodo = new Person("Frodo", "Baggins");
String frodoString = mapper.writeValueAsString(frodo);
MockHttpServletResponse createdPerson = postAndGet(peopleLink, frodoString, MediaType.APPLICATION_JSON);
Link frodoLink = testUtils.assertHasLinkWithRel("self", createdPerson);
Link frodoLink = client.assertHasLinkWithRel("self", createdPerson);
assertJsonPathEquals("$.firstName", "Frodo", createdPerson);
String bilboWithFrodosLinks = createdPerson.getContentAsString().replace("Frodo", "Bilbo");
MockHttpServletResponse overwrittenResponse = putAndGet(frodoLink, bilboWithFrodosLinks, MediaType.APPLICATION_JSON);
testUtils.assertHasLinkWithRel("self", overwrittenResponse);
client.assertHasLinkWithRel("self", overwrittenResponse);
assertJsonPathEquals("$.firstName", "Bilbo", overwrittenResponse);
}
private List<Link> preparePersonResources(Person primary, Person... persons) throws Exception {
Link peopleLink = testUtils.discoverUnique("people");
Link peopleLink = client.discoverUnique("people");
List<Link> links = new ArrayList<Link>();
MockHttpServletResponse primaryResponse = postAndGet(peopleLink, mapper.writeValueAsString(primary),
MediaType.APPLICATION_JSON);
links.add(testUtils.assertHasLinkWithRel("siblings", primaryResponse));
links.add(client.assertHasLinkWithRel("siblings", primaryResponse));
for (Person person : persons) {
String payload = mapper.writeValueAsString(person);
MockHttpServletResponse response = postAndGet(peopleLink, payload, MediaType.APPLICATION_JSON);
links.add(testUtils.assertHasLinkWithRel(Link.REL_SELF, response));
links.add(client.assertHasLinkWithRel(Link.REL_SELF, response));
}
return links;
@@ -440,7 +440,7 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void doesNotAllowGetToCollectionResourceIfFindAllIsNotExported() throws Exception {
Link link = testUtils.discoverUnique("addresses");
Link link = client.discoverUnique("addresses");
mvc.perform(get(link.getHref())).//
andExpect(status().isMethodNotAllowed());
@@ -452,7 +452,7 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void doesNotAllowPostToCollectionResourceIfSaveIsNotExported() throws Exception {
Link link = testUtils.discoverUnique("addresses");
Link link = client.discoverUnique("addresses");
mvc.perform(post(link.getHref()).content("{}").contentType(MediaType.APPLICATION_JSON)).//
andExpect(status().isMethodNotAllowed());
@@ -467,9 +467,9 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void returnsProjectionIfRequested() throws Exception {
Link orders = testUtils.discoverUnique("orders");
Link orders = client.discoverUnique("orders");
MockHttpServletResponse response = testUtils.request(orders);
MockHttpServletResponse response = client.request(orders);
Link orderLink = assertContentLinkWithRel("self", response, true).expand();
UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(orderLink.getHref());
@@ -497,18 +497,18 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void onlyLinksShouldAppearWhenExecuteSearchCompact() throws Exception {
Link peopleLink = testUtils.discoverUnique("people");
Link peopleLink = client.discoverUnique("people");
Person daenerys = new Person("Daenerys", "Targaryen");
String daenerysString = mapper.writeValueAsString(daenerys);
MockHttpServletResponse createdPerson = postAndGet(peopleLink, daenerysString, MediaType.APPLICATION_JSON);
Link daenerysLink = testUtils.assertHasLinkWithRel("self", createdPerson);
Link daenerysLink = client.assertHasLinkWithRel("self", createdPerson);
assertJsonPathEquals("$.firstName", "Daenerys", createdPerson);
Link searchLink = testUtils.discoverUnique(peopleLink, "search");
Link byFirstNameLink = testUtils.discoverUnique(searchLink, "findFirstPersonByFirstName");
Link searchLink = client.discoverUnique(peopleLink, "search");
Link byFirstNameLink = client.discoverUnique(searchLink, "findFirstPersonByFirstName");
MockHttpServletResponse response = testUtils.request(byFirstNameLink.expand("Daenerys"),
MockHttpServletResponse response = client.request(byFirstNameLink.expand("Daenerys"),
MediaType.parseMediaType("application/x-spring-data-compact+json"));
String responseBody = response.getContentAsString();
@@ -526,9 +526,9 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void rendersExcerptProjectionsCorrectly() throws Exception {
Link authorsLink = testUtils.discoverUnique("authors");
Link authorsLink = client.discoverUnique("authors");
MockHttpServletResponse response = testUtils.request(authorsLink);
MockHttpServletResponse response = client.request(authorsLink);
String firstAuthorPath = "$._embedded.authors[0]";
// Has main content
@@ -542,7 +542,7 @@ public class JpaWebTests extends CommonWebTests {
String content = response.getContentAsString();
String href = JsonPath.read(content, firstAuthorPath.concat("._links.self.href"));
testUtils.follow(new Link(href)).andExpect(testUtils.hasLinkWithRel("books"));
client.follow(new Link(href)).andExpect(client.hasLinkWithRel("books"));
}
/**
@@ -551,7 +551,7 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void returns404WhenTryingToDeleteANonExistingResource() throws Exception {
Link authorsLink = testUtils.discoverUnique("authors");
Link authorsLink = client.discoverUnique("authors");
mvc.perform(delete(authorsLink.getHref().concat("/{id}"), 4711)).//
andExpect(status().isNotFound());
@@ -563,20 +563,20 @@ public class JpaWebTests extends CommonWebTests {
@Test
public void execturesSearchThatTakesASort() throws Exception {
Link booksLink = testUtils.discoverUnique("books");
Link searchLink = testUtils.discoverUnique(booksLink, "search");
Link findBySortedLink = testUtils.discoverUnique(searchLink, "find-by-sorted");
Link booksLink = client.discoverUnique("books");
Link searchLink = client.discoverUnique(booksLink, "search");
Link findBySortedLink = client.discoverUnique(searchLink, "find-by-sorted");
// Assert sort options advertised
assertThat(findBySortedLink.isTemplated(), is(true));
assertThat(findBySortedLink.getVariableNames(), contains("sort"));
// Assert results returned as specified
testUtils.follow(findBySortedLink.expand("title,desc")).//
client.follow(findBySortedLink.expand("title,desc")).//
andExpect(jsonPath("$._embedded.books[0].title").value("Spring Data (Second Edition)")).//
andExpect(jsonPath("$._embedded.books[1].title").value("Spring Data"));
testUtils.follow(findBySortedLink.expand("title,asc")).//
client.follow(findBySortedLink.expand("title,asc")).//
andExpect(jsonPath("$._embedded.books[0].title").value("Spring Data")).//
andExpect(jsonPath("$._embedded.books[1].title").value("Spring Data (Second Edition)"));
}
@@ -590,7 +590,7 @@ public class JpaWebTests extends CommonWebTests {
*/
private void assertSiblingNames(Link link, String... siblingNames) throws Exception {
String responseBody = testUtils.request(link).getContentAsString();
String responseBody = client.request(link).getContentAsString();
List<String> persons = JsonPath.read(responseBody, "$._embedded.people[*].firstName");
assertThat(persons, hasSize(siblingNames.length));
@@ -599,7 +599,7 @@ public class JpaWebTests extends CommonWebTests {
private void assertPersonWithNameAndSiblingLink(String name) throws Exception {
MockHttpServletResponse response = testUtils.request(testUtils.discoverUnique("people"));
MockHttpServletResponse response = client.request(client.discoverUnique("people"));
String jsonPath = String.format("$._embedded.people[?(@.firstName == '%s')][0]", name);
@@ -610,7 +610,7 @@ public class JpaWebTests extends CommonWebTests {
// Assert sibling link exposed in resource pointed to
Link selfLink = new Link(JsonPath.<String> read(john, "$._links.self.href"));
testUtils.follow(selfLink).//
client.follow(selfLink).//
andExpect(status().isOk()).//
andExpect(jsonPath("$._links.siblings", is(notNullValue())));
}

View File

@@ -89,17 +89,17 @@ public class MongoWebTests extends CommonWebTests {
@Test
public void foo() throws Exception {
Link profileLink = testUtils.discoverUnique("profiles");
testUtils.follow(profileLink).//
Link profileLink = client.discoverUnique("profiles");
client.follow(profileLink).//
andExpect(jsonPath("$._embedded.profiles").value(hasSize(2)));
}
@Test
public void rendersEmbeddedDocuments() throws Exception {
Link usersLink = testUtils.discoverUnique("users");
Link userLink = assertHasContentLinkWithRel("self", testUtils.request(usersLink));
testUtils.follow(userLink).//
Link usersLink = client.discoverUnique("users");
Link userLink = assertHasContentLinkWithRel("self", client.request(usersLink));
client.follow(userLink).//
andExpect(jsonPath("$.address.zipCode").value(is(notNullValue())));
}
@@ -109,22 +109,22 @@ public class MongoWebTests extends CommonWebTests {
@Test
public void executeQueryMethodWithPrimitiveReturnType() throws Exception {
Link profiles = testUtils.discoverUnique("profiles");
Link profileSearches = testUtils.discoverUnique(profiles, "search");
Link countByTypeLink = testUtils.discoverUnique(profileSearches, "countByType");
Link profiles = client.discoverUnique("profiles");
Link profileSearches = client.discoverUnique(profiles, "search");
Link countByTypeLink = client.discoverUnique(profileSearches, "countByType");
assertThat(countByTypeLink.isTemplated(), is(true));
assertThat(countByTypeLink.getVariableNames(), hasItem("type"));
MockHttpServletResponse response = testUtils.request(countByTypeLink.expand("Twitter"));
MockHttpServletResponse response = client.request(countByTypeLink.expand("Twitter"));
assertThat(response.getContentAsString(), is("1"));
}
@Test
public void testname() throws Exception {
Link usersLink = testUtils.discoverUnique("users");
Link userLink = assertHasContentLinkWithRel("self", testUtils.request(usersLink));
Link usersLink = client.discoverUnique("users");
Link userLink = assertHasContentLinkWithRel("self", client.request(usersLink));
MockHttpServletResponse response = patchAndGet(userLink,
"{\"lastname\" : null, \"address\" : { \"zipCode\" : \"ZIP\"}}", MediaType.APPLICATION_JSON);
@@ -136,8 +136,8 @@ public class MongoWebTests extends CommonWebTests {
@Test
public void testname2() throws Exception {
Link usersLink = testUtils.discoverUnique("users");
Link userLink = assertHasContentLinkWithRel("self", testUtils.request(usersLink));
Link usersLink = client.discoverUnique("users");
Link userLink = assertHasContentLinkWithRel("self", client.request(usersLink));
MockHttpServletResponse response = patchAndGet(userLink,
"[{ \"op\": \"replace\", \"path\": \"/address/zipCode\", \"value\": \"ZIP\" },"

View File

@@ -86,13 +86,13 @@ public class Neo4jWebTests extends CommonWebTests {
public void deletesCustomer() throws Exception {
// Lookup customer
Link customers = testUtils.discoverUnique("customers");
Link customerLink = assertHasContentLinkWithRel("self", testUtils.request(customers));
Link customers = client.discoverUnique("customers");
Link customerLink = assertHasContentLinkWithRel("self", client.request(customers));
// Delete customer
mvc.perform(delete(customerLink.getHref()));
// Assert no customers anymore
assertDoesNotHaveContentLinkWithRel("self", testUtils.request(customers));
assertDoesNotHaveContentLinkWithRel("self", client.request(customers));
}
}

View File

@@ -24,7 +24,7 @@ import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
import org.springframework.data.rest.core.mapping.MappingResourceMetadata;
import org.springframework.data.rest.core.mapping.ResourceMetadata;
import org.springframework.data.rest.webmvc.BaseUri;
import org.springframework.data.rest.webmvc.WebTestUtils;
import org.springframework.data.rest.webmvc.TestMvcClient;
import org.springframework.data.rest.webmvc.mongodb.Profile;
import org.springframework.hateoas.Link;
@@ -43,7 +43,7 @@ public class RepositoryLinkBuildUnitTests {
@Test
public void usesCurrentRequestsUriBaseForRelativeBaseUri() {
WebTestUtils.initWebTest();
TestMvcClient.initWebTest();
assertRootUriFor("api", "http://localhost/api/profile");
}