mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-17 10:41:06 +01:00
Simplify link building
This commit is contained in:
@@ -12,7 +12,7 @@ import static org.junit.Assert.assertEquals;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class LinkMapBuilderTest {
|
||||
public class LinkBuilderTest {
|
||||
|
||||
@Path("base")
|
||||
public static class Main {
|
||||
@@ -41,52 +41,60 @@ public class LinkMapBuilderTest {
|
||||
|
||||
@Test
|
||||
public void shouldBuildSimplePath() {
|
||||
LinkMapBuilder builder = new LinkMapBuilder(uriInfo, Main.class);
|
||||
builder
|
||||
.add("link")
|
||||
.method("sub")
|
||||
.parameters("param_x");
|
||||
LinkBuilder builder = new LinkBuilder(uriInfo, Main.class);
|
||||
|
||||
URI actual = builder.getLinkMap().get("link").getHref();
|
||||
URI actual = builder
|
||||
.method("sub")
|
||||
.parameters("param_x")
|
||||
.create()
|
||||
.getHref();
|
||||
assertEquals("http://example.com/base/main/param_x", actual.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldBuildPathOverSubResources() {
|
||||
LinkMapBuilder builder = new LinkMapBuilder(uriInfo, Main.class, Sub.class);
|
||||
builder
|
||||
.add("link")
|
||||
LinkBuilder builder = new LinkBuilder(uriInfo, Main.class, Sub.class);
|
||||
|
||||
URI actual = builder
|
||||
.method("sub")
|
||||
.parameters("param_x")
|
||||
.method("x")
|
||||
.parameters("param_y", "param_z");
|
||||
|
||||
URI actual = builder.getLinkMap().get("link").getHref();
|
||||
.parameters("param_y", "param_z")
|
||||
.create()
|
||||
.getHref();
|
||||
assertEquals("http://example.com/base/main/param_x/sub/param_y/param_z", actual.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldBuildPathWithoutParameters() {
|
||||
LinkMapBuilder builder = new LinkMapBuilder(uriInfo, NoParam.class);
|
||||
builder
|
||||
.add("link")
|
||||
.method("get")
|
||||
.parameters();
|
||||
LinkBuilder builder = new LinkBuilder(uriInfo, NoParam.class);
|
||||
|
||||
URI actual = builder.getLinkMap().get("link").getHref();
|
||||
URI actual = builder
|
||||
.method("get")
|
||||
.parameters()
|
||||
.create()
|
||||
.getHref();
|
||||
assertEquals("http://example.com/base", actual.toString());
|
||||
}
|
||||
|
||||
@Test(expected = IllegalStateException.class)
|
||||
public void shouldFailForTooManyMethods() {
|
||||
LinkMapBuilder builder = new LinkMapBuilder(uriInfo, Main.class);
|
||||
LinkBuilder builder = new LinkBuilder(uriInfo, Main.class);
|
||||
builder
|
||||
.add("link")
|
||||
.method("sub")
|
||||
.parameters("param_x")
|
||||
.method("x");
|
||||
}
|
||||
|
||||
@Test(expected = IllegalStateException.class)
|
||||
public void shouldFailForTooFewMethods() {
|
||||
LinkBuilder builder = new LinkBuilder(uriInfo, Main.class, Sub.class);
|
||||
builder
|
||||
.method("sub")
|
||||
.parameters("param_x")
|
||||
.create();
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setBaseUri() throws URISyntaxException {
|
||||
when(uriInfo.getBaseUri()).thenReturn(new URI("http://example.com/"));
|
||||
Reference in New Issue
Block a user