From 6b30da247aeefd285708fa864689de0729d469f2 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Tue, 12 Jan 2021 09:17:08 +0100 Subject: [PATCH] Move scm-webapp integration tests to scm-it --- scm-it/build.gradle | 6 ++ scm-it/src/main/conf/jetty.xml | 66 ---------------- .../it/webapp}/AbstractAdminITCaseBase.java | 6 +- .../webapp}/AbstractPermissionITCaseBase.java | 17 +++-- .../sonia/scm/it/webapp}/Credentials.java | 4 +- .../sonia/scm/it/webapp}/GitLfsITCase.java | 18 ++--- .../GitRepositoryPathMatcherITCase.java | 18 ++--- .../scm/it/webapp}/IntegrationTestUtil.java | 4 +- .../scm/it/webapp}/RepositoryHookITCase.java | 76 +++++++++---------- .../scm/it/webapp}/RepositoryITUtil.java | 19 ++--- .../RepositorySimplePermissionITCase.java | 19 ++--- .../java/sonia/scm/it/webapp}/ScmClient.java | 6 +- .../java/sonia/scm/it/webapp}/UserITUtil.java | 6 +- .../scm/it/webapp}/UserPermissionITCase.java | 7 +- scm-webapp/build.gradle | 5 -- 15 files changed, 108 insertions(+), 169 deletions(-) delete mode 100644 scm-it/src/main/conf/jetty.xml rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/AbstractAdminITCaseBase.java (94%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/AbstractPermissionITCaseBase.java (93%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/Credentials.java (98%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/GitLfsITCase.java (95%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/GitRepositoryPathMatcherITCase.java (89%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/IntegrationTestUtil.java (99%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/RepositoryHookITCase.java (92%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/RepositoryITUtil.java (88%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/RepositorySimplePermissionITCase.java (92%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/ScmClient.java (95%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/UserITUtil.java (94%) rename {scm-webapp/src/test/java/sonia/scm/it => scm-it/src/test/java/sonia/scm/it/webapp}/UserPermissionITCase.java (97%) diff --git a/scm-it/build.gradle b/scm-it/build.gradle index d50b2e703c..5ef9d255ad 100644 --- a/scm-it/build.gradle +++ b/scm-it/build.gradle @@ -51,6 +51,12 @@ dependencies { testImplementation 'io.rest-assured:rest-assured:4.3.0' testImplementation 'org.glassfish:javax.json:1.1.4' + // dependencies for tests in sonia.scm.it.webapp + testImplementation project(':scm-webapp') + testImplementation libraries.jerseyClientApi + testImplementation libraries.jerseyClientRuntime + testImplementation libraries.jacksonJaxbAnnotations + itWebApp project(path: ':scm-webapp', configuration: 'webapp') itPlugin project(path: ':scm-plugins:scm-integration-test-plugin', configuration: 'smp') } diff --git a/scm-it/src/main/conf/jetty.xml b/scm-it/src/main/conf/jetty.xml deleted file mode 100644 index 5852fe22fd..0000000000 --- a/scm-it/src/main/conf/jetty.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - 16384 - 16384 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scm-webapp/src/test/java/sonia/scm/it/AbstractAdminITCaseBase.java b/scm-it/src/test/java/sonia/scm/it/webapp/AbstractAdminITCaseBase.java similarity index 94% rename from scm-webapp/src/test/java/sonia/scm/it/AbstractAdminITCaseBase.java rename to scm-it/src/test/java/sonia/scm/it/webapp/AbstractAdminITCaseBase.java index e7d05263cf..2d6d7e74ab 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/AbstractAdminITCaseBase.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/AbstractAdminITCaseBase.java @@ -21,12 +21,12 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; //~--- non-JDK imports -------------------------------------------------------- -import static sonia.scm.it.IntegrationTestUtil.createAdminClient; +import static sonia.scm.it.webapp.IntegrationTestUtil.createAdminClient; //~--- JDK imports ------------------------------------------------------------ diff --git a/scm-webapp/src/test/java/sonia/scm/it/AbstractPermissionITCaseBase.java b/scm-it/src/test/java/sonia/scm/it/webapp/AbstractPermissionITCaseBase.java similarity index 93% rename from scm-webapp/src/test/java/sonia/scm/it/AbstractPermissionITCaseBase.java rename to scm-it/src/test/java/sonia/scm/it/webapp/AbstractPermissionITCaseBase.java index 05e753ca0b..e7186a194f 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/AbstractPermissionITCaseBase.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/AbstractPermissionITCaseBase.java @@ -21,14 +21,15 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; //~--- non-JDK imports -------------------------------------------------------- import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; import org.junit.AfterClass; +import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runners.Parameterized.Parameters; @@ -40,9 +41,9 @@ import java.util.Collection; import static java.util.Arrays.asList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static sonia.scm.it.IntegrationTestUtil.createAdminClient; -import static sonia.scm.it.IntegrationTestUtil.createResource; -import static sonia.scm.it.IntegrationTestUtil.post; +import static sonia.scm.it.webapp.IntegrationTestUtil.createAdminClient; +import static sonia.scm.it.webapp.IntegrationTestUtil.createResource; +import static sonia.scm.it.webapp.IntegrationTestUtil.post; //~--- JDK imports ------------------------------------------------------------ @@ -102,7 +103,7 @@ public abstract class AbstractPermissionITCaseBase ClientResponse response = UserITUtil.postUser(client, trillian); assertNotNull(response); - assertEquals(201, response.getStatus()); + Assert.assertEquals(201, response.getStatus()); response.close(); } @@ -267,11 +268,11 @@ public abstract class AbstractPermissionITCaseBase if (credentials.isAnonymous()) { - assertEquals(401, response.getStatus()); + Assert.assertEquals(401, response.getStatus()); } else { - assertEquals(403, response.getStatus()); + Assert.assertEquals(403, response.getStatus()); } response.close(); diff --git a/scm-webapp/src/test/java/sonia/scm/it/Credentials.java b/scm-it/src/test/java/sonia/scm/it/webapp/Credentials.java similarity index 98% rename from scm-webapp/src/test/java/sonia/scm/it/Credentials.java rename to scm-it/src/test/java/sonia/scm/it/webapp/Credentials.java index 082a49ebea..6388238242 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/Credentials.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/Credentials.java @@ -21,8 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; //~--- non-JDK imports -------------------------------------------------------- diff --git a/scm-webapp/src/test/java/sonia/scm/it/GitLfsITCase.java b/scm-it/src/test/java/sonia/scm/it/webapp/GitLfsITCase.java similarity index 95% rename from scm-webapp/src/test/java/sonia/scm/it/GitLfsITCase.java rename to scm-it/src/test/java/sonia/scm/it/webapp/GitLfsITCase.java index 795570c2a6..9e26d4b927 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/GitLfsITCase.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/GitLfsITCase.java @@ -21,8 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.type.TypeFactory; @@ -55,13 +55,13 @@ import java.net.URI; import java.util.UUID; import static org.junit.Assert.assertArrayEquals; -import static sonia.scm.it.IntegrationTestUtil.BASE_URL; -import static sonia.scm.it.IntegrationTestUtil.REST_BASE_URL; -import static sonia.scm.it.IntegrationTestUtil.createAdminClient; -import static sonia.scm.it.IntegrationTestUtil.createResource; -import static sonia.scm.it.IntegrationTestUtil.readJson; -import static sonia.scm.it.RepositoryITUtil.createRepository; -import static sonia.scm.it.RepositoryITUtil.deleteRepository; +import static sonia.scm.it.webapp.IntegrationTestUtil.BASE_URL; +import static sonia.scm.it.webapp.IntegrationTestUtil.REST_BASE_URL; +import static sonia.scm.it.webapp.IntegrationTestUtil.createAdminClient; +import static sonia.scm.it.webapp.IntegrationTestUtil.createResource; +import static sonia.scm.it.webapp.IntegrationTestUtil.readJson; +import static sonia.scm.it.webapp.RepositoryITUtil.createRepository; +import static sonia.scm.it.webapp.RepositoryITUtil.deleteRepository; /** * Integration tests for git lfs. diff --git a/scm-webapp/src/test/java/sonia/scm/it/GitRepositoryPathMatcherITCase.java b/scm-it/src/test/java/sonia/scm/it/webapp/GitRepositoryPathMatcherITCase.java similarity index 89% rename from scm-webapp/src/test/java/sonia/scm/it/GitRepositoryPathMatcherITCase.java rename to scm-it/src/test/java/sonia/scm/it/webapp/GitRepositoryPathMatcherITCase.java index 81b080d57a..682e558ab9 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/GitRepositoryPathMatcherITCase.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/GitRepositoryPathMatcherITCase.java @@ -21,8 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; import com.google.common.base.Charsets; import com.google.common.io.Files; @@ -42,13 +42,13 @@ import java.io.IOException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static sonia.scm.it.IntegrationTestUtil.ADMIN_PASSWORD; -import static sonia.scm.it.IntegrationTestUtil.ADMIN_USERNAME; -import static sonia.scm.it.IntegrationTestUtil.BASE_URL; -import static sonia.scm.it.IntegrationTestUtil.createAdminClient; -import static sonia.scm.it.IntegrationTestUtil.readJson; -import static sonia.scm.it.RepositoryITUtil.createRepository; -import static sonia.scm.it.RepositoryITUtil.deleteRepository; +import static sonia.scm.it.webapp.IntegrationTestUtil.ADMIN_PASSWORD; +import static sonia.scm.it.webapp.IntegrationTestUtil.ADMIN_USERNAME; +import static sonia.scm.it.webapp.IntegrationTestUtil.BASE_URL; +import static sonia.scm.it.webapp.IntegrationTestUtil.createAdminClient; +import static sonia.scm.it.webapp.IntegrationTestUtil.readJson; +import static sonia.scm.it.webapp.RepositoryITUtil.createRepository; +import static sonia.scm.it.webapp.RepositoryITUtil.deleteRepository; /** * Integration test for RepositoryPathMatching with ".git" and without ".git". diff --git a/scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java b/scm-it/src/test/java/sonia/scm/it/webapp/IntegrationTestUtil.java similarity index 99% rename from scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java rename to scm-it/src/test/java/sonia/scm/it/webapp/IntegrationTestUtil.java index d70944b2e9..f25b725ff6 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/IntegrationTestUtil.java @@ -21,8 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; //~--- non-JDK imports -------------------------------------------------------- diff --git a/scm-webapp/src/test/java/sonia/scm/it/RepositoryHookITCase.java b/scm-it/src/test/java/sonia/scm/it/webapp/RepositoryHookITCase.java similarity index 92% rename from scm-webapp/src/test/java/sonia/scm/it/RepositoryHookITCase.java rename to scm-it/src/test/java/sonia/scm/it/webapp/RepositoryHookITCase.java index 4fef5bfc4e..5d50c438ac 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/RepositoryHookITCase.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/RepositoryHookITCase.java @@ -21,8 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; import com.google.common.base.Charsets; import com.google.common.io.Files; @@ -53,55 +53,55 @@ import static org.hamcrest.Matchers.contains; import static org.hamcrest.core.AllOf.allOf; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; -import static sonia.scm.it.IntegrationTestUtil.createResource; -import static sonia.scm.it.IntegrationTestUtil.readJson; -import static sonia.scm.it.RepositoryITUtil.createRepository; -import static sonia.scm.it.RepositoryITUtil.deleteRepository; +import static sonia.scm.it.webapp.IntegrationTestUtil.createResource; +import static sonia.scm.it.webapp.IntegrationTestUtil.readJson; +import static sonia.scm.it.webapp.RepositoryITUtil.createRepository; +import static sonia.scm.it.webapp.RepositoryITUtil.deleteRepository; /** * Integration tests for repository hooks. - * + * * @author Sebastian Sdorra */ @RunWith(Parameterized.class) public class RepositoryHookITCase extends AbstractAdminITCaseBase { - + private static final long WAIT_TIME = 125; - + private static final RepositoryClientFactory REPOSITORY_CLIENT_FACTORY = new RepositoryClientFactory(); - + @Rule public TemporaryFolder tempFolder = new TemporaryFolder(); - + private final String repositoryType; private RepositoryDto repository; private File workingCopy; private RepositoryClient repositoryClient; - + /** * Constructs a new instance with a repository type. - * + * * @param repositoryType repository type */ public RepositoryHookITCase(String repositoryType) { this.repositoryType = repositoryType; } - + /** * Creates a test repository. - * - * @throws IOException + * + * @throws IOException */ @Before - public void setUpTestRepository() throws IOException + public void setUpTestRepository() throws IOException { repository = createRepository(client, readJson("repository-" + repositoryType + ".json")); workingCopy = tempFolder.newFolder(); repositoryClient = createRepositoryClient(); } - + /** * Removes the tests repository. */ @@ -112,59 +112,59 @@ public class RepositoryHookITCase extends AbstractAdminITCaseBase deleteRepository(client, repository); } } - + /** * Tests that the debug service has received the commit. - * + * * @throws IOException - * @throws InterruptedException + * @throws InterruptedException */ @Test - public void testSimpleHook() throws IOException, InterruptedException + public void testSimpleHook() throws IOException, InterruptedException { // commit and push commit Files.write("a", new File(workingCopy, "a.txt"), Charsets.UTF_8); repositoryClient.getAddCommand().add("a.txt"); Changeset changeset = commit("added a"); - + // wait some time, because the debug hook is asnychron Thread.sleep(WAIT_TIME); - + // check debug servlet for pushed commit WebResource.Builder wr = createResource(client, "../debug/" + repository.getNamespace() + "/" + repository.getName() + "/post-receive/last"); DebugHookData data = wr.get(DebugHookData.class); assertNotNull(data); assertThat(data.getChangesets(), contains(changeset.getId())); } - + /** * Tests that the debug service receives only new commits. - * + * * @throws IOException - * @throws InterruptedException + * @throws InterruptedException */ @Test - public void testOnlyNewCommit() throws IOException, InterruptedException + public void testOnlyNewCommit() throws IOException, InterruptedException { // skip test if branches are not supported by repository type Assume.assumeTrue(repositoryClient.isCommandSupported(ClientCommand.BRANCH)); - + // push commit Files.write("a", new File(workingCopy, "a.txt"), Charsets.UTF_8); repositoryClient.getAddCommand().add("a.txt"); Changeset a = commit("added a"); - + // create branch repositoryClient.getBranchCommand().branch("feature/added-b"); - + // commit and push again Files.write("b", new File(workingCopy, "b.txt"), Charsets.UTF_8); repositoryClient.getAddCommand().add("a.txt"); Changeset b = commit("added b"); - + // wait some time, because the debug hook is asnychron Thread.sleep(WAIT_TIME); - + // check debug servlet that only one commit is present WebResource.Builder wr = createResource(client, String.format("../debug/%s/%s/post-receive/last", repository.getNamespace(), repository.getName())); DebugHookData data = wr.get(DebugHookData.class); @@ -176,7 +176,7 @@ public class RepositoryHookITCase extends AbstractAdminITCaseBase ) )); } - + private Changeset commit(String message) throws IOException { Changeset a = repositoryClient.getCommitCommand().commit( new Person("scmadmin", "scmadmin@scm-manager.org"), message @@ -186,8 +186,8 @@ public class RepositoryHookITCase extends AbstractAdminITCaseBase } return a; } - - private RepositoryClient createRepositoryClient() throws IOException + + private RepositoryClient createRepositoryClient() throws IOException { return REPOSITORY_CLIENT_FACTORY.create(repositoryType, String.format("%srepo/%s/%s", IntegrationTestUtil.BASE_URL, repository.getNamespace(), repository.getName()), @@ -195,7 +195,7 @@ public class RepositoryHookITCase extends AbstractAdminITCaseBase ); } - + /** * Returns repository types a test parameter. * @@ -206,5 +206,5 @@ public class RepositoryHookITCase extends AbstractAdminITCaseBase { return IntegrationTestUtil.createRepositoryTypeParameters(); } - + } diff --git a/scm-webapp/src/test/java/sonia/scm/it/RepositoryITUtil.java b/scm-it/src/test/java/sonia/scm/it/webapp/RepositoryITUtil.java similarity index 88% rename from scm-webapp/src/test/java/sonia/scm/it/RepositoryITUtil.java rename to scm-it/src/test/java/sonia/scm/it/webapp/RepositoryITUtil.java index 393ad28628..e036508679 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/RepositoryITUtil.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/RepositoryITUtil.java @@ -21,13 +21,14 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; //~--- non-JDK imports -------------------------------------------------------- import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; +import org.junit.Assert; import sonia.scm.api.rest.ObjectMapperProvider; import sonia.scm.api.v2.resources.RepositoryDto; import sonia.scm.web.VndMediaType; @@ -38,9 +39,9 @@ import java.net.URI; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; -import static sonia.scm.it.IntegrationTestUtil.BASE_URL; -import static sonia.scm.it.IntegrationTestUtil.createResource; -import static sonia.scm.it.IntegrationTestUtil.getLink; +import static sonia.scm.it.webapp.IntegrationTestUtil.BASE_URL; +import static sonia.scm.it.webapp.IntegrationTestUtil.createResource; +import static sonia.scm.it.webapp.IntegrationTestUtil.getLink; //~--- JDK imports ------------------------------------------------------------ @@ -57,7 +58,7 @@ public final class RepositoryITUtil .post(ClientResponse.class, repositoryJson); assertNotNull(response); - assertEquals(201, response.getStatus()); + Assert.assertEquals(201, response.getStatus()); URI url = URI.create(response.getHeaders().get("Location").get(0)); @@ -79,13 +80,13 @@ public final class RepositoryITUtil ClientResponse response = createResource(client, deleteUrl).delete(ClientResponse.class); assertNotNull(response); - assertEquals(204, response.getStatus()); + Assert.assertEquals(204, response.getStatus()); response.close(); URI selfUrl = getLink(repository, "self"); response = createResource(client, selfUrl).get(ClientResponse.class); assertNotNull(response); - assertEquals(404, response.getStatus()); + Assert.assertEquals(404, response.getStatus()); response.close(); } @@ -95,7 +96,7 @@ public final class RepositoryITUtil ClientResponse response = wr.get(ClientResponse.class); assertNotNull(response); - assertEquals(200, response.getStatus()); + Assert.assertEquals(200, response.getStatus()); String json = response.getEntity(String.class); RepositoryDto repository = null; diff --git a/scm-webapp/src/test/java/sonia/scm/it/RepositorySimplePermissionITCase.java b/scm-it/src/test/java/sonia/scm/it/webapp/RepositorySimplePermissionITCase.java similarity index 92% rename from scm-webapp/src/test/java/sonia/scm/it/RepositorySimplePermissionITCase.java rename to scm-it/src/test/java/sonia/scm/it/webapp/RepositorySimplePermissionITCase.java index 9009f49a1e..10962145a6 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/RepositorySimplePermissionITCase.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/RepositorySimplePermissionITCase.java @@ -21,8 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; //~--- non-JDK imports -------------------------------------------------------- @@ -30,6 +30,7 @@ import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; import de.otto.edison.hal.HalRepresentation; import org.junit.AfterClass; +import org.junit.Assert; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -42,9 +43,9 @@ import java.io.IOException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import static sonia.scm.it.IntegrationTestUtil.createAdminClient; -import static sonia.scm.it.IntegrationTestUtil.createResource; -import static sonia.scm.it.IntegrationTestUtil.serialize; +import static sonia.scm.it.webapp.IntegrationTestUtil.createAdminClient; +import static sonia.scm.it.webapp.IntegrationTestUtil.createResource; +import static sonia.scm.it.webapp.IntegrationTestUtil.serialize; //~--- JDK imports ------------------------------------------------------------ @@ -92,7 +93,7 @@ public class RepositorySimplePermissionITCase ClientResponse response = wr.type(VndMediaType.REPOSITORY).post(ClientResponse.class, serialize(repository)); assertNotNull(response); - assertEquals(201, response.getStatus()); + Assert.assertEquals(201, response.getStatus()); String repositoryUrl = response.getHeaders().getFirst("Location"); @@ -100,7 +101,7 @@ public class RepositorySimplePermissionITCase response.close(); response = client.resource(repositoryUrl).get(ClientResponse.class); assertNotNull(response); - assertEquals(200, response.getStatus()); + Assert.assertEquals(200, response.getStatus()); repository = new ObjectMapperProvider().get().readValue(response.getEntity(String.class), RepositoryDto.class); REPOSITORY_PATH = repository.getNamespace() + "/" + repository.getName(); assertNotNull(REPOSITORY_PATH); @@ -129,7 +130,7 @@ public class RepositorySimplePermissionITCase if (!credentials.isAnonymous()) { assertNotNull(response); - assertEquals(200, response.getStatus()); + Assert.assertEquals(200, response.getStatus()); HalRepresentation repositories = null; @@ -157,7 +158,7 @@ public class RepositorySimplePermissionITCase if (!credentials.isAnonymous()) { assertNotNull(response); - assertEquals(403, response.getStatus()); + Assert.assertEquals(403, response.getStatus()); response.close(); } } diff --git a/scm-webapp/src/test/java/sonia/scm/it/ScmClient.java b/scm-it/src/test/java/sonia/scm/it/webapp/ScmClient.java similarity index 95% rename from scm-webapp/src/test/java/sonia/scm/it/ScmClient.java rename to scm-it/src/test/java/sonia/scm/it/webapp/ScmClient.java index 0c340a9fb2..a2620dbd9a 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/ScmClient.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/ScmClient.java @@ -21,15 +21,15 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.WebResource; import java.util.Base64; -import static sonia.scm.it.IntegrationTestUtil.createClient; +import static sonia.scm.it.webapp.IntegrationTestUtil.createClient; public class ScmClient { private final String user; diff --git a/scm-webapp/src/test/java/sonia/scm/it/UserITUtil.java b/scm-it/src/test/java/sonia/scm/it/webapp/UserITUtil.java similarity index 94% rename from scm-webapp/src/test/java/sonia/scm/it/UserITUtil.java rename to scm-it/src/test/java/sonia/scm/it/webapp/UserITUtil.java index 493ee59aee..500627736e 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/UserITUtil.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/UserITUtil.java @@ -21,14 +21,14 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; import com.sun.jersey.api.client.ClientResponse; import sonia.scm.user.User; import sonia.scm.web.VndMediaType; -import static sonia.scm.it.IntegrationTestUtil.post; +import static sonia.scm.it.webapp.IntegrationTestUtil.post; public class UserITUtil { public static ClientResponse postUser(ScmClient client, User user) { diff --git a/scm-webapp/src/test/java/sonia/scm/it/UserPermissionITCase.java b/scm-it/src/test/java/sonia/scm/it/webapp/UserPermissionITCase.java similarity index 97% rename from scm-webapp/src/test/java/sonia/scm/it/UserPermissionITCase.java rename to scm-it/src/test/java/sonia/scm/it/webapp/UserPermissionITCase.java index 95a23e9b70..288a1b3e2b 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/UserPermissionITCase.java +++ b/scm-it/src/test/java/sonia/scm/it/webapp/UserPermissionITCase.java @@ -21,13 +21,14 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - -package sonia.scm.it; + +package sonia.scm.it.webapp; //~--- non-JDK imports -------------------------------------------------------- import com.sun.jersey.api.client.ClientResponse; import de.otto.edison.hal.HalRepresentation; +import org.junit.Assert; import org.junit.Assume; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -153,7 +154,7 @@ public class UserPermissionITCase extends AbstractPermissionITCaseBase if (!credentials.isAnonymous()) { assertNotNull(response); - assertEquals(200, response.getStatus()); + Assert.assertEquals(200, response.getStatus()); HalRepresentation repositories = null; diff --git a/scm-webapp/build.gradle b/scm-webapp/build.gradle index 6cd937028c..85c33931d3 100644 --- a/scm-webapp/build.gradle +++ b/scm-webapp/build.gradle @@ -127,11 +127,6 @@ dependencies { // shiro unit testImplementation libraries.shiroUnit - - // rest api client - // TODO do we need this? - testImplementation libraries.jerseyClientApi - testImplementation libraries.jerseyClientRuntime } war {