Package azkaban.jobs.builtin

Source Code of azkaban.jobs.builtin.ProcessJobTest

package azkaban.jobs.builtin;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.easymock.classextension.EasyMock;

import azkaban.app.JobDescriptor;
import azkaban.common.utils.Props;
import azkaban.jobs.AbstractProcessJob;
import azkaban.jobs.builtin.ProcessJob;


public class ProcessJobTest
{
  private ProcessJob job = null;
  private JobDescriptor descriptor = null;
  private Props props = null;
  @Before
  public void setUp() {
   
    /*  initialize job */
    descriptor = EasyMock.createMock(JobDescriptor.class);
   
    props = new Props();
    props.put(AbstractProcessJob.WORKING_DIR, ".");
   
    EasyMock.expect(descriptor.getId()).andReturn("process").times(1);
    EasyMock.expect(descriptor.getResolvedProps()).andReturn(props).times(1);
    EasyMock.expect(descriptor.getFullPath()).andReturn(".").times(1);
   
    EasyMock.replay(descriptor);
   
    job = new ProcessJob(descriptor);
   
    EasyMock.verify(descriptor);
  }
 
  @Test
  public void testOneUnixCommand() {
    /* initialize the Props */
    props.put(ProcessJob.COMMAND, "ls -al");
    props.put(ProcessJob.WORKING_DIR, ".");

    job.run();
   
  }

  @Test
  public void testFailedUnixCommand() {
    /* 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( ) {
      /* 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();
    }
}

TOP

Related Classes of azkaban.jobs.builtin.ProcessJobTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.