diff --git a/spring-security-rest-full/pom.xml b/spring-security-rest-full/pom.xml index 0270d43096..997b99ffdf 100644 --- a/spring-security-rest-full/pom.xml +++ b/spring-security-rest-full/pom.xml @@ -1,301 +1,307 @@ - - 4.0.0 - org.baeldung - spring-security-rest-full - 0.1-SNAPSHOT + + 4.0.0 + org.baeldung + spring-security-rest-full + 0.1-SNAPSHOT - spring-security-rest-full - war + spring-security-rest-full + war - + - + - - org.springframework.security - spring-security-web - ${org.springframework.security.version} - - - org.springframework.security - spring-security-config - ${org.springframework.security.version} - + + org.springframework.security + spring-security-web + ${org.springframework.security.version} + + + org.springframework.security + spring-security-config + ${org.springframework.security.version} + - + - - org.springframework - spring-core - ${org.springframework.version} - - - org.springframework - spring-context - ${org.springframework.version} - - - org.springframework - spring-jdbc - ${org.springframework.version} - - - org.springframework - spring-beans - ${org.springframework.version} - - - org.springframework - spring-aop - ${org.springframework.version} - - - org.springframework - spring-tx - ${org.springframework.version} - - - org.springframework - spring-expression - ${org.springframework.version} - + + org.springframework + spring-core + ${org.springframework.version} + + + org.springframework + spring-context + ${org.springframework.version} + + + org.springframework + spring-jdbc + ${org.springframework.version} + + + org.springframework + spring-beans + ${org.springframework.version} + + + org.springframework + spring-aop + ${org.springframework.version} + + + org.springframework + spring-tx + ${org.springframework.version} + + + org.springframework + spring-expression + ${org.springframework.version} + - - org.springframework - spring-web - ${org.springframework.version} - - - org.springframework - spring-webmvc - ${org.springframework.version} - + + org.springframework + spring-web + ${org.springframework.version} + + + org.springframework + spring-webmvc + ${org.springframework.version} + - + - - org.springframework - spring-orm - ${org.springframework.version} - - - org.springframework.data - spring-data-jpa - ${spring-data-jpa.version} - - - org.hibernate - hibernate-entitymanager - ${hibernate.version} - - - org.javassist - javassist - 3.18.0-GA - - - mysql - mysql-connector-java - ${mysql-connector-java.version} - runtime - + + org.springframework + spring-orm + ${org.springframework.version} + + + org.springframework.data + spring-data-jpa + ${spring-data-jpa.version} + + + org.hibernate + hibernate-entitymanager + ${hibernate.version} + + + org.javassist + javassist + 3.18.0-GA + + + mysql + mysql-connector-java + ${mysql-connector-java.version} + runtime + - + - - javax.servlet - javax.servlet-api - 3.0.1 - provided - + + javax.servlet + javax.servlet-api + 3.0.1 + provided + - - javax.servlet - jstl - 1.2 - runtime - + + javax.servlet + jstl + 1.2 + runtime + - + - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + - + - - com.google.guava - guava - ${guava.version} - + + com.google.guava + guava + ${guava.version} + - + - - org.slf4j - slf4j-api - ${org.slf4j.version} - - - ch.qos.logback - logback-classic - ${logback.version} - - - - org.slf4j - jcl-over-slf4j - ${org.slf4j.version} - - - - org.slf4j - log4j-over-slf4j - ${org.slf4j.version} - + + org.slf4j + slf4j-api + ${org.slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + + org.slf4j + jcl-over-slf4j + ${org.slf4j.version} + + + + org.slf4j + log4j-over-slf4j + ${org.slf4j.version} + - + - - junit - junit-dep - ${junit.version} - test - + + junit + junit-dep + ${junit.version} + test + - - org.hamcrest - hamcrest-core - ${org.hamcrest.version} - test - - - org.hamcrest - hamcrest-library - ${org.hamcrest.version} - test - + + org.hamcrest + hamcrest-core + ${org.hamcrest.version} + test + + + org.hamcrest + hamcrest-library + ${org.hamcrest.version} + test + - - org.mockito - mockito-core - ${mockito.version} - test - + + org.mockito + mockito-core + ${mockito.version} + test + - + + com.jayway.restassured + rest-assured + 2.1.0 + test + - - spring-security-rest-full - - - src/main/resources - true - - + - + + spring-security-rest-full + + + src/main/resources + true + + - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - 1.7 - 1.7 - - + - - org.apache.maven.plugins - maven-war-plugin - ${maven-war-plugin.version} - + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + 1.7 + 1.7 + + - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - - - - - - - + + org.apache.maven.plugins + maven-war-plugin + ${maven-war-plugin.version} + - - org.codehaus.cargo - cargo-maven2-plugin - ${cargo-maven2-plugin.version} - - true - - jetty8x - embedded - - - - - - - 8082 - - - - + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + + + + + + + - + + org.codehaus.cargo + cargo-maven2-plugin + ${cargo-maven2-plugin.version} + + true + + jetty8x + embedded + + + + + + + 8082 + + + + - + - - - 4.0.0.RELEASE - 3.2.0.RELEASE + - - 4.3.0.Final - 5.1.27 - 1.4.3.RELEASE + + + 4.0.0.RELEASE + 3.2.0.RELEASE - + + 4.3.0.Final + 5.1.27 + 1.4.3.RELEASE - 2.2.3 + - - 1.7.5 - 1.0.11 + 2.2.3 - - 5.0.1.Final + + 1.7.5 + 1.0.11 - - 15.0 - 3.1 + + 5.0.1.Final - - 1.3 - 4.11 - 1.9.5 + + 15.0 + 3.1 - 4.3 - 4.3.1 + + 1.3 + 4.11 + 1.9.5 - 2.1.0 + 4.3 + 4.3.1 - - 3.1 - 2.4 - 2.16 - 1.4.5 + 2.1.0 - + + 3.1 + 2.4 + 2.16 + 1.4.5 + + \ No newline at end of file diff --git a/spring-security-rest-full/src/main/java/org/baeldung/web/controller/FooController.java b/spring-security-rest-full/src/main/java/org/baeldung/web/controller/FooController.java index 167f2549d0..7a9889ae46 100644 --- a/spring-security-rest-full/src/main/java/org/baeldung/web/controller/FooController.java +++ b/spring-security-rest-full/src/main/java/org/baeldung/web/controller/FooController.java @@ -68,7 +68,6 @@ public class FooController { @RequestMapping(params = { "page", "size" }, method = RequestMethod.GET) @ResponseBody public List findPaginated(@RequestParam("page") final int page, @RequestParam("size") final int size, final UriComponentsBuilder uriBuilder, final HttpServletResponse response) { - final Page resultPage = service.findPaginated(page, size); if (page > resultPage.getTotalPages()) { throw new MyResourceNotFoundException(); diff --git a/spring-security-rest-full/src/test/java/org/baeldung/common/web/AbstractLiveTest.java b/spring-security-rest-full/src/test/java/org/baeldung/common/web/AbstractLiveTest.java new file mode 100644 index 0000000000..c205997a08 --- /dev/null +++ b/spring-security-rest-full/src/test/java/org/baeldung/common/web/AbstractLiveTest.java @@ -0,0 +1,72 @@ +package org.baeldung.common.web; + +import static org.apache.commons.lang3.RandomStringUtils.randomNumeric; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertThat; + +import java.io.Serializable; +import java.util.List; + +import org.junit.Test; + +import com.google.common.base.Preconditions; +import com.jayway.restassured.RestAssured; +import com.jayway.restassured.response.Response; +import com.jayway.restassured.specification.RequestSpecification; + +public abstract class AbstractLiveTest { + + protected final Class clazz; + + public AbstractLiveTest(final Class clazzToSet) { + super(); + + Preconditions.checkNotNull(clazzToSet); + clazz = clazzToSet; + } + + // tests + + // find - one + + // find - all + + // find - all - paginated + + @Test + public void whenResourcesAreRetrievedPaged_then200IsReceived() { + final Response response = givenAuth().get(getFooURL() + "?page=1&size=10"); + + assertThat(response.getStatusCode(), is(200)); + } + + @Test + public void whenPageOfResourcesAreRetrievedOutOfBounds_then404IsReceived() { + final Response response = givenAuth().get(getFooURL() + "?page=" + randomNumeric(5) + "&size=10"); + + assertThat(response.getStatusCode(), is(404)); + } + + @Test + public void givenResourcesExist_whenFirstPageIsRetrieved_thenPageContainsResources() { + // restTemplate.createResource(); + + final Response response = givenAuth().get(getFooURL() + "?page=1&size=10"); + + assertFalse(response.body().as(List.class).isEmpty()); + } + + // count + + // template method + + private String getFooURL() { + return "http://localhost:8080/spring-security-rest-full/foos"; + } + + protected final RequestSpecification givenAuth() { + return RestAssured.given().auth().preemptive().basic("user1", "user1Pass"); + } + +} diff --git a/spring-security-rest-full/src/test/java/org/baeldung/web/FooLiveTest.java b/spring-security-rest-full/src/test/java/org/baeldung/web/FooLiveTest.java new file mode 100644 index 0000000000..18f0659af6 --- /dev/null +++ b/spring-security-rest-full/src/test/java/org/baeldung/web/FooLiveTest.java @@ -0,0 +1,12 @@ +package org.baeldung.web; + +import org.baeldung.common.web.AbstractLiveTest; +import org.baeldung.persistence.model.Foo; + +public class FooLiveTest extends AbstractLiveTest { + + public FooLiveTest() { + super(Foo.class); + } + +}