public void Execute_OnErrorExitCodeAndWithinRetryAttempts_WillSetupForRetry() { var context = GetJobContext(); var exception = Assert.Throws <JobExecutionException>(() => _errorExitCodeJob.Execute(context)); Assert.AreEqual(true, exception.RefireImmediately); Assert.AreEqual(JobExecutionStatus.Retrying, context.Result); }
public void Execute_OnFailureToStartJob_WillLogError() { var context = GetJobContext(); var exception = Assert.Throws <JobExecutionException>(() => _failJob.Execute(context)); string output = context.ReadOutputBufferContents(); Assert.That(output.Contains($"About to run {context.JobDetail.Key} at {DateTime.Now.ToString("dd/MM/yyyy")}")); Assert.That(output.Contains($"FileName: {_failJob.ExecutableName}, Parameters: {_failJob.Parameters}")); Assert.That(output.Contains("Error executing job - The system cannot find the file specified")); }
public void Execute_WithValidParameters_WillRunJobAndWaitForCompletion() { var context = GetJobContext(); _successJob.Execute(context); int processId = (int)context.Get(Constants.FieldNames.ProcessId); Assert.That(processId > 0); ArgumentException ex = Assert.Throws <ArgumentException>(() => System.Diagnostics.Process.GetProcessById(processId)); Assert.AreEqual($"Process with an Id of {processId} is not running.", ex.Message); Assert.AreEqual(JobExecutionStatus.Succeeded, context.Result); }