public HttpResponseMessage GetTriggeredJobHistory(string jobName) { string etag = GetRequestETag(); string currentETag; TriggeredJobHistory history = _triggeredJobsManager.GetJobHistory(jobName, etag, out currentETag); if (history == null && currentETag == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } HttpResponseMessage response; if (etag == currentETag) { response = Request.CreateResponse(HttpStatusCode.NotModified); } else { response = Request.CreateResponse(HttpStatusCode.OK, history); } response.Headers.ETag = new EntityTagHeaderValue(currentETag); return(response); }
public HttpResponseMessage GetTriggeredJobHistory(string jobName) { string etag = GetRequestETag(); string currentETag; TriggeredJobHistory history = _triggeredJobsManager.GetJobHistory(jobName, etag, out currentETag); if (history == null && currentETag == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } HttpResponseMessage response; if (etag == currentETag) { response = Request.CreateResponse(HttpStatusCode.NotModified); } else { object triggeredJobHistoryResponse = history != null && ArmUtils.IsArmRequest(Request) ? ArmUtils.AddEnvelopeOnArmRequest(history.TriggeredJobRuns, Request) : history; response = Request.CreateResponse(HttpStatusCode.OK, triggeredJobHistoryResponse); } response.Headers.ETag = new EntityTagHeaderValue(currentETag); return(response); }
private void VerifyTriggeredJobTriggers(ApplicationManager appManager, string jobName, int expectedNumberOfRuns, string expectedStatus, string expectedOutput = null, string expectedError = null, string arguments = null) { appManager.JobsManager.InvokeTriggeredJobAsync(jobName, arguments).Wait(); WaitUntilAssertVerified( "verify triggered job run", TimeSpan.FromSeconds(20), () => { TriggeredJobHistory triggeredJobHistory = appManager.JobsManager.GetTriggeredJobHistoryAsync(jobName).Result; Assert.NotNull(triggeredJobHistory); Assert.Equal(expectedNumberOfRuns, triggeredJobHistory.TriggeredJobRuns.Count()); TriggeredJobRun triggeredJobRun = triggeredJobHistory.TriggeredJobRuns.FirstOrDefault(); AssertTriggeredJobRun(appManager, triggeredJobRun, jobName, expectedStatus, expectedOutput, expectedError); }); }
private void VerifyTriggeredJobTriggers(ApplicationManager appManager, string jobName, int expectedNumberOfRuns, string expectedStatus, string expectedOutput = null, string expectedError = null, string arguments = null, bool scheduledTriggeredJob = false) { if (!scheduledTriggeredJob) { Uri runLocation = appManager.JobsManager.InvokeTriggeredJobAsync(jobName, arguments).Result; Assert.Contains("api/triggeredwebjobs", runLocation.AbsoluteUri); Assert.Contains("history", runLocation.AbsoluteUri); } try { WaitUntilAssertVerified( "verify triggered job run", TimeSpan.FromSeconds(30), () => { TriggeredJobHistory triggeredJobHistory = appManager.JobsManager.GetTriggeredJobHistoryAsync(jobName).Result; Assert.NotNull(triggeredJobHistory); Assert.Equal(expectedNumberOfRuns, triggeredJobHistory.TriggeredJobRuns.Count()); TriggeredJobRun triggeredJobRun = triggeredJobHistory.TriggeredJobRuns.FirstOrDefault(); AssertTriggeredJobRun(appManager, triggeredJobRun, jobName, expectedStatus, expectedOutput, expectedError); }); } catch { // On error trace the scheduler log if it is a scheduler job if (scheduledTriggeredJob) { try { string schedulerLog = appManager.VfsManager.ReadAllText(JobsDataPath + "/triggered/" + jobName + "/job_scheduler.log"); TestTracer.Trace("Scheduler log - " + schedulerLog); } catch { } } throw; } }