/** * Copyright (c) 2009--2012 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.frontend.action.errata.test; import com.redhat.rhn.common.db.datasource.DataResult; import com.redhat.rhn.domain.errata.Errata; import com.redhat.rhn.domain.errata.test.ErrataFactoryTest; import com.redhat.rhn.domain.rhnset.RhnSet; import com.redhat.rhn.domain.rhnset.RhnSetFactory; import com.redhat.rhn.domain.rhnset.SetCleanup; import com.redhat.rhn.domain.role.RoleFactory; import com.redhat.rhn.frontend.dto.OwnedErrata; import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.manager.rhnset.RhnSetDecl; import com.redhat.rhn.manager.rhnset.RhnSetManager; import com.redhat.rhn.testing.RhnMockStrutsTestCase; import java.util.Iterator; /** * PublishedDeleteConfirmSetupActionTest */ public class PublishedDeleteConfirmSetupActionTest extends RhnMockStrutsTestCase { public void setUp() throws Exception { super.setUp(); setRequestPathInfo("/errata/manage/PublishedDeleteConfirm"); user.getOrg().addRole(RoleFactory.CHANNEL_ADMIN); } public void testExecute() throws Exception { RhnSet errataToDelete = RhnSetFactory.createRhnSet(user.getId(), "errata_to_delete", SetCleanup.NOOP); /* Here we add both published and unpublished errata to the set * so that when we get the result back, we verify that we are only * published errata are appearing in the set. We add two * published for every unpublished so that we will not have an * equal number in the set */ for (int j = 0; j < 5; ++j) { Errata e = ErrataFactoryTest .createTestUnpublishedErrata(user.getOrg().getId()); errataToDelete.addElement(e.getId()); e = ErrataFactoryTest .createTestPublishedErrata(user.getOrg().getId()); errataToDelete.addElement(e.getId()); e = ErrataFactoryTest .createTestPublishedErrata(user.getOrg().getId()); errataToDelete.addElement(e.getId()); } RhnSetManager.store(errataToDelete); RhnSet set = RhnSetDecl.ERRATA_TO_DELETE.get(user); assertEquals(15, set.size()); actionPerform(); DataResult dr = (DataResult) request.getAttribute(RequestContext.PAGE_LIST); assertNotNull(dr); assertEquals(10, dr.size()); Iterator i = dr.iterator(); /* Verify that we only got published results back */ while (i.hasNext()) { OwnedErrata e = (OwnedErrata) i.next(); assertTrue(e.getPublished().equals(new Integer(1))); } } }