diff --git a/scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java b/scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java index 92dbbb8362..cfd339a051 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java +++ b/scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java @@ -100,7 +100,7 @@ public class IntegrationTestUtil * * @param client */ - public static void authenticateAdmin(Client client) + public static ScmState authenticateAdmin(Client client) { ClientResponse cr = authenticate(client, "scmadmin", "scmadmin"); ScmState state = cr.getEntity(ScmState.class); @@ -119,6 +119,8 @@ public class IntegrationTestUtil assertNotNull(types); assertFalse(types.isEmpty()); + + return state; } /** diff --git a/scm-webapp/src/test/java/sonia/scm/it/RepositoryExtendedITCase.java b/scm-webapp/src/test/java/sonia/scm/it/RepositoryExtendedITCase.java index 9f03fc178c..9ad7d00a8c 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/RepositoryExtendedITCase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/RepositoryExtendedITCase.java @@ -42,6 +42,8 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import sonia.scm.ScmState; +import sonia.scm.Type; import sonia.scm.repository.Permission; import sonia.scm.repository.PermissionType; import sonia.scm.repository.Repository; @@ -53,6 +55,8 @@ import sonia.scm.user.User; import sonia.scm.user.UserTestData; import sonia.scm.util.IOUtil; +import static org.junit.Assert.*; + import static sonia.scm.it.IntegrationTestUtil.*; //~--- JDK imports ------------------------------------------------------------ @@ -137,20 +141,34 @@ public class RepositoryExtendedITCase @Parameters public static Collection createParameters() { + Client client = createClient(); + ScmState state = authenticateAdmin(client); + + assertNotNull(state); + assertTrue(state.isSuccess()); + Collection params = new ArrayList(); - Repository gitRepository = createRepository("git", "trillian"); - params.add(new Object[] { gitRepository, "trillian", "secret" }); - - Repository svnRepository = createRepository("svn", "trillian"); - - params.add(new Object[] { svnRepository, "trillian", "secret" }); - - if (IOUtil.search("hg") != null) + for (Type t : state.getRepositoryTypes()) { - Repository hgRepository = createRepository("hg", "trillian"); + if (t.getName().equals("git")) + { + Repository gitRepository = createRepository("git", "trillian"); - params.add(new Object[] { hgRepository, "trillian", "secret" }); + params.add(new Object[] { gitRepository, "trillian", "secret" }); + } + else if (t.getName().equals("svn")) + { + Repository svnRepository = createRepository("svn", "trillian"); + + params.add(new Object[] { svnRepository, "trillian", "secret" }); + } + else if (t.getName().equals("hg")) + { + Repository hgRepository = createRepository("hg", "trillian"); + + params.add(new Object[] { hgRepository, "trillian", "secret" }); + } } return params;