mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-01-04 22:59:51 +01:00
Remove direct dependency to UriInfo
This commit is contained in:
@@ -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<Call> 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<Call> calls) {
|
||||
private LinkBuilder(ScmPathInfo uriInfo, Class[] classes, ImmutableList<Call> 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);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package sonia.scm.api.v2.resources;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
public interface ScmPathInfo {
|
||||
URI getApiRestUri();
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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/"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user