mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 17:05:43 +01:00
expose plugin dependencies
This commit is contained in:
@@ -6,6 +6,8 @@ import lombok.Getter;
|
|||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@@ -18,6 +20,7 @@ public class PluginDto extends HalRepresentation {
|
|||||||
private String author;
|
private String author;
|
||||||
private String category;
|
private String category;
|
||||||
private String avatarUrl;
|
private String avatarUrl;
|
||||||
|
private Set<String> dependencies;
|
||||||
|
|
||||||
public PluginDto(Links links) {
|
public PluginDto(Links links) {
|
||||||
add(links);
|
add(links);
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ public abstract class PluginDtoMapper {
|
|||||||
|
|
||||||
public PluginDto map(Plugin plugin) {
|
public PluginDto map(Plugin plugin) {
|
||||||
PluginDto dto = createDto(plugin);
|
PluginDto dto = createDto(plugin);
|
||||||
|
dto.setDependencies(plugin.getDescriptor().getDependencies());
|
||||||
map(plugin.getDescriptor().getInformation(), dto);
|
map(plugin.getDescriptor().getInformation(), dto);
|
||||||
if (dto.getCategory() == null) {
|
if (dto.getCategory() == null) {
|
||||||
dto.setCategory("Miscellaneous");
|
dto.setCategory("Miscellaneous");
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package sonia.scm.api.v2.resources;
|
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.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
import org.mockito.InjectMocks;
|
import org.mockito.InjectMocks;
|
||||||
@@ -14,7 +14,6 @@ import sonia.scm.plugin.PluginState;
|
|||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
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.mock;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
@@ -89,6 +88,15 @@ class PluginDtoMapperTest {
|
|||||||
assertThat(dto.getCategory()).isEqualTo("Miscellaneous");
|
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) {
|
private Plugin createPlugin(PluginState state) {
|
||||||
return createPlugin(createPluginInformation(), state);
|
return createPlugin(createPluginInformation(), state);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user