use of org.jboss.pnc.dto.ProductVersionRef in project bacon by project-ncl.
the class PncEntitiesImporter method isModifiedInUnsupportedWay.
private boolean isModifiedInUnsupportedWay(BuildConfiguration oldConfig, Map<String, BuildConfig> newConfigsByName) {
String name = oldConfig.getName();
BuildConfig newConfig = newConfigsByName.get(name);
ProductVersionRef productVersion = oldConfig.getProductVersion();
boolean configMismatch = productVersion == null || !productVersion.getId().equals(version.getId());
if (configMismatch) {
log.warn("Product version in the old config is different than the one in the new config for config {}", name);
}
return configMismatch || !newConfig.isUpgradableFrom(oldConfig);
}
use of org.jboss.pnc.dto.ProductVersionRef 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.dto.ProductVersionRef in project pnc by project-ncl.
the class ProductReleaseProviderTest method createNewProductReleaseDTO.
private org.jboss.pnc.dto.ProductRelease createNewProductReleaseDTO(String version, Integer id) {
// when
ProductMilestone milestone = prepareNewProductMilestone();
when(productRepository.queryById(milestone.getProductVersion().getProduct().getId())).thenReturn(milestone.getProductVersion().getProduct());
when(productVersionRepository.queryById(milestone.getProductVersion().getId())).thenReturn(milestone.getProductVersion());
when(productMilestoneRepository.queryById(milestone.getId())).thenReturn(milestone);
ProductMilestoneRef ref = productMilestoneMapper.toRef(milestone);
ProductVersionRef productVersionRef = productVersionMapper.toRef(milestone.getProductVersion());
org.jboss.pnc.dto.ProductRelease.Builder releaseDTO = org.jboss.pnc.dto.ProductRelease.builder().version(version).productVersion(productVersionRef).productMilestone(ref);
if (id != null) {
return releaseDTO.id(id.toString()).build();
} else {
return releaseDTO.build();
}
}
Aggregations