improve integration tests

This commit is contained in:
Sebastian Sdorra
2011-02-21 14:21:44 +01:00
parent 16085e3c5d
commit ef2d5f450d
6 changed files with 123 additions and 36 deletions

View File

@@ -36,7 +36,9 @@ package sonia.scm.it;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import org.junit.After; import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runners.Parameterized.Parameters; import org.junit.runners.Parameterized.Parameters;
@@ -65,11 +67,6 @@ import java.util.Collection;
public abstract class AbstractPermissionITCaseBase<T> public abstract class AbstractPermissionITCaseBase<T>
{ {
/** Field description */
public static User TESTUSER = null;
//~--- constructors ---------------------------------------------------------
/** /**
* Constructs ... * Constructs ...
* *
@@ -96,47 +93,54 @@ public abstract class AbstractPermissionITCaseBase<T>
Collection<Credentials[]> params = new ArrayList<Credentials[]>(); Collection<Credentials[]> params = new ArrayList<Credentials[]>();
params.add(new Credentials[] { new Credentials() }); params.add(new Credentials[] { new Credentials() });
User dent = getTestUser();
params.add(new Credentials[] { params.add(new Credentials[] {
new Credentials(dent.getName(), dent.getPassword()) }); new Credentials("trillian", "a.trillian124") });
return params; return params;
} }
//~--- get methods ----------------------------------------------------------
/** /**
* Method description * Method description
* *
* *
* @return
*/ */
private static User getTestUser() @BeforeClass
public static void createTestUser()
{ {
if (TESTUSER == null) User trillian = UserTestData.createTrillian();
{
TESTUSER = UserTestData.createTrillian();
TESTUSER.setPassword("a.trillian124");
Client client = createClient(); trillian.setPassword("a.trillian124");
authenticateAdmin(client); Client client = createClient();
WebResource wr = createResource(client, "users"); authenticateAdmin(client);
ClientResponse response = wr.post(ClientResponse.class, TESTUSER);
assertNotNull(response); WebResource wr = createResource(client, "users");
assertTrue(response.getStatus() == 201); ClientResponse response = wr.post(ClientResponse.class, trillian);
response.close();
logoutClient(client);
client.destroy();
}
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 * Method description
* *

View File

@@ -35,6 +35,7 @@ package sonia.scm.it;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import org.junit.AfterClass;
import org.junit.Test; import org.junit.Test;
import sonia.scm.group.Group; import sonia.scm.group.Group;
@@ -45,6 +46,7 @@ import static sonia.scm.it.IntegrationTestUtil.*;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.GenericType; import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.WebResource; import com.sun.jersey.api.client.WebResource;
@@ -60,6 +62,21 @@ import java.util.List;
public class GroupITCase extends AbstractAdminITCaseBase 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 * Method description
* *

View File

@@ -35,6 +35,7 @@ package sonia.scm.it;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import org.junit.AfterClass;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.Parameterized; import org.junit.runners.Parameterized;
@@ -59,14 +60,6 @@ import com.sun.jersey.api.client.WebResource;
public class GroupPermissionITCase extends AbstractPermissionITCaseBase<Group> public class GroupPermissionITCase extends AbstractPermissionITCaseBase<Group>
{ {
/***
*
*
* Group get failed ????
*
*
*/
/** /**
* Constructs ... * Constructs ...
* *
@@ -80,6 +73,20 @@ public class GroupPermissionITCase extends AbstractPermissionITCaseBase<Group>
//~--- methods -------------------------------------------------------------- //~--- methods --------------------------------------------------------------
/**
* Method description
*
*/
@AfterClass
public static void cleanup()
{
Client client = createClient();
authenticateAdmin(client);
createResource(client, "groups/test-group").delete();
client.destroy();
}
/** /**
* Method description * Method description
* *

View File

@@ -35,6 +35,7 @@ package sonia.scm.it;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import org.junit.AfterClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.Parameterized; import org.junit.runners.Parameterized;
@@ -52,6 +53,7 @@ import static sonia.scm.it.IntegrationTestUtil.*;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.GenericType; import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.WebResource; import com.sun.jersey.api.client.WebResource;
@@ -81,6 +83,33 @@ public class RepositoryITCase extends AbstractAdminITCaseBase
//~--- methods -------------------------------------------------------------- //~--- methods --------------------------------------------------------------
/**
* Method description
*
*/
@AfterClass
public static void cleanup()
{
Client client = createClient();
authenticateAdmin(client);
Collection<Repository> repositories =
createResource(client, "repositories").get(
new GenericType<Collection<Repository>>() {}
);
if (repositories != null)
{
for (Repository r : repositories)
{
createResource(client, "repositories/" + r.getId()).delete();
}
}
client.destroy();
}
/** /**
* Method description * Method description
* *

View File

@@ -35,6 +35,7 @@ package sonia.scm.it;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import org.junit.AfterClass;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.Parameterized; import org.junit.runners.Parameterized;
@@ -121,6 +122,20 @@ public class RepositorySimplePermissionITCase
client.destroy(); client.destroy();
} }
/**
* Method description
*
*/
@AfterClass
public static void removeTestRepoistory()
{
Client client = createClient();
authenticateAdmin(client);
createResource(client, "repositories/" + REPOSITORY_UUID).delete();
client.destroy();
}
/** /**
* Method description * Method description
* *

View File

@@ -35,6 +35,7 @@ package sonia.scm.it;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import org.junit.AfterClass;
import org.junit.Test; import org.junit.Test;
import sonia.scm.ScmState; import sonia.scm.ScmState;
@@ -64,6 +65,20 @@ import javax.ws.rs.core.MediaType;
public class UserITCase extends AbstractAdminITCaseBase 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 * Method description
* *