test only available repository types

This commit is contained in:
Sebastian Sdorra
2011-05-13 15:20:34 +02:00
parent c4b831ead3
commit d05ef90956
2 changed files with 31 additions and 11 deletions

View File

@@ -100,7 +100,7 @@ public class IntegrationTestUtil
* *
* @param client * @param client
*/ */
public static void authenticateAdmin(Client client) public static ScmState authenticateAdmin(Client client)
{ {
ClientResponse cr = authenticate(client, "scmadmin", "scmadmin"); ClientResponse cr = authenticate(client, "scmadmin", "scmadmin");
ScmState state = cr.getEntity(ScmState.class); ScmState state = cr.getEntity(ScmState.class);
@@ -119,6 +119,8 @@ public class IntegrationTestUtil
assertNotNull(types); assertNotNull(types);
assertFalse(types.isEmpty()); assertFalse(types.isEmpty());
return state;
} }
/** /**

View File

@@ -42,6 +42,8 @@ import org.junit.runner.RunWith;
import org.junit.runners.Parameterized; import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters; import org.junit.runners.Parameterized.Parameters;
import sonia.scm.ScmState;
import sonia.scm.Type;
import sonia.scm.repository.Permission; import sonia.scm.repository.Permission;
import sonia.scm.repository.PermissionType; import sonia.scm.repository.PermissionType;
import sonia.scm.repository.Repository; import sonia.scm.repository.Repository;
@@ -53,6 +55,8 @@ import sonia.scm.user.User;
import sonia.scm.user.UserTestData; import sonia.scm.user.UserTestData;
import sonia.scm.util.IOUtil; import sonia.scm.util.IOUtil;
import static org.junit.Assert.*;
import static sonia.scm.it.IntegrationTestUtil.*; import static sonia.scm.it.IntegrationTestUtil.*;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
@@ -137,21 +141,35 @@ public class RepositoryExtendedITCase
@Parameters @Parameters
public static Collection<Object[]> createParameters() public static Collection<Object[]> createParameters()
{ {
Client client = createClient();
ScmState state = authenticateAdmin(client);
assertNotNull(state);
assertTrue(state.isSuccess());
Collection<Object[]> params = new ArrayList<Object[]>(); Collection<Object[]> params = new ArrayList<Object[]>();
for (Type t : state.getRepositoryTypes())
{
if (t.getName().equals("git"))
{
Repository gitRepository = createRepository("git", "trillian"); Repository gitRepository = createRepository("git", "trillian");
params.add(new Object[] { gitRepository, "trillian", "secret" }); params.add(new Object[] { gitRepository, "trillian", "secret" });
}
else if (t.getName().equals("svn"))
{
Repository svnRepository = createRepository("svn", "trillian"); Repository svnRepository = createRepository("svn", "trillian");
params.add(new Object[] { svnRepository, "trillian", "secret" }); params.add(new Object[] { svnRepository, "trillian", "secret" });
}
if (IOUtil.search("hg") != null) else if (t.getName().equals("hg"))
{ {
Repository hgRepository = createRepository("hg", "trillian"); Repository hgRepository = createRepository("hg", "trillian");
params.add(new Object[] { hgRepository, "trillian", "secret" }); params.add(new Object[] { hgRepository, "trillian", "secret" });
} }
}
return params; return params;
} }