mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-10 15:35:49 +01:00
Add integration test
This commit is contained in:
48
scm-it/src/test/java/sonia/scm/it/IndexITCase.java
Normal file
48
scm-it/src/test/java/sonia/scm/it/IndexITCase.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package sonia.scm.it;
|
||||
|
||||
import io.restassured.RestAssured;
|
||||
import org.apache.http.HttpStatus;
|
||||
import org.junit.Test;
|
||||
import sonia.scm.it.utils.RestUtil;
|
||||
import sonia.scm.web.VndMediaType;
|
||||
|
||||
import static sonia.scm.it.utils.RegExMatcher.matchesPattern;
|
||||
import static sonia.scm.it.utils.RestUtil.given;
|
||||
|
||||
public class IndexITCase {
|
||||
|
||||
@Test
|
||||
public void shouldLinkEverythingForAdmin() {
|
||||
given(VndMediaType.INDEX)
|
||||
|
||||
.when()
|
||||
.get(RestUtil.createResourceUrl(""))
|
||||
|
||||
.then()
|
||||
.statusCode(HttpStatus.SC_OK)
|
||||
.body(
|
||||
"_links.repositories.href", matchesPattern(".+/repositories/"),
|
||||
"_links.users.href", matchesPattern(".+/users/"),
|
||||
"_links.groups.href", matchesPattern(".+/groups/"),
|
||||
"_links.config.href", matchesPattern(".+/config"),
|
||||
"_links.gitConfig.href", matchesPattern(".+/config/git"),
|
||||
"_links.hgConfig.href", matchesPattern(".+/config/hg"),
|
||||
"_links.svnConfig.href", matchesPattern(".+/config/svn")
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCreateLoginLinksForAnonymousAccess() {
|
||||
RestAssured.given() // do not specify user credentials
|
||||
|
||||
.when()
|
||||
.get(RestUtil.createResourceUrl(""))
|
||||
|
||||
.then()
|
||||
.statusCode(HttpStatus.SC_OK)
|
||||
.body(
|
||||
"_links.formLogin.href", matchesPattern(".+/auth/.+")
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -24,6 +24,6 @@ public class RegExMatcher extends BaseMatcher<String> {
|
||||
|
||||
@Override
|
||||
public boolean matches(Object o) {
|
||||
return Pattern.compile(pattern).matcher(o.toString()).matches();
|
||||
return o != null && Pattern.compile(pattern).matcher(o.toString()).matches();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class IndexDtoGenerator {
|
||||
builder.single(Link.link("groups", resourceLinks.groupCollection().self()));
|
||||
}
|
||||
if (ConfigurationPermissions.list().isPermitted()) {
|
||||
builder.single(Link.link("configuration", resourceLinks.config().self()));
|
||||
builder.single(Link.link("config", resourceLinks.config().self()));
|
||||
}
|
||||
builder.single(Link.link("repositories", resourceLinks.repositoryCollection().self()));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user