public void GetJobDetails_ForExistingJob_ReturnsCorrectInfo() { IJobDetail job = GetMockJob("job1", "SOD"); var trigger = MockRepository.GenerateMock <ITrigger>(); DateTimeOffset triggerTime = new DateTimeOffset(DateTime.UtcNow.AddMinutes(5)); trigger.Expect(t => t.GetNextFireTimeUtc()).Return(triggerTime).Repeat.Twice(); var triggers = new List <ITrigger>() { trigger }; _mockScheduler.Expect(s => s.GetJobDetail(Arg <JobKey> .Is.TypeOf)).Return(job); _mockScheduler.Expect(s => s.GetTriggersOfJob(Arg <JobKey> .Is.TypeOf)).Return(triggers); var result = _interactor.GetJobDetails("SOD.job1"); Assert.AreEqual("SOD.job1", result.Name); Assert.AreEqual("this does something", result.Description); bool isLocalInDaylightSavingTime = TimeZoneInfo.Local.IsDaylightSavingTime(triggerTime.LocalDateTime); var localTimeZoneName = isLocalInDaylightSavingTime ? TimeZoneInfo.Local.DaylightName : TimeZoneInfo.Local.StandardName; Assert.IsTrue(result.NextRunAt.StartsWith(triggerTime.ToLocalTime().ToString("F") + " " + localTimeZoneName)); Assert.AreEqual(2, result.Properties.Count); Assert.AreEqual("something", result.Properties.FirstOrDefault(p => p.Key == "prop1").Value); Assert.AreEqual("something else", result.Properties.FirstOrDefault(p => p.Key == "prop2").Value); job.VerifyAllExpectations(); trigger.VerifyAllExpectations(); }
public void GetJobNames_ForPresentJobs_ReturnsNames() { _mockScheduler.Expect(s => s.GetJobKeys(GroupMatcher <JobKey> .AnyGroup())) .Return(new Quartz.Collection.HashSet <JobKey>() { JobKey.Create("job1", "SOD"), JobKey.Create("job2", "SOD") }); IJobDetail job1 = GetMockJob("job1", "SOD"); IJobDetail job2 = GetMockJob("job2", "SOD"); var trigger = MockRepository.GenerateMock <ITrigger>(); trigger.Expect(t => t.GetNextFireTimeUtc()).Return(new DateTimeOffset(DateTime.UtcNow.AddMinutes(5))).Repeat.Twice(); trigger.Expect(t => t.Key).Return(new TriggerKey("someKey")).Repeat.Twice(); var triggers = new List <ITrigger>() { trigger }; _mockScheduler.Expect(s => s.GetJobDetail(Arg <JobKey> .Is.TypeOf)).Return(job1).Repeat.Once(); _mockScheduler.Expect(s => s.GetJobDetail(Arg <JobKey> .Is.TypeOf)).Return(job2).Repeat.Once(); _mockScheduler.Expect(s => s.GetTriggersOfJob(Arg <JobKey> .Is.TypeOf)).Return(triggers).Repeat.Times(4); _mockScheduler.Expect(s => s.GetTriggerState(Arg <TriggerKey> .Is.TypeOf)).Return(TriggerState.Normal).Repeat.Twice(); var result = _interactor.GetJobs(); Assert.AreEqual(2, result.Count); Assert.AreEqual("SOD.job1", result[0].Name); Assert.AreEqual("SOD.job2", result[1].Name); job1.VerifyAllExpectations(); job2.VerifyAllExpectations(); }
public void TearDown() { _context.VerifyAllExpectations(); _scheduler.VerifyAllExpectations(); _jobDetail.VerifyAllExpectations(); _testLogger.Clear(); }