From 7ee8755dcaeb75718057bc4c506d1ad89a6e4e31 Mon Sep 17 00:00:00 2001 From: Eduard Heimbuch Date: Mon, 30 Nov 2020 11:31:41 +0100 Subject: [PATCH] append import links as array --- .../resources/RepositoryTypeToRepositoryTypeDtoMapper.java | 4 ++-- .../RepositoryTypeToRepositoryTypeDtoMapperTest.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryTypeToRepositoryTypeDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryTypeToRepositoryTypeDtoMapper.java index 188ad70a00..7822589dd9 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryTypeToRepositoryTypeDtoMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryTypeToRepositoryTypeDtoMapper.java @@ -24,6 +24,7 @@ package sonia.scm.api.v2.resources; +import de.otto.edison.hal.Link; import de.otto.edison.hal.Links; import org.mapstruct.AfterMapping; import org.mapstruct.Mapper; @@ -34,7 +35,6 @@ import sonia.scm.repository.api.Command; import javax.inject.Inject; -import static de.otto.edison.hal.Link.link; import static de.otto.edison.hal.Links.linkingTo; @Mapper @@ -48,7 +48,7 @@ public abstract class RepositoryTypeToRepositoryTypeDtoMapper extends BaseMapper Links.Builder linksBuilder = linkingTo().self(resourceLinks.repositoryType().self(repositoryType.getName())); if (RepositoryPermissions.create().isPermitted() && repositoryType.getSupportedCommands().contains(Command.PULL)) { - linksBuilder.single(link("importFromUrl", resourceLinks.repository().importFromUrl(repositoryType.getName()))); + linksBuilder.array(Link.linkBuilder("import", resourceLinks.repository().importFromUrl(repositoryType.getName())).withName("url").build()); } target.add(linksBuilder.build()); diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryTypeToRepositoryTypeDtoMapperTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryTypeToRepositoryTypeDtoMapperTest.java index d6a0f01079..ea49c9a933 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryTypeToRepositoryTypeDtoMapperTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/RepositoryTypeToRepositoryTypeDtoMapperTest.java @@ -94,7 +94,7 @@ public class RepositoryTypeToRepositoryTypeDtoMapperTest { RepositoryTypeDto dto = mapper.map(type); assertEquals( "https://scm-manager.org/scm/v2/repositories/import/hk/url", - dto.getLinks().getLinkBy("importFromUrl").get().getHref() + dto.getLinks().getLinkBy("import").get().getHref() ); } @@ -102,7 +102,7 @@ public class RepositoryTypeToRepositoryTypeDtoMapperTest { public void shouldNotAppendImportFromUrlLinkIfCommandNotSupported() { when(subject.isPermitted("repository:create")).thenReturn(true); RepositoryTypeDto dto = mapper.map(type); - assertFalse(dto.getLinks().getLinkBy("importFromUrl").isPresent()); + assertFalse(dto.getLinks().getLinkBy("import").isPresent()); } @Test @@ -110,6 +110,6 @@ public class RepositoryTypeToRepositoryTypeDtoMapperTest { RepositoryType type = new RepositoryType("hk", "Hitchhiker", ImmutableSet.of(Command.PULL)); RepositoryTypeDto dto = mapper.map(type); - assertFalse(dto.getLinks().getLinkBy("importFromUrl").isPresent()); + assertFalse(dto.getLinks().getLinkBy("import").isPresent()); } }