示例#1
0
        public void GetJobsToRun_CronWorksInLocalTime(Int32 skip)
        {
            var dateTimeOffset     = DateTimeOffset.Now;
            var fromDateTimeOffset = dateTimeOffset.AddMinutes(-skip);
            var toDateTimeOffset   = dateTimeOffset.AddMinutes(skip);

            var jobStorageItem = new JobItem(sp => new EmptyJob1(), CronExpression.Parse($"{dateTimeOffset.Minute} {dateTimeOffset.Hour} * * *"));
            var jobsContext    = new JobsContext();

            jobsContext.JobItems.Add(jobStorageItem);

            var jobStorageItems = jobsContext.GetJobsToRun(fromDateTimeOffset, toDateTimeOffset);

            Assert.Single(jobStorageItems);
        }
示例#2
0
        public void GetJobsToRun_ReturnsJobs()
        {
            var dateTimeOffset     = new DateTimeOffset(DateTime.Today);
            var fromDateTimeOffset = dateTimeOffset.AddHours(-2);
            var toDateTimeOffset   = dateTimeOffset.AddHours(4).AddMilliseconds(-1);

            var jobsContext = new JobsContext();

            foreach (var jobItem in new[]
            {
                Midnight,
                EverydayAt0_OClock,
                EverydayAt4_OClock
            })
            {
                jobsContext.JobItems.Add(jobItem);
            }

            var jobStorageItems = jobsContext.GetJobsToRun(fromDateTimeOffset, toDateTimeOffset);

            Assert.Equal(3, jobsContext.JobItems.Count);
            Assert.Equal(2, jobStorageItems.Length);
        }