Search in sources :

Example 66 with Product

use of org.candlepin.model.Product in project candlepin by candlepin.

the class ProductManagerTest method testAddContentToProduct.

@Test
public void testAddContentToProduct() {
    Owner owner = this.createOwner("test-owner-1", "Test Owner 1");
    Product product = this.createProduct("p1", "prod1");
    Content content = this.createContent("c1", "content1", owner);
    this.ownerProductCurator.mapProductToOwners(product, owner);
    ProductDTO pdto = this.modelTranslator.translate(product, ProductDTO.class);
    ContentDTO cdto = this.modelTranslator.translate(content, ContentDTO.class);
    pdto.addContent(cdto, true);
    Product output = this.productManager.updateProduct(pdto, owner, false);
    assertNotEquals(product, output);
    assertTrue(output.hasContent(content.getId()));
    verifyZeroInteractions(this.mockEntCertGenerator);
}
Also used : ContentDTO(org.candlepin.dto.api.v1.ContentDTO) Owner(org.candlepin.model.Owner) ProductContent(org.candlepin.model.ProductContent) Content(org.candlepin.model.Content) Product(org.candlepin.model.Product) ProductDTO(org.candlepin.dto.api.v1.ProductDTO) Test(org.junit.Test)

Example 67 with Product

use of org.candlepin.model.Product in project candlepin by candlepin.

the class ProductManagerTest method testRemoveContentFromProductForBadOwner.

@Test(expected = IllegalStateException.class)
public void testRemoveContentFromProductForBadOwner() {
    Owner owner = this.createOwner("test-owner", "Test Owner");
    Owner owner2 = this.createOwner("test-owner-2", "Test Owner");
    Product product = TestUtil.createProduct("p1", "prod1");
    Content content = TestUtil.createContent("c1");
    product.addContent(content, true);
    this.contentCurator.create(content);
    this.productCurator.create(product);
    this.ownerProductCurator.mapProductToOwner(product, owner);
    this.ownerContentCurator.mapContentToOwner(content, owner);
    ProductDTO pdto = this.modelTranslator.translate(product, ProductDTO.class);
    boolean removed = pdto.removeContent(content.getId());
    assertTrue(removed);
    Product output = this.productManager.updateProduct(pdto, owner2, false);
}
Also used : Owner(org.candlepin.model.Owner) ProductContent(org.candlepin.model.ProductContent) Content(org.candlepin.model.Content) Product(org.candlepin.model.Product) ProductDTO(org.candlepin.dto.api.v1.ProductDTO) Test(org.junit.Test)

Example 68 with Product

use of org.candlepin.model.Product in project candlepin by candlepin.

the class ProductManagerTest method testRemoveProductWithSubscriptions.

@Test(expected = IllegalStateException.class)
public void testRemoveProductWithSubscriptions() {
    long now = System.currentTimeMillis();
    Owner owner = this.createOwner("test-owner", "Test Owner");
    Product product = this.createProduct("p1", "prod1", owner);
    Pool pool = this.createPool(owner, product, 1L, new Date(now - 86400), new Date(now + 86400));
    this.productManager.removeProduct(owner, product);
}
Also used : Owner(org.candlepin.model.Owner) Product(org.candlepin.model.Product) Pool(org.candlepin.model.Pool) Date(java.util.Date) Test(org.junit.Test)

Example 69 with Product

use of org.candlepin.model.Product in project candlepin by candlepin.

the class ProductManagerTest method testUpdateProductConvergeWithExisting.

@Test
@Parameters({ "false", "true" })
public void testUpdateProductConvergeWithExisting(boolean regenCerts) {
    Owner owner1 = this.createOwner("test-owner-1", "Test Owner 1");
    Owner owner2 = this.createOwner("test-owner-2", "Test Owner 2");
    Product product1 = this.createProduct("p1", "prod1", owner1);
    Product product2 = this.createProduct("p1", "updated product", owner2);
    ProductDTO update = TestUtil.createProductDTO("p1", "updated product");
    assertTrue(this.ownerProductCurator.isProductMappedToOwner(product1, owner1));
    assertFalse(this.ownerProductCurator.isProductMappedToOwner(product2, owner1));
    assertFalse(this.ownerProductCurator.isProductMappedToOwner(product1, owner2));
    assertTrue(this.ownerProductCurator.isProductMappedToOwner(product2, owner2));
    Product output = this.productManager.updateProduct(update, owner1, regenCerts);
    assertEquals(output.getUuid(), product2.getUuid());
    assertFalse(this.ownerProductCurator.isProductMappedToOwner(product1, owner1));
    assertTrue(this.ownerProductCurator.isProductMappedToOwner(product2, owner1));
    assertFalse(this.ownerProductCurator.isProductMappedToOwner(product1, owner2));
    assertTrue(this.ownerProductCurator.isProductMappedToOwner(product2, owner2));
    if (regenCerts) {
        verify(this.mockEntCertGenerator, times(1)).regenerateCertificatesOf(eq(Arrays.asList(owner1)), anyCollectionOf(Product.class), anyBoolean());
    } else {
        verifyZeroInteractions(this.mockEntCertGenerator);
    }
}
Also used : Owner(org.candlepin.model.Owner) Product(org.candlepin.model.Product) ProductDTO(org.candlepin.dto.api.v1.ProductDTO) Parameters(junitparams.Parameters) Test(org.junit.Test)

Example 70 with Product

use of org.candlepin.model.Product in project candlepin by candlepin.

the class ProductManagerTest method testCreateProduct.

@Test
public void testCreateProduct() {
    Owner owner = this.createOwner("test-owner", "Test Owner");
    ProductDTO dto = TestUtil.createProductDTO("p1", "prod1");
    assertNull(this.ownerProductCurator.getProductById(owner, "p1"));
    Product output = this.productManager.createProduct(dto, owner);
    assertEquals(output, this.ownerProductCurator.getProductById(owner, "p1"));
}
Also used : Owner(org.candlepin.model.Owner) Product(org.candlepin.model.Product) ProductDTO(org.candlepin.dto.api.v1.ProductDTO) Test(org.junit.Test)

Aggregations

Product (org.candlepin.model.Product)407 Test (org.junit.Test)281 Pool (org.candlepin.model.Pool)216 Owner (org.candlepin.model.Owner)153 Consumer (org.candlepin.model.Consumer)112 ConsumerInstalledProduct (org.candlepin.model.ConsumerInstalledProduct)108 HashSet (java.util.HashSet)84 Date (java.util.Date)74 ArrayList (java.util.ArrayList)69 Entitlement (org.candlepin.model.Entitlement)67 LinkedList (java.util.LinkedList)66 HashMap (java.util.HashMap)65 Subscription (org.candlepin.model.dto.Subscription)47 Content (org.candlepin.model.Content)40 ValidationResult (org.candlepin.policy.ValidationResult)38 SourceSubscription (org.candlepin.model.SourceSubscription)36 Matchers.anyString (org.mockito.Matchers.anyString)31 List (java.util.List)29 PoolQuantity (org.candlepin.model.PoolQuantity)29 DateRange (org.candlepin.policy.js.compliance.DateRange)27