ProcessJobTest.java
Home
/
unit /
java /
azkaban /
test /
jobExecutor /
ProcessJobTest.java
package azkaban.test.jobExecutor;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.apache.log4j.Logger;
import azkaban.utils.Props;
import azkaban.jobExecutor.AbstractProcessJob;
import azkaban.jobExecutor.ProcessJob;
public class ProcessJobTest
{
private ProcessJob job = null;
// private JobDescriptor descriptor = null;
private Props props = null;
private Logger log = Logger.getLogger(ProcessJob.class);
@Before
public void setUp() {
/* initialize job */
// props = EasyMock.createMock(Props.class);
props = new Props();
props.put(AbstractProcessJob.WORKING_DIR, ".");
props.put("type", "command");
props.put("fullPath", ".");
// EasyMock.expect(props.getString("type")).andReturn("command").times(1);
// EasyMock.expect(props.getProps()).andReturn(props).times(1);
// EasyMock.expect(props.getString("fullPath")).andReturn(".").times(1);
//
// EasyMock.replay(props);
job = new ProcessJob("TestProcess", props, props, log);
}
@Test
public void testOneUnixCommand() throws Exception {
/* initialize the Props */
props.put(ProcessJob.COMMAND, "ls -al");
props.put(ProcessJob.WORKING_DIR, ".");
job.run();
}
@Test
public void testFailedUnixCommand() throws Exception {
/* initialize the Props */
props.put(ProcessJob.COMMAND, "xls -al");
props.put(ProcessJob.WORKING_DIR, ".");
try {
job.run();
}catch (RuntimeException e) {
Assert.assertTrue(true);
e.printStackTrace();
}
}
@Test
public void testMultipleUnixCommands( ) throws Exception {
/* initialize the Props */
props.put(ProcessJob.WORKING_DIR, ".");
props.put(ProcessJob.COMMAND, "pwd");
props.put("command.1", "date");
props.put("command.2", "whoami");
job.run();
}
@Test
public void testPartitionCommand() throws Exception {
String test1 = "a b c";
Assert.assertArrayEquals(new String[] {"a", "b", "c"}, ProcessJob.partitionCommandLine(test1));
String test2 = "a 'b c'";
Assert.assertArrayEquals(new String[] {"a", "b c"}, ProcessJob.partitionCommandLine(test2));
String test3 = "a e='b c'";
Assert.assertArrayEquals(new String[] {"a", "e=b c"}, ProcessJob.partitionCommandLine(test3));
}
}