From 2fe8c154d3593859dbc87c879e97e6273ad9fc58 Mon Sep 17 00:00:00 2001 From: Eduard Heimbuch Date: Thu, 1 Aug 2019 09:57:18 +0200 Subject: [PATCH] small fixes --- scm-ui/src/admin/plugins/components/PluginEntry.js | 6 +++--- .../scm/api/v2/resources/AvailablePluginResource.java | 6 ++++-- .../scm/api/v2/resources/AvailablePluginResourceTest.java | 7 +++++++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/scm-ui/src/admin/plugins/components/PluginEntry.js b/scm-ui/src/admin/plugins/components/PluginEntry.js index 3693c2e284..b901cc0cfb 100644 --- a/scm-ui/src/admin/plugins/components/PluginEntry.js +++ b/scm-ui/src/admin/plugins/components/PluginEntry.js @@ -27,9 +27,9 @@ class PluginEntry extends React.Component { const { classes } = this.props; if (plugin._links && plugin._links.install && plugin._links.install.href) { return ( - - - +
console.log(plugin._links.install.href) /*TODO trigger plugin installation*/}> + +
); } }; diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/AvailablePluginResource.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/AvailablePluginResource.java index c3663b82b5..6d5711133f 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/AvailablePluginResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/AvailablePluginResource.java @@ -29,11 +29,13 @@ public class AvailablePluginResource { private final PluginDtoCollectionMapper collectionMapper; private final PluginManager pluginManager; + private final PluginDtoMapper mapper; @Inject - public AvailablePluginResource(PluginDtoCollectionMapper collectionMapper, PluginManager pluginManager) { + public AvailablePluginResource(PluginDtoCollectionMapper collectionMapper, PluginManager pluginManager, PluginDtoMapper mapper) { this.collectionMapper = collectionMapper; this.pluginManager = pluginManager; + this.mapper = mapper; } /** @@ -79,7 +81,7 @@ public class AvailablePluginResource { .filter(p -> p.getId().equals(name + ":" + version)) .findFirst(); if (plugin.isPresent()) { - return Response.ok(plugin.get()).build(); + return Response.ok(mapper.map(plugin.get())).build(); } else { throw notFound(entity(Plugin.class, name)); } diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/AvailablePluginResourceTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/AvailablePluginResourceTest.java index da4ad9d29b..57564999ef 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/AvailablePluginResourceTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/AvailablePluginResourceTest.java @@ -52,6 +52,9 @@ class AvailablePluginResourceTest { @Mock private PluginManager pluginManager; + @Mock + private PluginDtoMapper mapper; + @InjectMocks AvailablePluginResource availablePluginResource; @@ -107,6 +110,10 @@ class AvailablePluginResourceTest { pluginInformation.setVersion("2.0.0"); when(pluginManager.getAvailable()).thenReturn(Collections.singletonList(pluginInformation)); + PluginDto pluginDto = new PluginDto(); + pluginDto.setName("pluginName"); + when(mapper.map(pluginInformation)).thenReturn(pluginDto); + MockHttpRequest request = MockHttpRequest.get("/v2/plugins/available/pluginName/2.0.0"); request.accept(VndMediaType.PLUGIN); MockHttpResponse response = new MockHttpResponse();