From 004cc4e117ed0d1b4d5f377e3921acec17d256f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Thu, 14 Jun 2018 11:18:26 +0200 Subject: [PATCH] Test resource links --- .../scm/api/v2/resources/ResourceLinks.java | 6 +- .../api/v2/resources/ResourceLinksTest.java | 86 +++++++++++++++++++ 2 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 scm-webapp/src/test/java/sonia/scm/api/v2/resources/ResourceLinksTest.java diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResourceLinks.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResourceLinks.java index 4ac369f7ee..e6f1c69063 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResourceLinks.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResourceLinks.java @@ -26,7 +26,7 @@ class ResourceLinks { return groupLinkBuilder.method("getGroupSubResource").parameters(name).method("delete").parameters().href(); } - public String update(String name) { + String update(String name) { return groupLinkBuilder.method("getGroupSubResource").parameters(name).method("update").parameters().href(); } } @@ -50,7 +50,7 @@ class ResourceLinks { return userLinkBuilder.method("getUserSubResource").parameters(name).method("delete").parameters().href(); } - public String update(String name) { + String update(String name) { return userLinkBuilder.method("getUserSubResource").parameters(name).method("update").parameters().href(); } } @@ -70,7 +70,7 @@ class ResourceLinks { return collectionLinkBuilder.method("getUserCollectionResource").parameters().method("getAll").parameters().href(); } - public String create() { + String create() { return collectionLinkBuilder.method("getUserCollectionResource").parameters().method("create").parameters().href(); } } diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ResourceLinksTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ResourceLinksTest.java new file mode 100644 index 0000000000..26bfb08cbb --- /dev/null +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ResourceLinksTest.java @@ -0,0 +1,86 @@ +package sonia.scm.api.v2.resources; + +import org.junit.Before; +import org.junit.Test; + +import javax.ws.rs.core.UriInfo; +import java.net.URI; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static sonia.scm.api.v2.resources.ResourceLinks.group; +import static sonia.scm.api.v2.resources.ResourceLinks.user; +import static sonia.scm.api.v2.resources.ResourceLinks.userCollection; + +public class ResourceLinksTest { + + private static final String BASE_URL = "http://example.com/"; + + private UriInfo uriInfo = mock(UriInfo.class); + + @Test + public void shouldCreateCorrectUserSelfUrl() { + String url = user(uriInfo).self("ich"); + assertEquals(BASE_URL + UserV2Resource.USERS_PATH_V2 + "ich", url); + } + + @Test + public void shouldCreateCorrectUserDeleteUrl() { + String url = user(uriInfo).delete("ich"); + assertEquals(BASE_URL + UserV2Resource.USERS_PATH_V2 + "ich", url); + } + + @Test + public void shouldCreateCorrectUserUpdateUrl() { + String url = user(uriInfo).update("ich"); + assertEquals(BASE_URL + UserV2Resource.USERS_PATH_V2 + "ich", url); + } + + @Test + public void shouldCreateCorrectUserCreateUrl() { + String url = userCollection(uriInfo).create(); + assertEquals(BASE_URL + UserV2Resource.USERS_PATH_V2, url); + } + + @Test + public void shouldCreateCorrectUserCollectionUrl() { + String url = userCollection(uriInfo).self(); + assertEquals(BASE_URL + UserV2Resource.USERS_PATH_V2, url); + } + + @Test + public void shouldCreateCorrectGroupSelfUrl() { + String url = group(uriInfo).self("nobodies"); + assertEquals(BASE_URL + GroupV2Resource.GROUPS_PATH_V2 + "nobodies", url); + } + + @Test + public void shouldCreateCorrectGroupDeleteUrl() { + String url = group(uriInfo).delete("nobodies"); + assertEquals(BASE_URL + GroupV2Resource.GROUPS_PATH_V2 + "nobodies", url); + } + + @Test + public void shouldCreateCorrectGroupUpdateUrl() { + String url = group(uriInfo).update("nobodies"); + assertEquals(BASE_URL + GroupV2Resource.GROUPS_PATH_V2 + "nobodies", url); + } + +// @Test +// public void shouldCreateCorrectGroupCreateUrl() { +// String url = ResourceLinks.groupCollection(uriInfo).create(); +// assertEquals(BASE_URL + GroupV2Resource.GROUPS_PATH_V2, url); +// } +// +// @Test +// public void shouldCreateCorrectGroupCollectionUrl() { +// String url = ResourceLinks.groupCollection(uriInfo).self(); +// assertEquals(BASE_URL + GroupV2Resource.GROUPS_PATH_V2, url); +// } + + @Before + public void initUriInfo() { + when(uriInfo.getBaseUri()).thenReturn(URI.create(BASE_URL)); + } +}