Search in sources :

Example 96 with Job

use of org.pentaho.di.job.Job in project pentaho-kettle by pentaho.

the class GetJobImageServletTest method testGetJobImageServletByJobName.

@Test
public void testGetJobImageServletByJobName() throws Exception {
    Job job = buildJob();
    doReturn(GetJobImageServlet.CONTEXT_PATH).when(mockHttpServletRequest).getContextPath();
    doReturn(JOB_NAME).when(mockHttpServletRequest).getParameter("name");
    doReturn(USE_XML).when(mockHttpServletRequest).getParameter("xml");
    jobMap.addJob(JOB_NAME, JOB_ID, job, null);
    // mock job image generation.
    BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_ARGB);
    doReturn(image).when(spyGetJobImageServlet).generateJobImage(any());
    mockOutputStream();
    spyGetJobImageServlet.doGet(mockHttpServletRequest, spyHttpServletResponse);
    assertTrue(spyHttpServletResponse.getOutputStream().toString().contains("PNG"));
}
Also used : Job(org.pentaho.di.job.Job) BufferedImage(java.awt.image.BufferedImage) Test(org.junit.Test)

Example 97 with Job

use of org.pentaho.di.job.Job in project pentaho-kettle by pentaho.

the class GetJobImageServletTest method testGetJobImageServletByJobNameDuplicate.

@Test
public void testGetJobImageServletByJobNameDuplicate() throws Exception {
    // Second jobId with the same JOB_NAME.
    String secondJobId = "456";
    Job job = buildJob();
    doReturn(GetJobImageServlet.CONTEXT_PATH).when(mockHttpServletRequest).getContextPath();
    doReturn(JOB_NAME).when(mockHttpServletRequest).getParameter("name");
    doReturn(USE_XML).when(mockHttpServletRequest).getParameter("xml");
    jobMap.addJob(JOB_NAME, JOB_ID, job, null);
    jobMap.addJob(JOB_NAME, secondJobId, job, null);
    StringWriter out = mockWriter();
    spyGetJobImageServlet.doGet(mockHttpServletRequest, spyHttpServletResponse);
    String message = BaseMessages.getString(PKG, "GetJobImageServlet.Error.DuplicateJobName", JOB_NAME);
    assertTrue(out.toString().contains(Encode.forHtml(message)));
}
Also used : StringWriter(java.io.StringWriter) Job(org.pentaho.di.job.Job) Test(org.junit.Test)

Example 98 with Job

use of org.pentaho.di.job.Job in project pentaho-kettle by pentaho.

the class GetJobStatusServletTest method testGetJobStatus.

@Test
@PrepareForTest({ Job.class })
public void testGetJobStatus() throws ServletException, IOException {
    KettleLogStore.init();
    CarteStatusCache cacheMock = mock(CarteStatusCache.class);
    getJobStatusServlet.cache = cacheMock;
    HttpServletRequest mockHttpServletRequest = mock(HttpServletRequest.class);
    HttpServletResponse mockHttpServletResponse = mock(HttpServletResponse.class);
    Job mockJob = PowerMockito.mock(Job.class);
    JobMeta mockJobMeta = mock(JobMeta.class);
    LogChannelInterface mockLogChannelInterface = mock(LogChannelInterface.class);
    ServletOutputStream outMock = mock(ServletOutputStream.class);
    StringWriter out = new StringWriter();
    PrintWriter printWriter = new PrintWriter(out);
    String id = "123";
    String logId = "logId";
    String useXml = "Y";
    String name = "dummyName";
    when(mockHttpServletRequest.getContextPath()).thenReturn(GetJobStatusServlet.CONTEXT_PATH);
    when(mockHttpServletRequest.getParameter("id")).thenReturn(id);
    when(mockHttpServletRequest.getParameter("xml")).thenReturn(useXml);
    when(mockHttpServletRequest.getParameter("name")).thenReturn(ServletTestUtils.BAD_STRING_TO_TEST);
    when(mockHttpServletResponse.getOutputStream()).thenReturn(outMock);
    when(mockHttpServletResponse.getWriter()).thenReturn(printWriter);
    when(mockJobMap.getJob((CarteObjectEntry) any())).thenReturn(mockJob);
    PowerMockito.when(mockJob.getJobname()).thenReturn(ServletTestUtils.BAD_STRING_TO_TEST);
    PowerMockito.when(mockJob.getLogChannel()).thenReturn(mockLogChannelInterface);
    PowerMockito.when(mockJob.getJobMeta()).thenReturn(mockJobMeta);
    PowerMockito.when(mockJob.isFinished()).thenReturn(true);
    PowerMockito.when(mockJob.getLogChannelId()).thenReturn(logId);
    PowerMockito.when(mockJobMeta.getMaximum()).thenReturn(new Point(10, 10));
    when(mockJob.getStatus()).thenReturn("Finished");
    getJobStatusServlet.doGet(mockHttpServletRequest, mockHttpServletResponse);
    when(cacheMock.get(logId, 0)).thenReturn(new byte[] { 0, 1, 2 });
    getJobStatusServlet.doGet(mockHttpServletRequest, mockHttpServletResponse);
    verify(cacheMock, times(2)).get(logId, 0);
    verify(cacheMock, times(1)).put(eq(logId), anyString(), eq(0));
    verify(mockJob, times(1)).getLogChannel();
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) JobMeta(org.pentaho.di.job.JobMeta) StringWriter(java.io.StringWriter) ServletOutputStream(javax.servlet.ServletOutputStream) HttpServletResponse(javax.servlet.http.HttpServletResponse) CarteStatusCache(org.pentaho.di.www.cache.CarteStatusCache) Matchers.anyString(org.mockito.Matchers.anyString) Point(org.pentaho.di.core.gui.Point) Job(org.pentaho.di.job.Job) LogChannelInterface(org.pentaho.di.core.logging.LogChannelInterface) PrintWriter(java.io.PrintWriter) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 99 with Job

