Search in sources :

Example 11 with ProductClient

use of org.jboss.pnc.client.ProductClient 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());
}
Also used : BeforeClass(org.junit.BeforeClass) Arquillian(org.jboss.arquillian.junit.Arquillian) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) RunWith(org.junit.runner.RunWith) LoggerFactory(org.slf4j.LoggerFactory) ProductClient(org.jboss.pnc.client.ProductClient) RunAsClient(org.jboss.arquillian.container.test.api.RunAsClient) RemoteCollection(org.jboss.pnc.client.RemoteCollection) ContainerTest(org.jboss.pnc.test.category.ContainerTest) ClientException(org.jboss.pnc.client.ClientException) ProductMilestoneCloseParameters(org.jboss.pnc.rest.api.parameters.ProductMilestoneCloseParameters) Assertions.assertThatThrownBy(org.assertj.core.api.Assertions.assertThatThrownBy) ProductMilestone(org.jboss.pnc.dto.ProductMilestone) Map(java.util.Map) BadRequestException(javax.ws.rs.BadRequestException) Deployments(org.jboss.pnc.integration.setup.Deployments) PNC_PRODUCT_MILESTONE3(org.jboss.pnc.demo.data.DatabaseDataInitializer.PNC_PRODUCT_MILESTONE3) Logger(org.slf4j.Logger) Iterator(java.util.Iterator) ValidationResponse(org.jboss.pnc.dto.response.ValidationResponse) ValidationErrorType(org.jboss.pnc.enums.ValidationErrorType) DatabaseDataInitializer(org.jboss.pnc.demo.data.DatabaseDataInitializer) EnterpriseArchive(org.jboss.shrinkwrap.api.spec.EnterpriseArchive) Product(org.jboss.pnc.dto.Product) ProductMilestoneClient(org.jboss.pnc.client.ProductMilestoneClient) Test(org.junit.Test) IOException(java.io.IOException) Artifact(org.jboss.pnc.dto.Artifact) VersionValidationRequest(org.jboss.pnc.dto.requests.validation.VersionValidationRequest) Category(org.junit.experimental.categories.Category) Instant(java.time.Instant) RestClientConfiguration(org.jboss.pnc.integration.setup.RestClientConfiguration) ProductVersionClient(org.jboss.pnc.client.ProductVersionClient) Build(org.jboss.pnc.dto.Build) PNC_PRODUCT_NAME(org.jboss.pnc.demo.data.DatabaseDataInitializer.PNC_PRODUCT_NAME) Deployment(org.jboss.arquillian.container.test.api.Deployment) ProductMilestoneCloseResult(org.jboss.pnc.dto.ProductMilestoneCloseResult) ProductVersionRef(org.jboss.pnc.dto.ProductVersionRef) ProductVersion(org.jboss.pnc.dto.ProductVersion) RemoteResourceException(org.jboss.pnc.client.RemoteResourceException) Optional(java.util.Optional) Assert(org.junit.Assert) MilestoneCloseStatus(org.jboss.pnc.enums.MilestoneCloseStatus) ProductMilestone(org.jboss.pnc.dto.ProductMilestone) ProductMilestoneClient(org.jboss.pnc.client.ProductMilestoneClient) Instant(java.time.Instant) Product(org.jboss.pnc.dto.Product) ProductVersionRef(org.jboss.pnc.dto.ProductVersionRef) ProductMilestoneCloseParameters(org.jboss.pnc.rest.api.parameters.ProductMilestoneCloseParameters) ProductVersionClient(org.jboss.pnc.client.ProductVersionClient) ProductClient(org.jboss.pnc.client.ProductClient) ProductMilestoneCloseResult(org.jboss.pnc.dto.ProductMilestoneCloseResult) ContainerTest(org.jboss.pnc.test.category.ContainerTest) Test(org.junit.Test)

Example 12 with ProductClient

use of org.jboss.pnc.client.ProductClient in project pnc by project-ncl.

the class ProductEndpointTest method shouldFailToSaveProductWithSpaceInAbbreviation.

