Search in sources :

Example 11 with ContentDTO

use of org.candlepin.dto.api.v1.ContentDTO in project candlepin by candlepin.

the class TestUtil method createContentDTO.

public static ContentDTO createContentDTO(String id, String name) {
    ContentDTO dto = new ContentDTO();
    dto.setId(id);
    dto.setName(name);
    return dto;
}
Also used : ContentDTO(org.candlepin.dto.api.v1.ContentDTO) ProductContentDTO(org.candlepin.dto.api.v1.ProductDTO.ProductContentDTO)

Example 12 with ContentDTO

use of org.candlepin.dto.api.v1.ContentDTO in project candlepin by candlepin.

the class ContentManagerTest method testCreateContentThatAlreadyExists.

@Test(expected = IllegalStateException.class)
public void testCreateContentThatAlreadyExists() {
    Owner owner = this.createOwner("test-owner", "Test Owner");
    ContentDTO dto = TestUtil.createContentDTO("c1", "content-1");
    dto.setLabel("test-label");
    dto.setType("test-test");
    dto.setVendor("test-vendor");
    Content output = this.contentManager.createContent(dto, owner);
    // Verify the creation worked
    assertNotNull(output);
    assertEquals(output, this.ownerContentCurator.getContentById(owner, dto.getId()));
    // This should fail, since it already exists
    this.contentManager.createContent(dto, owner);
}
Also used : ContentDTO(org.candlepin.dto.api.v1.ContentDTO) Owner(org.candlepin.model.Owner) Content(org.candlepin.model.Content) Test(org.junit.Test)

Example 13 with ContentDTO

use of org.candlepin.dto.api.v1.ContentDTO in project candlepin by candlepin.

the class ContentManagerTest method testCreateContentMergeWithExisting.

@Test
public void testCreateContentMergeWithExisting() {
    Owner owner1 = this.createOwner("test-owner-1", "Test Owner 1");
    Owner owner2 = this.createOwner("test-owner-2", "Test Owner 2");
    Content content1 = TestUtil.createContent("c1", "content-1");
    Content content2 = this.createContent("c1", "content-1", owner2);
    ContentDTO cdto = this.modelTranslator.translate(content1, ContentDTO.class);
    Content output = this.contentManager.createContent(cdto, owner1);
    assertEquals(content2.getUuid(), output.getUuid());
    assertEquals(content2, output);
    assertTrue(this.ownerContentCurator.isContentMappedToOwner(output, owner1));
    assertTrue(this.ownerContentCurator.isContentMappedToOwner(output, owner2));
}
Also used : ContentDTO(org.candlepin.dto.api.v1.ContentDTO) Owner(org.candlepin.model.Owner) Content(org.candlepin.model.Content) Test(org.junit.Test)

Example 14 with ContentDTO

use of org.candlepin.dto.api.v1.ContentDTO in project candlepin by candlepin.

the class ContentManagerTest method testUpdateContentDivergeFromExisting.

@Test
@Parameters({ "false", "true" })
public void testUpdateContentDivergeFromExisting(boolean regenCerts) {
    Owner owner1 = this.createOwner("test-owner-1", "Test Owner 1");
    Owner owner2 = this.createOwner("test-owner-2", "Test Owner 2");
    Product product = this.createProduct("p1", "product-1", owner1);
    Content content = this.createContent("c1", "content-1", owner1, owner2);
    ContentDTO update = TestUtil.createContentDTO("c1", "updated content");
    product.addContent(content, true);
    product = this.productCurator.merge(product);
    assertTrue(this.ownerContentCurator.isContentMappedToOwner(content, owner1));
    assertTrue(this.ownerContentCurator.isContentMappedToOwner(content, owner2));
    Content output = this.contentManager.updateContent(update, owner1, regenCerts);
    assertNotEquals(output.getUuid(), content.getUuid());
    assertTrue(this.ownerContentCurator.isContentMappedToOwner(output, owner1));
    assertFalse(this.ownerContentCurator.isContentMappedToOwner(output, owner2));
    assertFalse(this.ownerContentCurator.isContentMappedToOwner(content, owner1));
    assertTrue(this.ownerContentCurator.isContentMappedToOwner(content, owner2));
    if (regenCerts) {
        verify(this.mockEntCertGenerator, times(1)).regenerateCertificatesOf(eq(Arrays.asList(owner1)), anyCollectionOf(Product.class), anyBoolean());
    } else {
        verifyZeroInteractions(this.mockEntCertGenerator);
    }
}
Also used : ContentDTO(org.candlepin.dto.api.v1.ContentDTO) Owner(org.candlepin.model.Owner) Content(org.candlepin.model.Content) Product(org.candlepin.model.Product) Parameters(junitparams.Parameters) Test(org.junit.Test)

Example 15 with ContentDTO

use of org.candlepin.dto.api.v1.ContentDTO in project candlepin by candlepin.

the class ContentManagerTest method testCreateContent.

@Test
public void testCreateContent() {
    Owner owner = this.createOwner("test-owner", "Test Owner");
    ContentDTO dto = TestUtil.createContentDTO("c1", "content-1");
    dto.setLabel("test-label");
    dto.setType("test-test");
    dto.setVendor("test-vendor");
    assertNull(this.ownerContentCurator.getContentById(owner, dto.getId()));
    Content output = this.contentManager.createContent(dto, owner);
    assertEquals(output, this.ownerContentCurator.getContentById(owner, dto.getId()));
}
Also used : ContentDTO(org.candlepin.dto.api.v1.ContentDTO) Owner(org.candlepin.model.Owner) Content(org.candlepin.model.Content) Test(org.junit.Test)

Aggregations

ContentDTO (org.candlepin.dto.api.v1.ContentDTO)35 Content (org.candlepin.model.Content)30 Test (org.junit.Test)28 Owner (org.candlepin.model.Owner)26 Product (org.candlepin.model.Product)14 ProductContent (org.candlepin.model.ProductContent)9 ProductContentDTO (org.candlepin.dto.api.v1.ProductDTO.ProductContentDTO)8 ProductDTO (org.candlepin.dto.api.v1.ProductDTO)7 ContentDTO (org.candlepin.dto.manifest.v1.ContentDTO)7 LinkedList (java.util.LinkedList)5 ProductDTO (org.candlepin.dto.manifest.v1.ProductDTO)5 Transactional (com.google.inject.persist.Transactional)4 Parameters (junitparams.Parameters)4 ContentData (org.candlepin.model.dto.ContentData)4 Consumes (javax.ws.rs.Consumes)3 POST (javax.ws.rs.POST)3 Path (javax.ws.rs.Path)3 Produces (javax.ws.rs.Produces)3 ForbiddenException (org.candlepin.common.exceptions.ForbiddenException)3 ProductContentData (org.candlepin.model.dto.ProductContentData)3