From ef2d5f450d93e39c7fa7a06f6b2e74f20f49232c Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Mon, 21 Feb 2011 14:21:44 +0100 Subject: [PATCH] improve integration tests --- .../scm/it/AbstractPermissionITCaseBase.java | 60 ++++++++++--------- .../test/java/sonia/scm/it/GroupITCase.java | 17 ++++++ .../sonia/scm/it/GroupPermissionITCase.java | 23 ++++--- .../java/sonia/scm/it/RepositoryITCase.java | 29 +++++++++ .../it/RepositorySimplePermissionITCase.java | 15 +++++ .../test/java/sonia/scm/it/UserITCase.java | 15 +++++ 6 files changed, 123 insertions(+), 36 deletions(-) diff --git a/scm-webapp/src/test/java/sonia/scm/it/AbstractPermissionITCaseBase.java b/scm-webapp/src/test/java/sonia/scm/it/AbstractPermissionITCaseBase.java index b8f6426046..af34ada8d3 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/AbstractPermissionITCaseBase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/AbstractPermissionITCaseBase.java @@ -36,7 +36,9 @@ package sonia.scm.it; //~--- non-JDK imports -------------------------------------------------------- import org.junit.After; +import org.junit.AfterClass; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runners.Parameterized.Parameters; @@ -65,11 +67,6 @@ import java.util.Collection; public abstract class AbstractPermissionITCaseBase { - /** Field description */ - public static User TESTUSER = null; - - //~--- constructors --------------------------------------------------------- - /** * Constructs ... * @@ -96,47 +93,54 @@ public abstract class AbstractPermissionITCaseBase Collection params = new ArrayList(); params.add(new Credentials[] { new Credentials() }); - - User dent = getTestUser(); - params.add(new Credentials[] { - new Credentials(dent.getName(), dent.getPassword()) }); + new Credentials("trillian", "a.trillian124") }); return params; } - //~--- get methods ---------------------------------------------------------- - /** * Method description * * - * @return */ - private static User getTestUser() + @BeforeClass + public static void createTestUser() { - if (TESTUSER == null) - { - TESTUSER = UserTestData.createTrillian(); - TESTUSER.setPassword("a.trillian124"); + User trillian = UserTestData.createTrillian(); - Client client = createClient(); + trillian.setPassword("a.trillian124"); - authenticateAdmin(client); + Client client = createClient(); - WebResource wr = createResource(client, "users"); - ClientResponse response = wr.post(ClientResponse.class, TESTUSER); + authenticateAdmin(client); - assertNotNull(response); - assertTrue(response.getStatus() == 201); - response.close(); - logoutClient(client); - client.destroy(); - } + WebResource wr = createResource(client, "users"); + ClientResponse response = wr.post(ClientResponse.class, trillian); - return TESTUSER; + assertNotNull(response); + assertTrue(response.getStatus() == 201); + response.close(); + logoutClient(client); + client.destroy(); } + /** + * Method description + * + */ + @AfterClass + public static void removeTestUser() + { + Client client = createClient(); + + authenticateAdmin(client); + createResource(client, "users/trillian").delete(); + client.destroy(); + } + + //~--- get methods ---------------------------------------------------------- + /** * Method description * diff --git a/scm-webapp/src/test/java/sonia/scm/it/GroupITCase.java b/scm-webapp/src/test/java/sonia/scm/it/GroupITCase.java index 3d95079c89..b83608ae47 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/GroupITCase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/GroupITCase.java @@ -35,6 +35,7 @@ package sonia.scm.it; //~--- non-JDK imports -------------------------------------------------------- +import org.junit.AfterClass; import org.junit.Test; import sonia.scm.group.Group; @@ -45,6 +46,7 @@ import static sonia.scm.it.IntegrationTestUtil.*; //~--- JDK imports ------------------------------------------------------------ +import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.GenericType; import com.sun.jersey.api.client.WebResource; @@ -60,6 +62,21 @@ import java.util.List; public class GroupITCase extends AbstractAdminITCaseBase { + /** + * Method description + * + */ + @AfterClass + public static void cleanup() + { + Client client = createClient(); + + authenticateAdmin(client); + createResource(client, "groups/group-a").delete(); + createResource(client, "groups/group-c").delete(); + client.destroy(); + } + /** * Method description * diff --git a/scm-webapp/src/test/java/sonia/scm/it/GroupPermissionITCase.java b/scm-webapp/src/test/java/sonia/scm/it/GroupPermissionITCase.java index f12c127870..2c038e8687 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/GroupPermissionITCase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/GroupPermissionITCase.java @@ -35,6 +35,7 @@ package sonia.scm.it; //~--- non-JDK imports -------------------------------------------------------- +import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -59,14 +60,6 @@ import com.sun.jersey.api.client.WebResource; public class GroupPermissionITCase extends AbstractPermissionITCaseBase { - /*** - * - * - * Group get failed ???? - * - * - */ - /** * Constructs ... * @@ -80,6 +73,20 @@ public class GroupPermissionITCase extends AbstractPermissionITCaseBase //~--- methods -------------------------------------------------------------- + /** + * Method description + * + */ + @AfterClass + public static void cleanup() + { + Client client = createClient(); + + authenticateAdmin(client); + createResource(client, "groups/test-group").delete(); + client.destroy(); + } + /** * Method description * diff --git a/scm-webapp/src/test/java/sonia/scm/it/RepositoryITCase.java b/scm-webapp/src/test/java/sonia/scm/it/RepositoryITCase.java index c2d883d9d5..c2ab368a96 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/RepositoryITCase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/RepositoryITCase.java @@ -35,6 +35,7 @@ package sonia.scm.it; //~--- non-JDK imports -------------------------------------------------------- +import org.junit.AfterClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -52,6 +53,7 @@ import static sonia.scm.it.IntegrationTestUtil.*; //~--- JDK imports ------------------------------------------------------------ +import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.GenericType; import com.sun.jersey.api.client.WebResource; @@ -81,6 +83,33 @@ public class RepositoryITCase extends AbstractAdminITCaseBase //~--- methods -------------------------------------------------------------- + /** + * Method description + * + */ + @AfterClass + public static void cleanup() + { + Client client = createClient(); + + authenticateAdmin(client); + + Collection repositories = + createResource(client, "repositories").get( + new GenericType>() {} + ); + + if (repositories != null) + { + for (Repository r : repositories) + { + createResource(client, "repositories/" + r.getId()).delete(); + } + } + + client.destroy(); + } + /** * Method description * diff --git a/scm-webapp/src/test/java/sonia/scm/it/RepositorySimplePermissionITCase.java b/scm-webapp/src/test/java/sonia/scm/it/RepositorySimplePermissionITCase.java index 6113040a96..50b42c5a9e 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/RepositorySimplePermissionITCase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/RepositorySimplePermissionITCase.java @@ -35,6 +35,7 @@ package sonia.scm.it; //~--- non-JDK imports -------------------------------------------------------- +import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -121,6 +122,20 @@ public class RepositorySimplePermissionITCase client.destroy(); } + /** + * Method description + * + */ + @AfterClass + public static void removeTestRepoistory() + { + Client client = createClient(); + + authenticateAdmin(client); + createResource(client, "repositories/" + REPOSITORY_UUID).delete(); + client.destroy(); + } + /** * Method description * diff --git a/scm-webapp/src/test/java/sonia/scm/it/UserITCase.java b/scm-webapp/src/test/java/sonia/scm/it/UserITCase.java index 2d126faa17..03fab485a0 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/UserITCase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/UserITCase.java @@ -35,6 +35,7 @@ package sonia.scm.it; //~--- non-JDK imports -------------------------------------------------------- +import org.junit.AfterClass; import org.junit.Test; import sonia.scm.ScmState; @@ -64,6 +65,20 @@ import javax.ws.rs.core.MediaType; public class UserITCase extends AbstractAdminITCaseBase { + /** + * Method description + * + */ + @AfterClass + public static void cleanup() + { + Client client = createClient(); + + authenticateAdmin(client); + createResource(client, "users/slarti").delete(); + client.destroy(); + } + /** * Method description *