@Test
public void shouldFailToSaveProductWithSpaceInAbbreviation() {
    ProductClient client = new ProductClient(RestClientConfiguration.asUser());
    Product product = Product.builder().name("New Ab re via ted product").abbreviation("abb re viation").description("The newst product of them all. Now with spaces.").build();
    try {
        client.createNew(product);
        fail("Exception should be thrown");
    } catch (ClientException ex) {
    // OK
    }
}
Also used : ProductClient(org.jboss.pnc.client.ProductClient) Product(org.jboss.pnc.dto.Product) ClientException(org.jboss.pnc.client.ClientException) ContainerTest(org.jboss.pnc.test.category.ContainerTest) Test(org.junit.Test)

Example 13 with ProductClient

use of org.jboss.pnc.client.ProductClient in project pnc by project-ncl.

the class ProductEndpointTest method before.

@Before
public void before() throws RemoteResourceException {
    ProductClient client = new ProductClient(RestClientConfiguration.asAnonymous());
    System.out.println("All things: ");
    for (Product product : client.getAll()) {
        System.out.println("  " + product);
    }
    System.out.println(".");
}
Also used : ProductClient(org.jboss.pnc.client.ProductClient) Product(org.jboss.pnc.dto.Product) Before(org.junit.Before)

Example 14 with ProductClient

use of org.jboss.pnc.client.ProductClient in project pnc by project-ncl.

the class ProductEndpointTest method testGetAll.

@Test
@InSequence(10)
public void testGetAll() throws RemoteResourceException {
    ProductClient client = new ProductClient(RestClientConfiguration.asAnonymous());
    RemoteCollection<Product> all = client.getAll();
    // from DatabaseDataInitializer
    assertThat(all).hasSize(1);
}
Also used : ProductClient(org.jboss.pnc.client.ProductClient) Product(org.jboss.pnc.dto.Product) ContainerTest(org.jboss.pnc.test.category.ContainerTest) Test(org.junit.Test) InSequence(org.jboss.arquillian.junit.InSequence)

Example 15 with ProductClient

use of org.jboss.pnc.client.ProductClient in project pnc by project-ncl.

the class ProductEndpointTest method testGetSpecific.

@Test
public void testGetSpecific() throws ClientException {
    ProductClient client = new ProductClient(RestClientConfiguration.asAnonymous());
    Product dto = client.getSpecific(productId);
    // from DatabaseDataInitializer
    assertThat(dto.getName()).isEqualTo("Project Newcastle Demo Product");
    // from
    assertThat(dto.getDescription()).isEqualTo("Example Product for Project Newcastle Demo");
// DatabaseDataInitializer
}
Also used : ProductClient(org.jboss.pnc.client.ProductClient) Product(org.jboss.pnc.dto.Product) ContainerTest(org.jboss.pnc.test.category.ContainerTest) Test(org.junit.Test)

Aggregations

ProductClient (org.jboss.pnc.client.ProductClient)16 Product (org.jboss.pnc.dto.Product)10 ContainerTest (org.jboss.pnc.test.category.ContainerTest)9 Test (org.junit.Test)9 BeforeClass (org.junit.BeforeClass)6 ProductVersionClient (org.jboss.pnc.client.ProductVersionClient)4 ProductVersion (org.jboss.pnc.dto.ProductVersion)4 InSequence (org.jboss.arquillian.junit.InSequence)3 ClientException (org.jboss.pnc.client.ClientException)3 ProductMilestone (org.jboss.pnc.dto.ProductMilestone)2 IOException (java.io.IOException)1 Instant (java.time.Instant)1 Iterator (java.util.Iterator)1 Map (java.util.Map)1 Optional (java.util.Optional)1 BadRequestException (javax.ws.rs.BadRequestException)1 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)1 Assertions.assertThatThrownBy (org.assertj.core.api.Assertions.assertThatThrownBy)1 Deployment (org.jboss.arquillian.container.test.api.Deployment)1 RunAsClient (org.jboss.arquillian.container.test.api.RunAsClient)1