/** * Copyright (c) 2009--2015 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.kickstart.test; import com.redhat.rhn.domain.kickstart.KickstartData; import com.redhat.rhn.domain.kickstart.test.KickstartDataTest; import com.redhat.rhn.frontend.action.kickstart.KickstartPartitionEditAction; import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.frontend.struts.RhnAction; import com.redhat.rhn.testing.RhnPostMockStrutsTestCase; import com.redhat.rhn.testing.TestUtils; import org.apache.struts.action.DynaActionForm; /** * KickstartPreActionTest * @version $Rev: 1 $ */ public class KickstartPartitionActionTest extends RhnPostMockStrutsTestCase { private KickstartData ksdata; @Override public void setUp() throws Exception { super.setUp(); this.ksdata = KickstartDataTest.createKickstartWithOptions(user.getOrg()); TestUtils.saveAndFlush(ksdata); addRequestParameter(RequestContext.KICKSTART_ID, this.ksdata.getId().toString()); } public void testPopulatePartition() throws Exception { setRequestPathInfo("/kickstart/KickstartPartitionEdit"); addRequestParameter(RhnAction.SUBMITTED, Boolean.FALSE.toString()); actionPerform(); DynaActionForm form = (DynaActionForm) getActionForm(); String formval = (String)form.get(KickstartPartitionEditAction.PARTITIONS); assertTrue(formval.length() > 0); } public void testCleanSubmit() throws Exception { String data = "part swap --size=1000 --grow --maxsize=3000\n" + "logvol swap --fstype swap --name=lvswap --vgname=Volume00 --size=2048\n" + "volgroup myvg --fstype swap --level 0 --device 1 raid.05 raid.06 raid.07 raid.08"; setRequestPathInfo("/kickstart/KickstartPartitionEdit"); addRequestParameter(KickstartPartitionEditAction.SUBMITTED, Boolean.TRUE.toString()); addRequestParameter(KickstartPartitionEditAction.PARTITIONS, data); actionPerform(); DynaActionForm form = (DynaActionForm) getActionForm(); String formval = (String)form.get(KickstartPartitionEditAction.PARTITIONS); assertNotNull(formval); assertTrue(formval.length() > 0); assertEquals(data, formval); String[] keys = {"kickstart.partition.success", "kickstart.software.changeencryption"}; verifyActionMessages(keys); assertNotNull(ksdata.getPartitionData()); assertEquals(data, ksdata.getPartitionData()); } public void testMultipleSwapsSubmit() throws Exception { String data = "part swap --size=1000 --grow --maxsize=3000\n" + "partition swap --fstype swap --name=lvswap --vgname=Volume00 --size=2048\n" + "raid swap --fstype swap --level 0 --device 1 raid.05 raid.06 raid.07 raid.08"; setRequestPathInfo("/kickstart/KickstartPartitionEdit"); addRequestParameter(KickstartPartitionEditAction.SUBMITTED, Boolean.TRUE.toString()); addRequestParameter(KickstartPartitionEditAction.PARTITIONS, data); actionPerform(); DynaActionForm form = (DynaActionForm) getActionForm(); String formval = (String)form.get(KickstartPartitionEditAction.PARTITIONS); assertTrue(formval.length() > 0); assertEquals(data, formval); assertNotNull(ksdata.getPartitionData()); assertEquals(data, ksdata.getPartitionData()); String[] keys = {"kickstart.partition.success", "kickstart.software.changeencryption"}; verifyActionMessages(keys); } }