expose plugin dependencies

This commit is contained in:
Sebastian Sdorra
2019-08-20 13:40:05 +02:00
parent 9d66f14627
commit 65b59d1aec
3 changed files with 14 additions and 2 deletions

View File

@@ -6,6 +6,8 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Set;
@Getter
@Setter
@NoArgsConstructor
@@ -18,6 +20,7 @@ public class PluginDto extends HalRepresentation {
private String author;
private String category;
private String avatarUrl;
private Set<String> dependencies;
public PluginDto(Links links) {
add(links);

View File

@@ -22,6 +22,7 @@ public abstract class PluginDtoMapper {
public PluginDto map(Plugin plugin) {
PluginDto dto = createDto(plugin);
dto.setDependencies(plugin.getDescriptor().getDependencies());
map(plugin.getDescriptor().getInformation(), dto);
if (dto.getCategory() == null) {
dto.setCategory("Miscellaneous");

View File

@@ -1,6 +1,6 @@
package sonia.scm.api.v2.resources;
import org.junit.jupiter.api.BeforeEach;
import com.google.common.collect.ImmutableSet;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
@@ -14,7 +14,6 @@ import sonia.scm.plugin.PluginState;
import java.net.URI;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.in;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -89,6 +88,15 @@ class PluginDtoMapperTest {
assertThat(dto.getCategory()).isEqualTo("Miscellaneous");
}
@Test
void shouldAppendDependencies() {
Plugin plugin = createPlugin(PluginState.AVAILABLE);
when(plugin.getDescriptor().getDependencies()).thenReturn(ImmutableSet.of("one", "two"));
PluginDto dto = mapper.map(plugin);
assertThat(dto.getDependencies()).containsOnly("one", "two");
}
private Plugin createPlugin(PluginState state) {
return createPlugin(createPluginInformation(), state);
}