use of org.jboss.pnc.client.ProductVersionClient in project pnc by project-ncl.
the class ProductMilestoneEndpointTest method shouldGetMilestoneRelease.
@Test
public void shouldGetMilestoneRelease() throws IOException, RemoteResourceException {
// given
ProductClient productClient = new ProductClient(RestClientConfiguration.asAnonymous());
RemoteCollection<Product> products = productClient.getAll(Optional.empty(), Optional.of("name==\"" + PNC_PRODUCT_NAME + "\""));
Product product = products.iterator().next();
Map<String, ProductVersionRef> productVersions = product.getProductVersions();
Optional<ProductVersionRef> productVersion = productVersions.values().stream().filter(pv -> pv.getVersion().equals(DatabaseDataInitializer.PNC_PRODUCT_VERSION_1)).findAny();
ProductVersionClient productVersionClient = new ProductVersionClient(RestClientConfiguration.asAnonymous());
RemoteCollection<ProductMilestone> milestones = productVersionClient.getMilestones(productVersion.get().getId(), Optional.empty(), Optional.of("version==\"" + PNC_PRODUCT_MILESTONE3 + "\""));
ProductMilestone milestone = milestones.iterator().next();
ProductMilestoneClient milestoneClient = new ProductMilestoneClient(RestClientConfiguration.asAnonymous());
// when
RemoteCollection<ProductMilestoneCloseResult> milestoneReleases = milestoneClient.getCloseResults(milestone.getId(), null);
// then
Assert.assertEquals(3, milestoneReleases.size());
// make sure the result is ordered by date
Instant previous = Instant.EPOCH;
for (Iterator<ProductMilestoneCloseResult> iter = milestoneReleases.iterator(); iter.hasNext(); ) {
ProductMilestoneCloseResult next = iter.next();
logger.debug("MilestoneRelease id: {}, StartingDate: {}.", next.getId(), next.getStartingDate());
Assert.assertTrue("Wong milestone releases order.", next.getStartingDate().isAfter(previous));
previous = next.getStartingDate();
}
// when
ProductMilestoneCloseParameters filter = new ProductMilestoneCloseParameters();
filter.setLatest(true);
RemoteCollection<ProductMilestoneCloseResult> latestMilestoneRelease = milestoneClient.getCloseResults(milestone.getId(), filter);
// then
Assert.assertEquals(1, latestMilestoneRelease.getAll().size());
// the latest one in demo data has status SUCCEEDED
Assert.assertEquals(MilestoneCloseStatus.SUCCEEDED, latestMilestoneRelease.iterator().next().getStatus());
}
use of org.jboss.pnc.client.ProductVersionClient in project pnc by project-ncl.
the class ProductVersionEndpointTest method shouldNotUpdateGroupConfigsWhenOneIsAlreadyAsssociatedWithAnotherProductVersionUsingPatch.
@Test
public void shouldNotUpdateGroupConfigsWhenOneIsAlreadyAsssociatedWithAnotherProductVersionUsingPatch() throws ClientException, PatchBuilderException {
// given
ProductVersionClient client = new ProductVersionClient(RestClientConfiguration.asUser());
GroupConfigurationRef alreadyAssignedGC = client.getSpecific(productVersionsId).getGroupConfigs().values().iterator().next();
Map<String, GroupConfigurationRef> groupConfis = new HashMap<>();
assertThat(alreadyAssignedGC).isNotNull();
// when
ProductVersionPatchBuilder patchBuilder = new ProductVersionPatchBuilder();
ProductVersionPatchBuilder patch = patchBuilder.addGroupConfigs(Collections.singletonMap(alreadyAssignedGC.getId(), alreadyAssignedGC));
// then
assertThatThrownBy(() -> client.patch(productVersionsId2, patch)).isInstanceOf(ClientException.class);
}
use of org.jboss.pnc.client.ProductVersionClient in project pnc by project-ncl.
the class ProductVersionEndpointTest method shouldGenerateBrewTagWhenCreatingProductVersion.
@Test
public void shouldGenerateBrewTagWhenCreatingProductVersion() throws Exception {
// given
final String version = "42.3";
ProductVersion productVersion = ProductVersion.builder().product(product).version(version).build();
// when
ProductVersionClient client = new ProductVersionClient(RestClientConfiguration.asUser());
ProductVersion created = client.createNew(productVersion);
// then
assertThat(created.getAttributes()).containsKey(Attributes.BREW_TAG_PREFIX);
assertThat(created.getAttributes().get(Attributes.BREW_TAG_PREFIX)).isEqualTo(product.getAbbreviation().toLowerCase() + "-" + version + "-pnc");
}
use of org.jboss.pnc.client.ProductVersionClient in project pnc by project-ncl.
the class ProductVersionEndpointTest method testGetReleases.
@Test
public void testGetReleases() throws ClientException {
ProductVersionClient client = new ProductVersionClient(RestClientConfiguration.asAnonymous());
RemoteCollection<ProductRelease> all = client.getReleases(productVersionsId);
assertThat(all).hasSize(1).allMatch(v -> v.getProductVersion().getId().equals(productVersionsId));
}
use of org.jboss.pnc.client.ProductVersionClient 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);
}
Aggregations