/** * Copyright (c) 2009--2010 Red Hat, Inc. * * This software is licensed to you under the GNU General Public License, * version 2 (GPLv2). There is NO WARRANTY for this software, express or * implied, including the implied warranties of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 * along with this software; if not, see * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. * * Red Hat trademarks are not licensed under GPLv2. No permission is * granted to use or replicate Red Hat trademarks that are incorporated * in this software or its documentation. */ package com.redhat.rhn.domain.action.rhnpackage.test; import com.redhat.rhn.domain.action.Action; import com.redhat.rhn.domain.action.rhnpackage.PackageAction; import com.redhat.rhn.domain.action.rhnpackage.PackageActionDetails; import com.redhat.rhn.domain.action.rhnpackage.PackageActionResult; import com.redhat.rhn.domain.rhnpackage.PackageArch; import com.redhat.rhn.domain.rhnpackage.PackageEvr; import com.redhat.rhn.domain.rhnpackage.PackageName; import com.redhat.rhn.domain.rhnpackage.test.PackageEvrFactoryTest; import com.redhat.rhn.domain.rhnpackage.test.PackageNameTest; import com.redhat.rhn.domain.server.test.ServerFactoryTest; import com.redhat.rhn.domain.user.User; import com.redhat.rhn.testing.RhnBaseTestCase; import com.redhat.rhn.testing.TestUtils; import java.util.Date; import java.util.HashSet; import java.util.Set; /** * PackageActionDetailsTest * @version $Rev$ */ public class PackageActionDetailsTest extends RhnBaseTestCase { public void testBeanMethods() throws Exception { PackageActionDetails pad = new PackageActionDetails(); Long id = new Long(456); Date now = new Date(); String foo = "foo"; Long testid = new Long(100); PackageArch arch = (PackageArch) TestUtils .lookupFromCacheById(testid, "PackageArch.findById"); PackageEvr evr = PackageEvrFactoryTest.createTestPackageEvr(); PackageName pn = PackageNameTest.createTestPackageName(); PackageAction action = new PackageAction(); pad.setCreated(now); assertEquals(now, pad.getCreated()); pad.setModified(now); assertEquals(now, pad.getModified()); pad.setPackageId(id); assertEquals(id, pad.getPackageId()); pad.setParameter(foo); assertEquals(foo, pad.getParameter()); pad.setArch(arch); assertTrue(arch.equals(pad.getArch())); pad.setEvr(evr); assertTrue(evr.equals(pad.getEvr())); pad.setPackageName(pn); assertTrue(pn.equals(pad.getPackageName())); pad.setParentAction(action); assertTrue(action.equals(pad.getParentAction())); } public void testResultSetting() { PackageActionDetails pad = new PackageActionDetails(); pad.setParentAction(new Action()); PackageActionResult par = new PackageActionResult(); PackageActionResult par1 = new PackageActionResult(); PackageActionResult par2 = new PackageActionResult(); par.setResultCode(new Long(20)); par1.setResultCode(new Long(40)); //so that none are equal assertNotNull(pad.getResults()); pad.addResult(par); assertEquals(1, pad.getResults().size()); assertNotNull(pad.getResults().toArray()[0]); assertEquals(par, pad.getResults().toArray()[0]); pad.addResult(par1); assertEquals(2, pad.getResults().size()); assertFalse(pad.getResults().contains(null)); assertTrue(pad.getResults().contains(par1)); Set results = new HashSet(); results.add(par); results.add(par1); results.add(par2); pad.setResults(results); assertEquals(3, pad.getResults().size()); assertEquals(results, pad.getResults()); } public void testEquals() { PackageActionDetails pad = new PackageActionDetails(); PackageActionDetails pad1 = new PackageActionDetails(); Action parent = new Action(); Action parent1 = new Action(); parent.setId(new Long(3)); parent1.setId(new Long(2)); assertTrue(pad.equals(pad1)); pad.setParentAction(parent); assertFalse(pad.equals(pad1)); assertFalse(pad1.equals(pad)); pad1.setParentAction(parent1); assertFalse(pad.equals(pad1)); parent1.setId(new Long(3)); assertTrue(pad.equals(pad1)); pad1.setParentAction(parent); assertTrue(pad.equals(pad1)); pad.setPackageId(new Long(2)); assertFalse(pad.equals(pad1)); assertFalse(pad1.equals(pad)); pad1.setPackageId(new Long(3)); assertFalse(pad.equals(pad1)); pad.setPackageId(new Long(3)); assertTrue(pad.equals(pad1)); } // Some PackageActionDetails objects have package name only public static PackageActionDetails createTestDetailsWithName(User user, Action parent) throws Exception { PackageActionDetails pad = new PackageActionDetails(); pad.setParameter("upgrade"); Long testid = new Long(100); pad.setArch((PackageArch) TestUtils .lookupFromCacheById(testid, "PackageArch.findById")); pad.setPackageName(PackageNameTest.createTestPackageName()); ((PackageAction) parent).addDetail(pad); //add parent before result because parent needed for hashcode PackageActionResult par = new PackageActionResult(); par.setServer(ServerFactoryTest.createTestServer(user)); par.setResultCode(new Long(3)); par.setCreated(new Date()); par.setModified(new Date()); pad.addResult(par); return pad; } // Some PackageActionDetails objects have package name and package evr public static PackageActionDetails createTestDetailsWithNvre(User user, Action parent) throws Exception { PackageActionDetails pad = new PackageActionDetails(); pad.setParameter("upgrade"); Long testid = new Long(100); pad.setArch((PackageArch) TestUtils .lookupFromCacheById(testid, "PackageArch.findById")); pad.setPackageName(PackageNameTest.createTestPackageName()); pad.setEvr(PackageEvrFactoryTest.createTestPackageEvr()); ((PackageAction) parent).addDetail(pad); //add parent before result because parent needed for hashcode PackageActionResult par = new PackageActionResult(); par.setServer(ServerFactoryTest.createTestServer(user)); par.setResultCode(new Long(3)); par.setCreated(new Date()); par.setModified(new Date()); pad.addResult(par); return pad; } }