use of org.pentaho.di.job.Job in project pentaho-kettle by pentaho.

the class GetJobStatusServletTest method testGetJobStatusServletEscapesHtmlWhenTransFound.

@Test
@PrepareForTest({ Encode.class, Job.class })
public void testGetJobStatusServletEscapesHtmlWhenTransFound() throws ServletException, IOException {
    KettleLogStore.init();
    HttpServletRequest mockHttpServletRequest = mock(HttpServletRequest.class);
    HttpServletResponse mockHttpServletResponse = mock(HttpServletResponse.class);
    Job mockJob = PowerMockito.mock(Job.class);
    JobMeta mockJobMeta = mock(JobMeta.class);
    LogChannelInterface mockLogChannelInterface = mock(LogChannelInterface.class);
    StringWriter out = new StringWriter();
    PrintWriter printWriter = new PrintWriter(out);
    PowerMockito.spy(Encode.class);
    when(mockHttpServletRequest.getContextPath()).thenReturn(GetJobStatusServlet.CONTEXT_PATH);
    when(mockHttpServletRequest.getParameter(anyString())).thenReturn(ServletTestUtils.BAD_STRING_TO_TEST);
    when(mockHttpServletResponse.getWriter()).thenReturn(printWriter);
    when(mockJobMap.getJob(any(CarteObjectEntry.class))).thenReturn(mockJob);
    PowerMockito.when(mockJob.getJobname()).thenReturn(ServletTestUtils.BAD_STRING_TO_TEST);
    PowerMockito.when(mockJob.getLogChannel()).thenReturn(mockLogChannelInterface);
    PowerMockito.when(mockJob.getJobMeta()).thenReturn(mockJobMeta);
    PowerMockito.when(mockJobMeta.getMaximum()).thenReturn(new Point(10, 10));
    getJobStatusServlet.doGet(mockHttpServletRequest, mockHttpServletResponse);
    assertFalse(out.toString().contains(ServletTestUtils.BAD_STRING_TO_TEST));
    PowerMockito.verifyStatic(atLeastOnce());
    Encode.forHtml(anyString());
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) JobMeta(org.pentaho.di.job.JobMeta) StringWriter(java.io.StringWriter) HttpServletResponse(javax.servlet.http.HttpServletResponse) Point(org.pentaho.di.core.gui.Point) Job(org.pentaho.di.job.Job) LogChannelInterface(org.pentaho.di.core.logging.LogChannelInterface) PrintWriter(java.io.PrintWriter) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 100 with Job

use of org.pentaho.di.job.Job in project pentaho-kettle by pentaho.

the class GetStatusServletTest method setupForJobDroppedFromMap.

private void setupForJobDroppedFromMap(HttpServletRequest mockHttpServletRequest, HttpServletResponse mockHttpServletResponse, StringWriter out) throws IOException {
    KettleLogStore.init();
    Trans mockTrans = mock(Trans.class);
    TransMeta mockTransMeta = mock(TransMeta.class);
    LogChannelInterface mockChannelInterface = mock(LogChannelInterface.class);
    PrintWriter printWriter = new PrintWriter(out);
    CarteObjectEntry carteObjectEntry1 = new CarteObjectEntry("name1", "testJobId1");
    CarteObjectEntry carteObjectEntry2 = new CarteObjectEntry("name2", "testJobId2");
    when(mockHttpServletRequest.getContextPath()).thenReturn(GetStatusServlet.CONTEXT_PATH);
    when(mockHttpServletResponse.getWriter()).thenReturn(printWriter);
    Job mockJob = mock(Job.class);
    when(mockJobMap.getJobObjects()).thenReturn(Arrays.asList(carteObjectEntry1, carteObjectEntry2));
    when(mockJobMap.getJob(carteObjectEntry1)).thenReturn(// Would have done this anyways but this line is to show it is required
    null);
    when(mockJobMap.getJob(carteObjectEntry2)).thenReturn(mockJob);
}
Also used : TransMeta(org.pentaho.di.trans.TransMeta) Job(org.pentaho.di.job.Job) Trans(org.pentaho.di.trans.Trans) LogChannelInterface(org.pentaho.di.core.logging.LogChannelInterface) PrintWriter(java.io.PrintWriter)

Aggregations

Job (org.pentaho.di.job.Job)122 Test (org.junit.Test)52 JobMeta (org.pentaho.di.job.JobMeta)50 Result (org.pentaho.di.core.Result)25 PrintWriter (java.io.PrintWriter)22 KettleException (org.pentaho.di.core.exception.KettleException)20 LogChannelInterface (org.pentaho.di.core.logging.LogChannelInterface)20 Trans (org.pentaho.di.trans.Trans)20 JobEntryCopy (org.pentaho.di.job.entry.JobEntryCopy)18 StringWriter (java.io.StringWriter)14 HttpServletRequest (javax.servlet.http.HttpServletRequest)12 HttpServletResponse (javax.servlet.http.HttpServletResponse)12 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)12 Before (org.junit.Before)11 Point (org.pentaho.di.core.gui.Point)11 Repository (org.pentaho.di.repository.Repository)11 ArrayList (java.util.ArrayList)10 JobExecutionConfiguration (org.pentaho.di.job.JobExecutionConfiguration)10 TransMeta (org.pentaho.di.trans.TransMeta)10 File (java.io.File)9