From f718a2ba4c2cdc4e7030558824a076a4b6095464 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Wed, 12 Sep 2018 08:40:41 +0200 Subject: [PATCH] Remove direct dependency to UriInfo --- .../scm/api/v2/resources/LinkBuilder.java | 9 ++--- .../scm/api/v2/resources/ScmPathInfo.java | 7 ++++ .../scm/api/v2/resources/UriInfoStore.java | 5 ++- .../InitializingHttpScmProtocolWrapper.java | 2 +- .../v2/resources/GitConfigResourceTest.java | 2 +- .../GitConfigToGitConfigDtoMapperTest.java | 2 +- .../HgConfigInstallationsResourceTest.java | 2 +- .../HgConfigInstallationsToDtoMapperTest.java | 2 +- .../HgConfigPackageResourceTest.java | 2 +- .../HgConfigPackagesToDtoMapperTest.java | 5 +-- .../v2/resources/HgConfigResourceTest.java | 2 +- .../HgConfigToHgConfigDtoMapperTest.java | 2 +- .../v2/resources/SvnConfigResourceTest.java | 2 +- .../SvnConfigToSvnConfigDtoMapperTest.java | 2 +- .../scm/api/v2/resources/ResourceLinks.java | 39 +++++++++---------- .../scm/api/v2/resources/LinkBuilderTest.java | 5 +-- .../scm/api/v2/resources/MeResourceTest.java | 5 +-- .../resources/RepositoryRootResourceTest.java | 5 +-- .../RepositoryToRepositoryDtoMapperTest.java | 5 +-- .../api/v2/resources/ResourceLinksMock.java | 5 +-- .../api/v2/resources/ResourceLinksTest.java | 5 +-- .../api/v2/resources/UriInfoStoreTest.java | 9 ++++- 22 files changed, 64 insertions(+), 60 deletions(-) create mode 100644 scm-core/src/main/java/sonia/scm/api/v2/resources/ScmPathInfo.java diff --git a/scm-core/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java b/scm-core/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java index 6f6831b058..13ae04b093 100644 --- a/scm-core/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java +++ b/scm-core/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java @@ -3,7 +3,6 @@ package sonia.scm.api.v2.resources; import com.google.common.collect.ImmutableList; import javax.ws.rs.core.UriBuilder; -import javax.ws.rs.core.UriInfo; import java.net.URI; import java.util.Arrays; @@ -25,15 +24,15 @@ import java.util.Arrays; */ @SuppressWarnings("WeakerAccess") // Non-public will result in IllegalAccessError for plugins public class LinkBuilder { - private final UriInfo uriInfo; + private final ScmPathInfo uriInfo; private final Class[] classes; private final ImmutableList calls; - public LinkBuilder(UriInfo uriInfo, Class... classes) { + public LinkBuilder(ScmPathInfo uriInfo, Class... classes) { this(uriInfo, classes, ImmutableList.of()); } - private LinkBuilder(UriInfo uriInfo, Class[] classes, ImmutableList calls) { + private LinkBuilder(ScmPathInfo uriInfo, Class[] classes, ImmutableList calls) { this.uriInfo = uriInfo; this.classes = classes; this.calls = calls; @@ -51,7 +50,7 @@ public class LinkBuilder { throw new IllegalStateException("not enough methods for all classes"); } - URI baseUri = uriInfo.getBaseUri(); + URI baseUri = uriInfo.getApiRestUri(); URI relativeUri = createRelativeUri(); return baseUri.resolve(relativeUri); } diff --git a/scm-core/src/main/java/sonia/scm/api/v2/resources/ScmPathInfo.java b/scm-core/src/main/java/sonia/scm/api/v2/resources/ScmPathInfo.java new file mode 100644 index 0000000000..0afb379eed --- /dev/null +++ b/scm-core/src/main/java/sonia/scm/api/v2/resources/ScmPathInfo.java @@ -0,0 +1,7 @@ +package sonia.scm.api.v2.resources; + +import java.net.URI; + +public interface ScmPathInfo { + URI getApiRestUri(); +} diff --git a/scm-core/src/main/java/sonia/scm/api/v2/resources/UriInfoStore.java b/scm-core/src/main/java/sonia/scm/api/v2/resources/UriInfoStore.java index 2f61383cfd..5193ea6937 100644 --- a/scm-core/src/main/java/sonia/scm/api/v2/resources/UriInfoStore.java +++ b/scm-core/src/main/java/sonia/scm/api/v2/resources/UriInfoStore.java @@ -6,8 +6,8 @@ public class UriInfoStore { private UriInfo uriInfo; - public UriInfo get() { - return uriInfo; + public ScmPathInfo get() { + return () -> uriInfo.getBaseUri(); } public void set(UriInfo uriInfo) { @@ -16,4 +16,5 @@ public class UriInfoStore { } this.uriInfo = uriInfo; } + } diff --git a/scm-core/src/main/java/sonia/scm/repository/spi/InitializingHttpScmProtocolWrapper.java b/scm-core/src/main/java/sonia/scm/repository/spi/InitializingHttpScmProtocolWrapper.java index 6e6a3cb512..651e4b3a7d 100644 --- a/scm-core/src/main/java/sonia/scm/repository/spi/InitializingHttpScmProtocolWrapper.java +++ b/scm-core/src/main/java/sonia/scm/repository/spi/InitializingHttpScmProtocolWrapper.java @@ -39,7 +39,7 @@ public abstract class InitializingHttpScmProtocolWrapper { private String computeBasePath() { if (uriInfoStore.get() != null && uriInfoStore.get().get() != null) { - return uriInfoStore.get().get().getBaseUri().resolve("../..").toASCIIString(); + return uriInfoStore.get().get().getApiRestUri().resolve("../..").toASCIIString(); } else { return scmConfiguration.getBaseUrl(); } diff --git a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/api/v2/resources/GitConfigResourceTest.java b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/api/v2/resources/GitConfigResourceTest.java index 42790ea7a4..44603a65d3 100644 --- a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/api/v2/resources/GitConfigResourceTest.java +++ b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/api/v2/resources/GitConfigResourceTest.java @@ -67,7 +67,7 @@ public class GitConfigResourceTest { when(repositoryHandler.getConfig()).thenReturn(gitConfig); GitConfigResource gitConfigResource = new GitConfigResource(dtoToConfigMapper, configToDtoMapper, repositoryHandler); dispatcher.getRegistry().addSingletonResource(gitConfigResource); - when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri); + when(uriInfoStore.get().getApiRestUri()).thenReturn(baseUri); } @Test diff --git a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/api/v2/resources/GitConfigToGitConfigDtoMapperTest.java b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/api/v2/resources/GitConfigToGitConfigDtoMapperTest.java index 51fded4839..903ee4e653 100644 --- a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/api/v2/resources/GitConfigToGitConfigDtoMapperTest.java +++ b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/api/v2/resources/GitConfigToGitConfigDtoMapperTest.java @@ -40,7 +40,7 @@ public class GitConfigToGitConfigDtoMapperTest { @Before public void init() { - when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri); + when(uriInfoStore.get().getApiRestUri()).thenReturn(baseUri); expectedBaseUri = baseUri.resolve(GitConfigResource.GIT_CONFIG_PATH_V2); subjectThreadState.bind(); ThreadContext.bind(subject); diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigInstallationsResourceTest.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigInstallationsResourceTest.java index 540a5b6757..748b2c1b6e 100644 --- a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigInstallationsResourceTest.java +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigInstallationsResourceTest.java @@ -61,7 +61,7 @@ public class HgConfigInstallationsResourceTest { new HgConfigResource(null, null, null, null, null, resourceProvider)); - when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri); + when(uriInfoStore.get().getApiRestUri()).thenReturn(baseUri); } @Test diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigInstallationsToDtoMapperTest.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigInstallationsToDtoMapperTest.java index 34048f80b2..fcc90ee4e6 100644 --- a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigInstallationsToDtoMapperTest.java +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigInstallationsToDtoMapperTest.java @@ -34,7 +34,7 @@ public class HgConfigInstallationsToDtoMapperTest { @Before public void init() { - when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri); + when(uriInfoStore.get().getApiRestUri()).thenReturn(baseUri); expectedBaseUri = baseUri.resolve(HgConfigResource.HG_CONFIG_PATH_V2 + "/installations/" + expectedPath); } diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigPackageResourceTest.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigPackageResourceTest.java index 044897ad80..f24b30f515 100644 --- a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigPackageResourceTest.java +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigPackageResourceTest.java @@ -81,7 +81,7 @@ public class HgConfigPackageResourceTest { public void prepareEnvironment() { setupResources(); - when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri); + when(uriInfoStore.get().getApiRestUri()).thenReturn(baseUri); when(hgPackageReader.getPackages().getPackages()).thenReturn(createPackages()); } diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigPackagesToDtoMapperTest.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigPackagesToDtoMapperTest.java index 671d9fb7e1..0773499462 100644 --- a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigPackagesToDtoMapperTest.java +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigPackagesToDtoMapperTest.java @@ -1,6 +1,5 @@ package sonia.scm.api.v2.resources; -import de.otto.edison.hal.HalRepresentation; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -13,12 +12,10 @@ import sonia.scm.installer.HgPackages; import java.net.URI; import java.util.Arrays; -import java.util.Collection; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; import static sonia.scm.api.v2.resources.HgConfigTests.assertEqualsPackage; import static sonia.scm.api.v2.resources.HgConfigTests.createPackage; @@ -38,7 +35,7 @@ public class HgConfigPackagesToDtoMapperTest { @Before public void init() { - when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri); + when(uriInfoStore.get().getApiRestUri()).thenReturn(baseUri); expectedBaseUri = baseUri.resolve(HgConfigResource.HG_CONFIG_PATH_V2 + "/packages"); } diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigResourceTest.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigResourceTest.java index 11a0fb55f9..aa29603ff1 100644 --- a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigResourceTest.java +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigResourceTest.java @@ -79,7 +79,7 @@ public class HgConfigResourceTest { new HgConfigResource(dtoToConfigMapper, configToDtoMapper, repositoryHandler, packagesResource, autoconfigResource, installationsResource); dispatcher.getRegistry().addSingletonResource(gitConfigResource); - when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri); + when(uriInfoStore.get().getApiRestUri()).thenReturn(baseUri); } @Test diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigToHgConfigDtoMapperTest.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigToHgConfigDtoMapperTest.java index a12e95926c..3f22c12f86 100644 --- a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigToHgConfigDtoMapperTest.java +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/api/v2/resources/HgConfigToHgConfigDtoMapperTest.java @@ -41,7 +41,7 @@ public class HgConfigToHgConfigDtoMapperTest { @Before public void init() { - when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri); + when(uriInfoStore.get().getApiRestUri()).thenReturn(baseUri); expectedBaseUri = baseUri.resolve(HgConfigResource.HG_CONFIG_PATH_V2); subjectThreadState.bind(); ThreadContext.bind(subject); diff --git a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/api/v2/resources/SvnConfigResourceTest.java b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/api/v2/resources/SvnConfigResourceTest.java index de4d654910..67f3e47950 100644 --- a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/api/v2/resources/SvnConfigResourceTest.java +++ b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/api/v2/resources/SvnConfigResourceTest.java @@ -67,7 +67,7 @@ public class SvnConfigResourceTest { when(repositoryHandler.getConfig()).thenReturn(gitConfig); SvnConfigResource gitConfigResource = new SvnConfigResource(dtoToConfigMapper, configToDtoMapper, repositoryHandler); dispatcher.getRegistry().addSingletonResource(gitConfigResource); - when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri); + when(uriInfoStore.get().getApiRestUri()).thenReturn(baseUri); } @Test diff --git a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/api/v2/resources/SvnConfigToSvnConfigDtoMapperTest.java b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/api/v2/resources/SvnConfigToSvnConfigDtoMapperTest.java index de7b0ecd31..cfe2c59772 100644 --- a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/api/v2/resources/SvnConfigToSvnConfigDtoMapperTest.java +++ b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/api/v2/resources/SvnConfigToSvnConfigDtoMapperTest.java @@ -42,7 +42,7 @@ public class SvnConfigToSvnConfigDtoMapperTest { @Before public void init() { - when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri); + when(uriInfoStore.get().getApiRestUri()).thenReturn(baseUri); expectedBaseUri = baseUri.resolve(SvnConfigResource.SVN_CONFIG_PATH_V2); subjectThreadState.bind(); ThreadContext.bind(subject); 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 11258745a8..7059ea257d 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 @@ -3,7 +3,6 @@ package sonia.scm.api.v2.resources; import sonia.scm.repository.NamespaceAndName; import javax.inject.Inject; -import javax.ws.rs.core.UriInfo; import java.net.URI; class ResourceLinks { @@ -23,7 +22,7 @@ class ResourceLinks { static class GroupLinks { private final LinkBuilder groupLinkBuilder; - GroupLinks(UriInfo uriInfo) { + GroupLinks(ScmPathInfo uriInfo) { groupLinkBuilder = new LinkBuilder(uriInfo, GroupRootResource.class, GroupResource.class); } @@ -47,7 +46,7 @@ class ResourceLinks { static class GroupCollectionLinks { private final LinkBuilder collectionLinkBuilder; - GroupCollectionLinks(UriInfo uriInfo) { + GroupCollectionLinks(ScmPathInfo uriInfo) { collectionLinkBuilder = new LinkBuilder(uriInfo, GroupRootResource.class, GroupCollectionResource.class); } @@ -67,7 +66,7 @@ class ResourceLinks { static class UserLinks { private final LinkBuilder userLinkBuilder; - UserLinks(UriInfo uriInfo) { + UserLinks(ScmPathInfo uriInfo) { userLinkBuilder = new LinkBuilder(uriInfo, UserRootResource.class, UserResource.class); } @@ -91,7 +90,7 @@ class ResourceLinks { static class UserCollectionLinks { private final LinkBuilder collectionLinkBuilder; - UserCollectionLinks(UriInfo uriInfo) { + UserCollectionLinks(ScmPathInfo uriInfo) { collectionLinkBuilder = new LinkBuilder(uriInfo, UserRootResource.class, UserCollectionResource.class); } @@ -111,7 +110,7 @@ class ResourceLinks { static class ConfigLinks { private final LinkBuilder configLinkBuilder; - ConfigLinks(UriInfo uriInfo) { + ConfigLinks(ScmPathInfo uriInfo) { configLinkBuilder = new LinkBuilder(uriInfo, ConfigResource.class); } @@ -130,9 +129,9 @@ class ResourceLinks { static class RepositoryLinks { private final LinkBuilder repositoryLinkBuilder; - private final UriInfo uriInfo; + private final ScmPathInfo uriInfo; - RepositoryLinks(UriInfo uriInfo) { + RepositoryLinks(ScmPathInfo uriInfo) { repositoryLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class); this.uriInfo = uriInfo; } @@ -157,7 +156,7 @@ class ResourceLinks { static class RepositoryCollectionLinks { private final LinkBuilder collectionLinkBuilder; - RepositoryCollectionLinks(UriInfo uriInfo) { + RepositoryCollectionLinks(ScmPathInfo uriInfo) { collectionLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryCollectionResource.class); } @@ -177,7 +176,7 @@ class ResourceLinks { static class RepositoryTypeLinks { private final LinkBuilder repositoryTypeLinkBuilder; - RepositoryTypeLinks(UriInfo uriInfo) { + RepositoryTypeLinks(ScmPathInfo uriInfo) { repositoryTypeLinkBuilder = new LinkBuilder(uriInfo, RepositoryTypeRootResource.class, RepositoryTypeResource.class); } @@ -193,7 +192,7 @@ class ResourceLinks { static class RepositoryTypeCollectionLinks { private final LinkBuilder collectionLinkBuilder; - RepositoryTypeCollectionLinks(UriInfo uriInfo) { + RepositoryTypeCollectionLinks(ScmPathInfo uriInfo) { collectionLinkBuilder = new LinkBuilder(uriInfo, RepositoryTypeRootResource.class, RepositoryTypeCollectionResource.class); } @@ -210,7 +209,7 @@ class ResourceLinks { static class TagCollectionLinks { private final LinkBuilder tagLinkBuilder; - TagCollectionLinks(UriInfo uriInfo) { + TagCollectionLinks(ScmPathInfo uriInfo) { tagLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, TagRootResource.class); } @@ -230,7 +229,7 @@ class ResourceLinks { static class DiffLinks { private final LinkBuilder diffLinkBuilder; - DiffLinks(UriInfo uriInfo) { + DiffLinks(ScmPathInfo uriInfo) { diffLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, DiffRootResource.class); } @@ -250,7 +249,7 @@ class ResourceLinks { static class BranchLinks { private final LinkBuilder branchLinkBuilder; - BranchLinks(UriInfo uriInfo) { + BranchLinks(ScmPathInfo uriInfo) { branchLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, BranchRootResource.class); } @@ -270,7 +269,7 @@ class ResourceLinks { static class BranchCollectionLinks { private final LinkBuilder branchLinkBuilder; - BranchCollectionLinks(UriInfo uriInfo) { + BranchCollectionLinks(ScmPathInfo uriInfo) { branchLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, BranchRootResource.class); } @@ -286,7 +285,7 @@ class ResourceLinks { static class ChangesetLinks { private final LinkBuilder changesetLinkBuilder; - ChangesetLinks(UriInfo uriInfo) { + ChangesetLinks(ScmPathInfo uriInfo) { changesetLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, ChangesetRootResource.class); } @@ -310,7 +309,7 @@ class ResourceLinks { static class SourceLinks { private final LinkBuilder sourceLinkBuilder; - SourceLinks(UriInfo uriInfo) { + SourceLinks(ScmPathInfo uriInfo) { sourceLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, SourceRootResource.class); } @@ -346,7 +345,7 @@ class ResourceLinks { static class PermissionLinks { private final LinkBuilder permissionLinkBuilder; - PermissionLinks(UriInfo uriInfo) { + PermissionLinks(ScmPathInfo uriInfo) { permissionLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, PermissionRootResource.class); } @@ -383,7 +382,7 @@ class ResourceLinks { static class UIPluginLinks { private final LinkBuilder uiPluginLinkBuilder; - UIPluginLinks(UriInfo uriInfo) { + UIPluginLinks(ScmPathInfo uriInfo) { uiPluginLinkBuilder = new LinkBuilder(uriInfo, UIRootResource.class, UIPluginResource.class); } @@ -399,7 +398,7 @@ class ResourceLinks { static class UIPluginCollectionLinks { private final LinkBuilder uiPluginCollectionLinkBuilder; - UIPluginCollectionLinks(UriInfo uriInfo) { + UIPluginCollectionLinks(ScmPathInfo uriInfo) { uiPluginCollectionLinkBuilder = new LinkBuilder(uriInfo, UIRootResource.class, UIPluginResource.class); } diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/LinkBuilderTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/LinkBuilderTest.java index 37c584dfdf..c84e1a21a7 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/LinkBuilderTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/LinkBuilderTest.java @@ -4,7 +4,6 @@ import org.junit.Before; import org.junit.Test; import javax.ws.rs.Path; -import javax.ws.rs.core.UriInfo; import java.net.URI; import java.net.URISyntaxException; @@ -37,7 +36,7 @@ public class LinkBuilderTest { } } - private UriInfo uriInfo = mock(UriInfo.class); + private ScmPathInfo uriInfo = mock(ScmPathInfo.class); @Test public void shouldBuildSimplePath() { @@ -94,6 +93,6 @@ public class LinkBuilderTest { @Before public void setBaseUri() throws URISyntaxException { - when(uriInfo.getBaseUri()).thenReturn(new URI("http://example.com/")); + when(uriInfo.getApiRestUri()).thenReturn(new URI("http://example.com/")); } } diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/MeResourceTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/MeResourceTest.java index 09dd545eb5..0040e8b45e 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/MeResourceTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/MeResourceTest.java @@ -17,7 +17,6 @@ import sonia.scm.user.UserManager; import sonia.scm.web.VndMediaType; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.core.UriInfo; import java.net.URI; import java.net.URISyntaxException; @@ -40,7 +39,7 @@ public class MeResourceTest { private final ResourceLinks resourceLinks = ResourceLinksMock.createMock(URI.create("/")); @Mock - private UriInfo uriInfo; + private ScmPathInfo uriInfo; @Mock private UriInfoStore uriInfoStore; @@ -62,7 +61,7 @@ public class MeResourceTest { userToDtoMapper.setResourceLinks(resourceLinks); MeResource meResource = new MeResource(userToDtoMapper, userManager); dispatcher.getRegistry().addSingletonResource(meResource); - when(uriInfo.getBaseUri()).thenReturn(URI.create("/")); + when(uriInfo.getApiRestUri()).thenReturn(URI.create("/")); when(uriInfoStore.get()).thenReturn(uriInfo); } diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryRootResourceTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryRootResourceTest.java index 609ff282af..9fdef26d13 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryRootResourceTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryRootResourceTest.java @@ -24,7 +24,6 @@ import sonia.scm.repository.api.RepositoryServiceFactory; import sonia.scm.web.VndMediaType; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.core.UriInfo; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; @@ -73,7 +72,7 @@ public class RepositoryRootResourceTest { @Mock private UriInfoStore uriInfoStore; @Mock - private UriInfo uriInfo; + private ScmPathInfo uriInfo; private final URI baseUri = URI.create("/"); @@ -93,7 +92,7 @@ public class RepositoryRootResourceTest { RepositoryRootResource repositoryRootResource = new RepositoryRootResource(MockProvider.of(repositoryResource), MockProvider.of(repositoryCollectionResource)); when(serviceFactory.create(any(Repository.class))).thenReturn(service); when(uriInfoStore.get()).thenReturn(uriInfo); - when(uriInfo.getBaseUri()).thenReturn(URI.create("/x/y")); + when(uriInfo.getApiRestUri()).thenReturn(URI.create("/x/y")); dispatcher = createDispatcher(repositoryRootResource); } diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryToRepositoryDtoMapperTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryToRepositoryDtoMapperTest.java index b77ad958c3..250da56908 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryToRepositoryDtoMapperTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryToRepositoryDtoMapperTest.java @@ -18,7 +18,6 @@ import sonia.scm.repository.api.RepositoryService; import sonia.scm.repository.api.RepositoryServiceFactory; import sonia.scm.repository.api.ScmProtocol; -import javax.ws.rs.core.UriInfo; import java.net.URI; import static java.util.Arrays.asList; @@ -51,7 +50,7 @@ public class RepositoryToRepositoryDtoMapperTest { @Mock private UriInfoStore uriInfoStore; @Mock - private UriInfo uriInfo; + private ScmPathInfo uriInfo; @InjectMocks private RepositoryToRepositoryDtoMapperImpl mapper; @@ -63,7 +62,7 @@ public class RepositoryToRepositoryDtoMapperTest { when(repositoryService.isSupported(any(Command.class))).thenReturn(true); when(repositoryService.getSupportedProtocols()).thenReturn(emptySet()); when(uriInfoStore.get()).thenReturn(uriInfo); - when(uriInfo.getBaseUri()).thenReturn(URI.create("/x/y")); + when(uriInfo.getApiRestUri()).thenReturn(URI.create("/x/y")); } @After diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ResourceLinksMock.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ResourceLinksMock.java index f9ace9f8f6..1df652ea26 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ResourceLinksMock.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ResourceLinksMock.java @@ -1,6 +1,5 @@ package sonia.scm.api.v2.resources; -import javax.ws.rs.core.UriInfo; import java.net.URI; import static org.mockito.Mockito.mock; @@ -10,8 +9,8 @@ public class ResourceLinksMock { public static ResourceLinks createMock(URI baseUri) { ResourceLinks resourceLinks = mock(ResourceLinks.class); - UriInfo uriInfo = mock(UriInfo.class); - when(uriInfo.getBaseUri()).thenReturn(baseUri); + ScmPathInfo uriInfo = mock(ScmPathInfo.class); + when(uriInfo.getApiRestUri()).thenReturn(baseUri); when(resourceLinks.user()).thenReturn(new ResourceLinks.UserLinks(uriInfo)); when(resourceLinks.userCollection()).thenReturn(new ResourceLinks.UserCollectionLinks(uriInfo)); 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 index a9209828c3..0f33476436 100644 --- 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 @@ -6,7 +6,6 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import sonia.scm.repository.NamespaceAndName; -import javax.ws.rs.core.UriInfo; import java.net.URI; import static org.junit.Assert.assertEquals; @@ -20,7 +19,7 @@ public class ResourceLinksTest { @Mock private UriInfoStore uriInfoStore; @Mock - private UriInfo uriInfo; + private ScmPathInfo uriInfo; @InjectMocks private ResourceLinks resourceLinks; @@ -178,6 +177,6 @@ public class ResourceLinksTest { public void initUriInfo() { initMocks(this); when(uriInfoStore.get()).thenReturn(uriInfo); - when(uriInfo.getBaseUri()).thenReturn(URI.create(BASE_URL)); + when(uriInfo.getApiRestUri()).thenReturn(URI.create(BASE_URL)); } } diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/UriInfoStoreTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/UriInfoStoreTest.java index 559e701ae3..da0682c640 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/UriInfoStoreTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/UriInfoStoreTest.java @@ -4,19 +4,26 @@ import org.junit.Test; import javax.ws.rs.core.UriInfo; +import java.net.URI; + import static org.junit.Assert.assertSame; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; public class UriInfoStoreTest { @Test public void shouldReturnSetInfo() { + URI someUri = URI.create("/anything"); + UriInfo uriInfo = mock(UriInfo.class); UriInfoStore uriInfoStore = new UriInfoStore(); + when(uriInfo.getBaseUri()).thenReturn(someUri); + uriInfoStore.set(uriInfo); - assertSame(uriInfo, uriInfoStore.get()); + assertSame(someUri, uriInfoStore.get().getApiRestUri()); } @Test(expected = IllegalStateException.class)