job.setCode(rs.getString("code")); job.setResultQuery(rs.getString("resultQuery")); job.setResultTable(rs.getString("resultTable")); job.setCronString(rs.getString("cronString")); job.setDriver(rs.getString("driver"));
public static JobSpec getTestScript(String aName, JobDao dao) { JobSpec aJob = getTestJob(aName, dao); aJob.setType(JobType.Script); aJob.setCode("echo 'beep';"); aJob.setResultTable(null); return aJob; }
public static JobSpec getTestJob(String aName, JobDao dao) { JobSpec aJob = new JobSpec(); aJob.setName(aName); DateTime now = Utils.getCurrentTime(); aJob.setCronString(String.format("%d * * * *", now.getHourOfDay())); aJob.setDriver(H2TestUtil.H2_NAME); aJob.setCode("show tables;"); aJob.setResultTable("ARESULTTABLE"); aJob.setEnabled(true); aJob.setStatusEmail(Collections.singletonList("blah@example.com")); aJob.setType(JobType.Query); return aJob; }
@Test(timeout=2000) public void testBasicWithFail() throws Exception { String resultTable = "SHOULDNT_EXIST"; // make sure table doesn't exist dropTable(resultTable); JobSpec aJob = getTestJob("Michael Scott", dao); aJob.setResultTable(resultTable); // Second query should not be executed since the first one fails aJob.setCode("select * from something_that_fails; " + String.format("CREATE TABLE %s AS SELECT time, url, type FROM %s;", aJob.getResultTable(), H2TestJobDaoImpl.testTableName)); try { dao.createJob(aJob); } catch (Exception ex) { ex.printStackTrace(); } runRunnable(agentDriver); List<PlannedJob> expected = new ArrayList<>(); expected.add(new PlannedJob(aJob, Utils.getCurrentTime())); assertEquals(expected, dao.getQueue(aJob.getId())); expected.clear(); runRunnable(consumer); assertEquals(expected, dao.getQueue(null)); List<String> actual = getResults(aJob); assertEquals(new ArrayList<String>(), actual); assertEquals(false, dao.showTables().contains(resultTable)); }
@Test(timeout=2000) public void testBasic() throws Exception { String jobName = "Jean Paul Sartre"; for (JobSpec aJob : new JobSpec[]{ getTestJob(jobName, dao), getTestScript(jobName, dao) }) { aJob.setResultTable(null); try { dao.createJob(aJob); } catch (Exception ex) { ex.printStackTrace(); } runRunnable(agentDriver); List<PlannedJob> expected = new ArrayList<>(); expected.add(new PlannedJob(aJob, Utils.getCurrentTime())); assertEquals(expected, dao.getQueue(aJob.getId())); expected.clear(); runRunnable(consumer); assertEquals(expected, dao.getQueue(null)); dao.deleteJob(aJob.getId()); } }