use of org.jboss.pnc.dto.ProductVersion in project pnc by project-ncl.
the class ProductVersionEndpointTest method testCreateNew.
@Test
public void testCreateNew() throws ClientException {
// given
ProductVersion productVersion = ProductVersion.builder().product(product).version("42.0").build();
// when
ProductVersionClient client = new ProductVersionClient(RestClientConfiguration.asUser());
ProductVersion created = client.createNew(productVersion);
// then
assertThat(created.getId()).isNotEmpty();
ProductVersion retrieved = client.getSpecific(created.getId());
ProductVersion toCompare = productVersion.toBuilder().productMilestones(// query had null, but server responds with empty map
Collections.emptyMap()).productReleases(// query had null, but server responds with empty map
Collections.emptyMap()).groupConfigs(// query had null, but server responds with empty map
Collections.emptyMap()).buildConfigs(// query had null, but server responds with empty map
Collections.emptyMap()).build();
assertThat(created.getProduct().getId()).isEqualTo(toCompare.getProduct().getId());
assertThat(created).isEqualToIgnoringGivenFields(toCompare, "id", "product", "attributes");
assertThat(retrieved).isEqualTo(created);
}
use of org.jboss.pnc.dto.ProductVersion in project pnc by project-ncl.
the class ProductVersionEndpointTest method shouldNotUpdateWithClosedMilestone.
@Test
public void shouldNotUpdateWithClosedMilestone() throws ClientException {
// given
ProductVersionClient client = new ProductVersionClient(RestClientConfiguration.asUser());
// has closed milestone, from
ProductVersion productVersion = client.getSpecific(productVersionsId);
// DatabaseDataInitializer
// when
ProductVersion toUpdate = productVersion.toBuilder().version("2.0").build();
// then
assertThatThrownBy(() -> client.update(productVersion.getId(), toUpdate)).isInstanceOf(ClientException.class);
}
use of org.jboss.pnc.dto.ProductVersion in project pnc by project-ncl.
the class ProductVersionEndpointTest method shouldAdd2GroupConfigsWithPatch.
@Test
public void shouldAdd2GroupConfigsWithPatch() throws Exception {
// given #1
ProductVersionClient client = new ProductVersionClient(RestClientConfiguration.asUser());
GroupConfigurationClient gcClient = new GroupConfigurationClient(RestClientConfiguration.asUser());
ProductVersion productVersion = client.getSpecific(productVersionsId2);
GroupConfiguration toAdd = gcClient.createNew(GroupConfiguration.builder().name("New GC1").build());
ProductVersionPatchBuilder builder = new ProductVersionPatchBuilder();
Map<String, GroupConfigurationRef> toAddMap = new HashMap<>();
toAddMap.put(toAdd.getId(), toAdd);
builder.addGroupConfigs(toAddMap);
// when #1
client.patch(productVersion.getId(), builder);
// then #1
ProductVersion refresh = client.getSpecific(productVersionsId2);
assertThat(refresh.getGroupConfigs()).containsKey(toAdd.getId());
// given #2 add second GC
GroupConfiguration toAdd2 = gcClient.createNew(GroupConfiguration.builder().name("New GC2").build());
builder = new ProductVersionPatchBuilder();
toAddMap.clear();
toAddMap.put(toAdd2.getId(), toAdd2);
builder.addGroupConfigs(toAddMap);
// when #2
client.patch(productVersion.getId(), builder);
// then #2
refresh = client.getSpecific(productVersionsId2);
assertThat(refresh.getGroupConfigs()).containsKey(toAdd2.getId()).containsKey(toAdd.getId());
}
use of org.jboss.pnc.dto.ProductVersion in project pnc by project-ncl.
the class ProductVersionEndpointTest method shouldUpdateGroupConfigs.
@Test
public void shouldUpdateGroupConfigs() throws ClientException {
// given
GroupConfiguration gc = GroupConfiguration.builder().name("New GC").build();
GroupConfigurationClient gcc = new GroupConfigurationClient(RestClientConfiguration.asUser());
GroupConfiguration gcToAdd = gcc.createNew(gc);
Map<String, GroupConfigurationRef> groupConfis = new HashMap<>();
// when
ProductVersionClient client = new ProductVersionClient(RestClientConfiguration.asUser());
ProductVersion productVersion = client.getSpecific(productVersionsId2);
groupConfis.putAll(productVersion.getGroupConfigs());
groupConfis.put(gcToAdd.getId(), gcToAdd);
ProductVersion toUpdate = productVersion.toBuilder().groupConfigs(groupConfis).build();
client.update(productVersion.getId(), toUpdate);
ProductVersion retrieved = client.getSpecific(productVersion.getId());
// then
assertThat(retrieved.getGroupConfigs()).hasSameSizeAs(groupConfis).containsKey(gcToAdd.getId());
}
use of org.jboss.pnc.dto.ProductVersion in project pnc by project-ncl.
the class GroupConfigurationEndpointTest method shouldPatchGroupConfiguration.
@Test
public void shouldPatchGroupConfiguration() throws ClientException, PatchBuilderException {
GroupConfigurationClient client = new GroupConfigurationClient(RestClientConfiguration.asUser());
GroupConfiguration groupConfiguration = client.getAll().iterator().next();
String id = groupConfiguration.getId();
ProductVersion newProductVersion = createProductVersion();
ProductVersion pv = ProductVersion.builder().id(newProductVersion.getId()).build();
GroupConfigurationPatchBuilder builder = new GroupConfigurationPatchBuilder().replaceProductVersion(pv);
GroupConfiguration updated = client.patch(id, builder);
assertThat(updated.getProductVersion().getVersion()).isEqualTo(newProductVersion.getVersion());
}
Aggregations