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"));
}
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)));
}
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();
}
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());
}
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);
}
Aggregations