mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-01 11:05:56 +01:00
Add missing unit tests
This commit is contained in:
@@ -0,0 +1,64 @@
|
|||||||
|
package sonia.scm.api.v2.resources;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
|
import com.github.sdorra.shiro.ShiroRule;
|
||||||
|
import com.github.sdorra.shiro.SubjectAware;
|
||||||
|
import com.google.inject.util.Providers;
|
||||||
|
import org.junit.Rule;
|
||||||
|
import org.junit.Test;
|
||||||
|
import sonia.scm.web.JsonEnricherContext;
|
||||||
|
import sonia.scm.web.VndMediaType;
|
||||||
|
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
import java.net.URI;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
@SubjectAware(configuration = "classpath:sonia/scm/configuration/shiro.ini")
|
||||||
|
public class GitConfigInIndexResourceTest {
|
||||||
|
|
||||||
|
@Rule
|
||||||
|
public final ShiroRule shiroRule = new ShiroRule();
|
||||||
|
|
||||||
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
private final ObjectNode root = objectMapper.createObjectNode();
|
||||||
|
private final GitConfigInIndexResource gitConfigInIndexResource;
|
||||||
|
|
||||||
|
public GitConfigInIndexResourceTest() {
|
||||||
|
root.put("_links", objectMapper.createObjectNode());
|
||||||
|
ScmPathInfoStore pathInfoStore = new ScmPathInfoStore();
|
||||||
|
pathInfoStore.set(() -> URI.create("/"));
|
||||||
|
gitConfigInIndexResource = new GitConfigInIndexResource(Providers.of(pathInfoStore), objectMapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@SubjectAware(username = "admin", password = "secret")
|
||||||
|
public void admin() {
|
||||||
|
JsonEnricherContext context = new JsonEnricherContext(URI.create("/index"), MediaType.valueOf(VndMediaType.INDEX), root);
|
||||||
|
|
||||||
|
gitConfigInIndexResource.enrich(context);
|
||||||
|
|
||||||
|
System.out.println(root);
|
||||||
|
assertEquals("/v2/config/git", root.get("_links").get("gitConfig").get("href").asText());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@SubjectAware(username = "readOnly", password = "secret")
|
||||||
|
public void user() {
|
||||||
|
JsonEnricherContext context = new JsonEnricherContext(URI.create("/index"), MediaType.valueOf(VndMediaType.INDEX), root);
|
||||||
|
|
||||||
|
gitConfigInIndexResource.enrich(context);
|
||||||
|
|
||||||
|
System.out.println(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void anonymous() {
|
||||||
|
JsonEnricherContext context = new JsonEnricherContext(URI.create("/index"), MediaType.valueOf(VndMediaType.INDEX), root);
|
||||||
|
|
||||||
|
gitConfigInIndexResource.enrich(context);
|
||||||
|
|
||||||
|
System.out.println(root);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,8 +2,10 @@
|
|||||||
readOnly = secret, reader
|
readOnly = secret, reader
|
||||||
writeOnly = secret, writer
|
writeOnly = secret, writer
|
||||||
readWrite = secret, readerWriter
|
readWrite = secret, readerWriter
|
||||||
|
admin = secret, admin
|
||||||
|
|
||||||
[roles]
|
[roles]
|
||||||
reader = configuration:read:git
|
reader = configuration:read:git
|
||||||
writer = configuration:write:git
|
writer = configuration:write:git
|
||||||
readerWriter = configuration:*:git
|
readerWriter = configuration:*:git
|
||||||
|
admin = *
|
||||||
|
|||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package sonia.scm.api.v2.resources;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
|
import com.github.sdorra.shiro.ShiroRule;
|
||||||
|
import com.github.sdorra.shiro.SubjectAware;
|
||||||
|
import com.google.inject.util.Providers;
|
||||||
|
import org.junit.Rule;
|
||||||
|
import org.junit.Test;
|
||||||
|
import sonia.scm.web.JsonEnricherContext;
|
||||||
|
import sonia.scm.web.VndMediaType;
|
||||||
|
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
import java.net.URI;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
@SubjectAware(configuration = "classpath:sonia/scm/configuration/shiro.ini")
|
||||||
|
public class HgConfigInIndexResourceTest {
|
||||||
|
|
||||||
|
@Rule
|
||||||
|
public final ShiroRule shiroRule = new ShiroRule();
|
||||||
|
|
||||||
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
private final ObjectNode root = objectMapper.createObjectNode();
|
||||||
|
private final HgConfigInIndexResource hgConfigInIndexResource;
|
||||||
|
|
||||||
|
public HgConfigInIndexResourceTest() {
|
||||||
|
root.put("_links", objectMapper.createObjectNode());
|
||||||
|
ScmPathInfoStore pathInfoStore = new ScmPathInfoStore();
|
||||||
|
pathInfoStore.set(() -> URI.create("/"));
|
||||||
|
hgConfigInIndexResource = new HgConfigInIndexResource(Providers.of(pathInfoStore), objectMapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@SubjectAware(username = "admin", password = "secret")
|
||||||
|
public void admin() {
|
||||||
|
JsonEnricherContext context = new JsonEnricherContext(URI.create("/index"), MediaType.valueOf(VndMediaType.INDEX), root);
|
||||||
|
|
||||||
|
hgConfigInIndexResource.enrich(context);
|
||||||
|
|
||||||
|
System.out.println(root);
|
||||||
|
assertEquals("/v2/config/hg", root.get("_links").get("hgConfig").get("href").asText());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@SubjectAware(username = "readOnly", password = "secret")
|
||||||
|
public void user() {
|
||||||
|
JsonEnricherContext context = new JsonEnricherContext(URI.create("/index"), MediaType.valueOf(VndMediaType.INDEX), root);
|
||||||
|
|
||||||
|
hgConfigInIndexResource.enrich(context);
|
||||||
|
|
||||||
|
System.out.println(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void anonymous() {
|
||||||
|
JsonEnricherContext context = new JsonEnricherContext(URI.create("/index"), MediaType.valueOf(VndMediaType.INDEX), root);
|
||||||
|
|
||||||
|
hgConfigInIndexResource.enrich(context);
|
||||||
|
|
||||||
|
System.out.println(root);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,8 +2,10 @@
|
|||||||
readOnly = secret, reader
|
readOnly = secret, reader
|
||||||
writeOnly = secret, writer
|
writeOnly = secret, writer
|
||||||
readWrite = secret, readerWriter
|
readWrite = secret, readerWriter
|
||||||
|
admin = secret, admin
|
||||||
|
|
||||||
[roles]
|
[roles]
|
||||||
reader = configuration:read:hg
|
reader = configuration:read:hg
|
||||||
writer = configuration:write:hg
|
writer = configuration:write:hg
|
||||||
readerWriter = configuration:*:hg
|
readerWriter = configuration:*:hg
|
||||||
|
admin = *
|
||||||
|
|||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package sonia.scm.api.v2.resources;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
|
import com.github.sdorra.shiro.ShiroRule;
|
||||||
|
import com.github.sdorra.shiro.SubjectAware;
|
||||||
|
import com.google.inject.util.Providers;
|
||||||
|
import org.junit.Rule;
|
||||||
|
import org.junit.Test;
|
||||||
|
import sonia.scm.web.JsonEnricherContext;
|
||||||
|
import sonia.scm.web.VndMediaType;
|
||||||
|
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
import java.net.URI;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
@SubjectAware(configuration = "classpath:sonia/scm/configuration/shiro.ini")
|
||||||
|
public class SvnConfigInIndexResourceTest {
|
||||||
|
|
||||||
|
@Rule
|
||||||
|
public final ShiroRule shiroRule = new ShiroRule();
|
||||||
|
|
||||||
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
private final ObjectNode root = objectMapper.createObjectNode();
|
||||||
|
private final SvnConfigInIndexResource svnConfigInIndexResource;
|
||||||
|
|
||||||
|
public SvnConfigInIndexResourceTest() {
|
||||||
|
root.put("_links", objectMapper.createObjectNode());
|
||||||
|
ScmPathInfoStore pathInfoStore = new ScmPathInfoStore();
|
||||||
|
pathInfoStore.set(() -> URI.create("/"));
|
||||||
|
svnConfigInIndexResource = new SvnConfigInIndexResource(Providers.of(pathInfoStore), objectMapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@SubjectAware(username = "admin", password = "secret")
|
||||||
|
public void admin() {
|
||||||
|
JsonEnricherContext context = new JsonEnricherContext(URI.create("/index"), MediaType.valueOf(VndMediaType.INDEX), root);
|
||||||
|
|
||||||
|
svnConfigInIndexResource.enrich(context);
|
||||||
|
|
||||||
|
System.out.println(root);
|
||||||
|
assertEquals("/v2/config/svn", root.get("_links").get("svnConfig").get("href").asText());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@SubjectAware(username = "readOnly", password = "secret")
|
||||||
|
public void user() {
|
||||||
|
JsonEnricherContext context = new JsonEnricherContext(URI.create("/index"), MediaType.valueOf(VndMediaType.INDEX), root);
|
||||||
|
|
||||||
|
svnConfigInIndexResource.enrich(context);
|
||||||
|
|
||||||
|
System.out.println(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void anonymous() {
|
||||||
|
JsonEnricherContext context = new JsonEnricherContext(URI.create("/index"), MediaType.valueOf(VndMediaType.INDEX), root);
|
||||||
|
|
||||||
|
svnConfigInIndexResource.enrich(context);
|
||||||
|
|
||||||
|
System.out.println(root);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,8 +2,10 @@
|
|||||||
readOnly = secret, reader
|
readOnly = secret, reader
|
||||||
writeOnly = secret, writer
|
writeOnly = secret, writer
|
||||||
readWrite = secret, readerWriter
|
readWrite = secret, readerWriter
|
||||||
|
admin = secret, admin
|
||||||
|
|
||||||
[roles]
|
[roles]
|
||||||
reader = configuration:read:svn
|
reader = configuration:read:svn
|
||||||
writer = configuration:write:svn
|
writer = configuration:write:svn
|
||||||
readerWriter = configuration:*:svn
|
readerWriter = configuration:*:svn
|
||||||
|
admin = *
|
||||||
|
|||||||
Reference in New Issue
Block a user