package org.rhq.enterprise.server.content.test; import javax.persistence.EntityManager; import javax.transaction.TransactionManager; import org.testng.annotations.Test; import org.rhq.core.domain.auth.Subject; import org.rhq.core.domain.content.Advisory; import org.rhq.core.domain.content.AdvisoryCVE; import org.rhq.core.domain.content.AdvisoryPackage; import org.rhq.core.domain.content.Architecture; import org.rhq.core.domain.content.CVE; import org.rhq.core.domain.content.Package; import org.rhq.core.domain.content.PackageCategory; import org.rhq.core.domain.content.PackageType; import org.rhq.core.domain.content.PackageVersion; import org.rhq.core.domain.resource.ResourceCategory; import org.rhq.core.domain.resource.ResourceType; import org.rhq.core.domain.util.PageControl; import org.rhq.core.domain.util.PageList; import org.rhq.enterprise.server.content.AdvisoryManagerLocal; import org.rhq.enterprise.server.test.AbstractEJB3Test; import org.rhq.enterprise.server.util.LookupUtil; /** * @author Pradeep Kilambi */ public class AdvisoryManagerBeanTest extends AbstractEJB3Test { private final static boolean ENABLED = true; private AdvisoryManagerLocal advManager; private Subject overlord; private PackageType packageType1; @Override protected void beforeMethod() throws Exception { TransactionManager tx = getTransactionManager(); tx.begin(); advManager = LookupUtil.getAdvisoryManagerLocal(); overlord = LookupUtil.getSubjectManager().getOverlord(); } @Override protected void afterMethod() throws Exception { TransactionManager tx = getTransactionManager(); if (tx != null) { tx.rollback(); } } @Test(enabled = ENABLED) public void createDeleteAdvisory() throws Exception { String advisory = "RHBA-2009:1202-3"; String advisoryType = "BugFix Advisory"; String synopsis = "synopsis to test advisory creation"; int id1 = advManager.createAdvisory(overlord, advisory, advisoryType, synopsis).getId(); Advisory advobject = advManager.getAdvisoryByName(advisory); assert advobject != null; assert id1 == advobject.getId(); advManager.deleteAdvisoryByAdvId(overlord, advobject.getId()); advobject = advManager.getAdvisoryByName(advobject.getAdvisory()); assert advobject == null; } @Test(enabled = ENABLED) public void getCVEFromAdvisoryTest() throws Exception { EntityManager entityManager = getEntityManager(); String advisory = "RHBA-2009:1202-4"; String advisoryType = "BugFix Advisory"; String synopsis = "synopsis to test advisory creation"; Advisory advobject = new Advisory(advisory, advisoryType, synopsis); entityManager.persist(advobject); int id1 = advobject.getId(); entityManager.flush(); CVE cve = advManager.createCVE(overlord, "CAN-2009:1203"); AdvisoryCVE advisory_cve = advManager.createAdvisoryCVE(overlord, advobject, cve); PageList<AdvisoryCVE> cvelist = advManager.getAdvisoryCVEByAdvId(overlord, id1, PageControl .getUnlimitedInstance()); assert cvelist != null; assert cvelist.size() != 0; advManager.deleteAdvisoryCVE(overlord, id1); advManager.deleteCVE(overlord, cve.getId()); advManager.deleteAdvisoryByAdvId(overlord, advobject.getId()); advobject = advManager.getAdvisoryByName(advobject.getAdvisory()); assert advobject == null; } @Test(enabled = ENABLED) public void getPackagesForAdvisoryTest() throws Exception { EntityManager em = getEntityManager(); String advisory = "RHBA-2009:1202-4"; String advisoryType = "BugFix Advisory"; String synopsis = "synopsis to test advisory creation"; Advisory advobject = advManager.createAdvisory(overlord, advisory, advisoryType, synopsis); //new Advisory(advisory, advisoryType, synopsis); int id1 = advobject.getId(); ResourceType resourceType1 = new ResourceType("platform-" + System.currentTimeMillis(), "TestPlugin", ResourceCategory.PLATFORM, null); em.persist(resourceType1); em.flush(); Architecture architecture1 = em.find(Architecture.class, 1); // Add package types to resource type packageType1 = new PackageType(); packageType1.setName("package1-" + System.currentTimeMillis()); packageType1.setDescription(""); packageType1.setCategory(PackageCategory.DEPLOYABLE); packageType1.setDisplayName("TestResourcePackage"); packageType1.setCreationData(true); packageType1.setResourceType(resourceType1); em.persist(packageType1); em.flush(); Package package1 = new Package("Package1", packageType1); package1.addVersion(new PackageVersion(package1, "1.0.0", architecture1)); package1.addVersion(new PackageVersion(package1, "2.0.0", architecture1)); em.persist(package1); em.flush(); //AdvisoryPackage ap = new AdvisoryPackage(advobject, package1); //em.persist(ap); AdvisoryPackage ap = advManager.createAdvisoryPackage(overlord, advobject, package1.getVersions().get(0)); PageList<AdvisoryPackage> pkglist = advManager.findPackageByAdvisory(overlord, id1, PageControl .getUnlimitedInstance()); assert pkglist != null; assert pkglist.size() != 0; } }