/**
* 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.manager.kickstart.test;
import com.redhat.rhn.domain.kickstart.KickstartData;
import com.redhat.rhn.domain.kickstart.KickstartFactory;
import com.redhat.rhn.domain.kickstart.KickstartScript;
import com.redhat.rhn.manager.kickstart.KickstartScriptCreateCommand;
import com.redhat.rhn.manager.kickstart.KickstartScriptDeleteCommand;
import com.redhat.rhn.manager.kickstart.KickstartScriptEditCommand;
/**
* KickstartScriptTest
* @version $Rev$
*/
public class KickstartScriptCommandTest extends BaseKickstartCommandTestCase {
/**
* {@inheritDoc}
*/
public void setUp() throws Exception {
super.setUp();
}
public void testPreCreate() throws Exception {
// Lets zero out the scripts
ksdata.getScripts().clear();
KickstartFactory.saveKickstartData(ksdata);
ksdata = (KickstartData) reload(ksdata);
assertEquals(0, ksdata.getScripts().size());
// Now make sure we add a new one.
String language = "/usr/bin/perl";
String contents = "print \"some string\";\n";
String chroot = "N";
KickstartScriptCreateCommand cmd = new
KickstartScriptCreateCommand(ksdata.getId(), user);
assertNotNull(cmd.getKickstartData().getScripts());
KickstartScript kss = cmd.getScript();
assertNotNull(kss.getScriptType());
cmd.setScript(language, contents, KickstartScript.TYPE_PRE, chroot, false, null,
false);
cmd.store();
ksdata = (KickstartData) reload(ksdata);
assertEquals(contents, cmd.getContents());
assertEquals(language, cmd.getLanguage());
assertTrue(ksdata.getScripts().size() > 0);
}
public void testPreEdit() throws Exception {
KickstartScript kss = ksdata.getScripts().iterator().next();
String language = "/usr/bin/perl";
String contents = "print \"some string\";\n";
String chroot = "Y";
KickstartScriptEditCommand cmd =
new KickstartScriptEditCommand(ksdata.getId(), kss.getId(), user);
cmd.setScript(language, contents, KickstartScript.TYPE_PRE, chroot, true, null,
false);
cmd.store();
ksdata = (KickstartData) reload(ksdata);
assertEquals(contents, cmd.getContents());
assertEquals(language, cmd.getLanguage());
assertTrue(ksdata.getScripts().size() > 0);
}
public void testScriptDelete() throws Exception {
KickstartScript kss = ksdata.getScripts().iterator().next();
assertEquals(5, ksdata.getScripts().size());
KickstartScriptDeleteCommand cmd = new KickstartScriptDeleteCommand(ksdata.getId(),
kss.getId(), user);
cmd.store();
ksdata = (KickstartData) reload(ksdata);
assertEquals(4, ksdata.getScripts().size());
}
}