Remove branch and tag hal-link from svn repository

This commit is contained in:
René Pfeuffer
2018-08-10 09:34:32 +02:00
parent 7010b602ef
commit f899185d2e
3 changed files with 42 additions and 4 deletions

View File

@@ -10,6 +10,7 @@ import org.jboss.resteasy.mock.MockHttpResponse;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.Answers;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import sonia.scm.PageResult;
@@ -18,6 +19,7 @@ import sonia.scm.repository.Repository;
import sonia.scm.repository.RepositoryException;
import sonia.scm.repository.RepositoryIsNotArchivedException;
import sonia.scm.repository.RepositoryManager;
import sonia.scm.repository.api.RepositoryServiceFactory;
import sonia.scm.web.VndMediaType;
import javax.servlet.http.HttpServletResponse;
@@ -57,6 +59,9 @@ public class RepositoryRootResourceTest {
@Mock
private RepositoryManager repositoryManager;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private RepositoryServiceFactory serviceFactory;
private final URI baseUri = URI.create("/");
private final ResourceLinks resourceLinks = ResourceLinksMock.createMock(baseUri);

View File

@@ -7,17 +7,23 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.Answers;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import sonia.scm.repository.HealthCheckFailure;
import sonia.scm.repository.Permission;
import sonia.scm.repository.PermissionType;
import sonia.scm.repository.Repository;
import sonia.scm.repository.api.Command;
import sonia.scm.repository.api.RepositoryServiceFactory;
import java.net.URI;
import static java.util.Collections.singletonList;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.initMocks;
@SubjectAware(
@@ -33,6 +39,8 @@ public class RepositoryToRepositoryDtoMapperTest {
private final URI baseUri = URI.create("http://example.com/base/");
@SuppressWarnings("unused") // Is injected
private final ResourceLinks resourceLinks = ResourceLinksMock.createMock(baseUri);
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private RepositoryServiceFactory serviceFactory;
@InjectMocks
private RepositoryToRepositoryDtoMapperImpl mapper;
@@ -40,6 +48,7 @@ public class RepositoryToRepositoryDtoMapperTest {
@Before
public void init() {
initMocks(this);
when(serviceFactory.create(any(Repository.class)).isSupported(any(Command.class))).thenReturn(true);
}
@After
@@ -103,7 +112,7 @@ public class RepositoryToRepositoryDtoMapperTest {
}
@Test
public void shouldCreateTagsLink() {
public void shouldCreateTagsLink_ifSupported() {
RepositoryDto dto = mapper.map(createTestRepository());
assertEquals(
"http://example.com/base/v2/repositories/testspace/test/tags/",
@@ -111,13 +120,27 @@ public class RepositoryToRepositoryDtoMapperTest {
}
@Test
public void shouldCreateBranchesLink() {
public void shouldCreateBranchesLink_ifSupported() {
RepositoryDto dto = mapper.map(createTestRepository());
assertEquals(
"http://example.com/base/v2/repositories/testspace/test/branches/",
dto.getLinks().getLinkBy("branches").get().getHref());
}
@Test
public void shouldNotCreateTagsLink_ifNotSupported() {
when(serviceFactory.create(any(Repository.class)).isSupported(Command.TAGS)).thenReturn(false);
RepositoryDto dto = mapper.map(createTestRepository());
assertFalse(dto.getLinks().getLinkBy("tags").isPresent());
}
@Test
public void shouldNotCreateBranchesLink_ifNotSupported() {
when(serviceFactory.create(any(Repository.class)).isSupported(Command.BRANCHES)).thenReturn(false);
RepositoryDto dto = mapper.map(createTestRepository());
assertFalse(dto.getLinks().getLinkBy("branches").isPresent());
}
@Test
public void shouldCreateChangesetsLink() {
RepositoryDto dto = mapper.map(createTestRepository());