Correct resource links and add tags link

This commit is contained in:
René Pfeuffer
2018-07-03 16:17:51 +02:00
parent 150838be85
commit fb811ef725
9 changed files with 114 additions and 3 deletions

View File

@@ -48,7 +48,7 @@ public class RepositoryRootResourceTest {
public void prepareEnvironment() {
initMocks(this);
ResourceLinksMock.initMock(resourceLinks, URI.create("/"));
RepositoryResource repositoryResource = new RepositoryResource(repositoryToDtoMapper, repositoryManager);
RepositoryResource repositoryResource = new RepositoryResource(repositoryToDtoMapper, repositoryManager, null);
RepositoryRootResource repositoryRootResource = new RepositoryRootResource(MockProvider.of(repositoryResource));
dispatcher.getRegistry().addSingletonResource(repositoryRootResource);
}

View File

@@ -101,6 +101,14 @@ public class RepositoryToRepositoryDtoMapperTest {
assertEquals("READ", dto.getPermissions().get(0).getType());
}
@Test
public void shouldCreateTagsLink() {
RepositoryDto dto = mapper.map(createTestRepository());
assertEquals(
"http://example.com/base/v2/groups/testspace/test/tags/",
dto.getLinks().getLinkBy("tags").get().getHref());
}
private Repository createTestRepository() {
Repository repository = new Repository();
repository.setNamespace("testspace");

View File

@@ -26,5 +26,7 @@ public class ResourceLinksMock {
when(resourceLinks.repository().self(anyString(), anyString())).thenAnswer(invocation -> baseUri + GROUPS_PATH_V2 + invocation.getArguments()[0] + "/" + invocation.getArguments()[1]);
when(resourceLinks.repository().update(anyString(), anyString())).thenAnswer(invocation -> baseUri + GROUPS_PATH_V2 + invocation.getArguments()[0] + "/" + invocation.getArguments()[1]);
when(resourceLinks.repository().delete(anyString(), anyString())).thenAnswer(invocation -> baseUri + GROUPS_PATH_V2 + invocation.getArguments()[0] + "/" + invocation.getArguments()[1]);
when(resourceLinks.tagCollection().self(anyString(), anyString())).thenAnswer(invocation -> baseUri + GROUPS_PATH_V2 + invocation.getArguments()[0] + "/" + invocation.getArguments()[1] + "/tags/");
}
}

View File

@@ -84,6 +84,30 @@ public class ResourceLinksTest {
assertEquals(BASE_URL + GroupRootResource.GROUPS_PATH_V2, url);
}
@Test
public void shouldCreateCorrectRepositorySelfUrl() {
String url = resourceLinks.repository().self("space", "repo");
assertEquals(BASE_URL + RepositoryRootResource.REPOSITORIES_PATH_V2 + "space/repo", url);
}
@Test
public void shouldCreateCorrectRepositoryDeleteUrl() {
String url = resourceLinks.repository().delete("space", "repo");
assertEquals(BASE_URL + RepositoryRootResource.REPOSITORIES_PATH_V2 + "space/repo", url);
}
@Test
public void shouldCreateCorrectRepositoryUpdateUrl() {
String url = resourceLinks.repository().update("space", "repo");
assertEquals(BASE_URL + RepositoryRootResource.REPOSITORIES_PATH_V2 + "space/repo", url);
}
@Test
public void shouldCreateCorrectTagCollectionUrl() {
String url = resourceLinks.tagCollection().self("space", "repo");
assertEquals(BASE_URL + RepositoryRootResource.REPOSITORIES_PATH_V2 + "space/repo/tags/", url);
}
@Before
public void initUriInfo() {
initMocks(this);