mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-11 16:05:44 +01:00
Deliver HgConfigPackages no longer as embedded.
They don't have an own identity in terms of REST and its much simpler to return a simple list instead of an _embedded list. Also gets rid of one HgConfigPackageToDtoMapper.
This commit is contained in:
@@ -56,12 +56,12 @@ public class HgConfigPackageResourceTest {
|
||||
|
||||
private final URI baseUri = java.net.URI.create("/");
|
||||
|
||||
@InjectMocks
|
||||
private HgConfigPackageToDtoMapperImpl hgConfigPackageToDtoMapper;
|
||||
|
||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||
private UriInfoStore uriInfoStore;
|
||||
|
||||
@InjectMocks
|
||||
private HgConfigPackagesToDtoMapperImpl mapper;
|
||||
|
||||
@Mock
|
||||
private HgRepositoryHandler repositoryHandler;
|
||||
|
||||
@@ -96,11 +96,7 @@ public class HgConfigPackageResourceTest {
|
||||
String responseString = response.getContentAsString();
|
||||
ObjectNode responseJson = new ObjectMapper().readValue(responseString, ObjectNode.class);
|
||||
|
||||
|
||||
JsonNode embedded = responseJson.get("_embedded");
|
||||
assertThat(embedded).isNotNull();
|
||||
|
||||
JsonNode packages = embedded.get("packages");
|
||||
JsonNode packages = responseJson.get("packages");
|
||||
assertThat(packages).isNotNull();
|
||||
assertThat(packages).hasSize(2);
|
||||
|
||||
@@ -191,9 +187,6 @@ public class HgConfigPackageResourceTest {
|
||||
}
|
||||
|
||||
private void setupResources() {
|
||||
HgConfigPackageCollectionToDtoMapper mapper =
|
||||
new HgConfigPackageCollectionToDtoMapper(hgConfigPackageToDtoMapper, uriInfoStore);
|
||||
|
||||
HgConfigPackageResource hgConfigPackageResource =
|
||||
new HgConfigPackageResource(hgPackageReader, advancedHttpClient, repositoryHandler, mapper);
|
||||
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
package sonia.scm.api.v2.resources;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Answers;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
import sonia.scm.installer.HgPackage;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import static org.mockito.Mockito.when;
|
||||
import static sonia.scm.api.v2.resources.HgConfigTests.assertEqualsPackage;
|
||||
import static sonia.scm.api.v2.resources.HgConfigTests.createPackage;
|
||||
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class HgConfigPackageToDtoMapperTest {
|
||||
|
||||
private URI baseUri = URI.create("http://example.com/base/");
|
||||
|
||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||
private UriInfoStore uriInfoStore;
|
||||
|
||||
@InjectMocks
|
||||
private HgConfigPackageToDtoMapperImpl mapper;
|
||||
|
||||
@Before
|
||||
public void init() {
|
||||
when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldMapFields() {
|
||||
HgPackage hgPackage = createPackage();
|
||||
|
||||
HgConfigPackageDto dto = mapper.map(hgPackage);
|
||||
|
||||
assertEqualsPackage(dto);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
import sonia.scm.installer.HgPackage;
|
||||
import sonia.scm.installer.HgPackages;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Arrays;
|
||||
@@ -19,12 +20,11 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static sonia.scm.api.v2.resources.HgConfigPackageCollectionToDtoMapper.COLLECTION_NAME;
|
||||
import static sonia.scm.api.v2.resources.HgConfigTests.assertEqualsPackage;
|
||||
import static sonia.scm.api.v2.resources.HgConfigTests.createPackage;
|
||||
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class HgConfigPackageCollectionToDtoMapperTest {
|
||||
public class HgConfigPackagesToDtoMapperTest {
|
||||
|
||||
private URI baseUri = URI.create("http://example.com/base/");
|
||||
|
||||
@@ -32,9 +32,7 @@ public class HgConfigPackageCollectionToDtoMapperTest {
|
||||
private UriInfoStore uriInfoStore;
|
||||
|
||||
@InjectMocks
|
||||
private HgConfigPackageToDtoMapperImpl hgConfigPackageToDtoMapper;
|
||||
|
||||
private HgConfigPackageCollectionToDtoMapper mapper;
|
||||
private HgConfigPackagesToDtoMapperImpl mapper;
|
||||
|
||||
private URI expectedBaseUri;
|
||||
|
||||
@@ -42,35 +40,29 @@ public class HgConfigPackageCollectionToDtoMapperTest {
|
||||
public void init() {
|
||||
when(uriInfoStore.get().getBaseUri()).thenReturn(baseUri);
|
||||
expectedBaseUri = baseUri.resolve(HgConfigResource.HG_CONFIG_PATH_V2 + "/packages");
|
||||
mapper = new HgConfigPackageCollectionToDtoMapper(hgConfigPackageToDtoMapper, uriInfoStore);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldMapFields() {
|
||||
Collection<HgPackage> hgPackages = createPackages();
|
||||
HgPackages hgPackages = new HgPackages();
|
||||
hgPackages.setPackages(createPackages());
|
||||
|
||||
HalRepresentation dto = mapper.map(hgPackages);
|
||||
HgConfigPackagesDto dto = mapper.map(hgPackages);
|
||||
|
||||
List<HalRepresentation> itemsBy = dto.getEmbedded().getItemsBy(COLLECTION_NAME);
|
||||
assertThat(itemsBy).hasSize(2);
|
||||
assertThat(dto.getPackages()).hasSize(2);
|
||||
|
||||
HgConfigPackageDto hgPackageDto1 = assertAndGetAsDto(itemsBy.get(0));
|
||||
HgConfigPackagesDto.HgConfigPackageDto hgPackageDto1 = dto.getPackages().get(0);
|
||||
assertEqualsPackage(hgPackageDto1);
|
||||
|
||||
HgConfigPackageDto hgPackageDto2 = assertAndGetAsDto(itemsBy.get(1));
|
||||
assertTrue(hgPackageDto2.getLinks().isEmpty());
|
||||
HgConfigPackagesDto.HgConfigPackageDto hgPackageDto2 = dto.getPackages().get(1);
|
||||
// Just verify a random field
|
||||
assertThat(hgPackageDto2.getId()).isNull();
|
||||
|
||||
assertEquals(expectedBaseUri.toString(), dto.getLinks().getLinkBy("self").get().getHref());
|
||||
}
|
||||
|
||||
private HgConfigPackageDto assertAndGetAsDto(HalRepresentation halRepresentation) {
|
||||
assertThat(halRepresentation).isInstanceOf(HgConfigPackageDto.class);
|
||||
return (HgConfigPackageDto) halRepresentation;
|
||||
}
|
||||
|
||||
private Collection<HgPackage> createPackages() {
|
||||
private List<HgPackage> createPackages() {
|
||||
return Arrays.asList(createPackage(), new HgPackage());
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ class HgConfigTests {
|
||||
return hgPackage;
|
||||
}
|
||||
|
||||
static void assertEqualsPackage(HgConfigPackageDto dto) {
|
||||
static void assertEqualsPackage(HgConfigPackagesDto.HgConfigPackageDto dto) {
|
||||
assertEquals("arch", dto.getArch());
|
||||
assertEquals("1", dto.getId());
|
||||
assertEquals("2", dto.getHgVersion());
|
||||
@@ -64,8 +64,6 @@ class HgConfigTests {
|
||||
|
||||
assertEqualsConfiguration(dto.getHgConfigTemplate());
|
||||
assertTrue(dto.getHgConfigTemplate().getLinks().isEmpty());
|
||||
|
||||
assertTrue(dto.getLinks().isEmpty());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user