Example #1
0
        public void ShouldScheduleJob()
        {
            // Arrange
            RunningJobs runningJobs         = new RunningJobs();
            var         scheduleManagerMock = new Mock <IScheduleJobManager>();
            var         siteSocialAccount   = new SiteSocialAccount {
                SiteId = 10000, FacebookPageId = "123"
            };
            Action <TriggerBuilder> configuerTriggerAction = t => { };

            // Act
            runningJobs.Schedule <TestJob>(scheduleManagerMock.Object, siteSocialAccount, configuerTriggerAction);

            // Assert
            scheduleManagerMock.Verify(t => t.ScheduleAsync <TestJob, SiteSocialAccount>(It.IsAny <Action <JobBuilder> >(), configuerTriggerAction, siteSocialAccount));
            Assert.True(runningJobs.IsRunning <TestJob>(10000, "123"));
        }
Example #2
0
        public void ShouldStopTimeoutRunningJobs()
        {
            // Arrange
            RunningJobs runningJobs         = new RunningJobs();
            var         scheduleManagerMock = new Mock <IScheduleJobManager>();
            var         siteSocialAccount   = new SiteSocialAccount {
                SiteId = 10000, FacebookPageId = "123"
            };
            Action <TriggerBuilder> configuerTriggerAction = t => { };
            var schedulerMock = new Mock <IScheduler>();

            schedulerMock.Setup(t => t.GetJobDetail(It.IsAny <JobKey>())).Returns(new Mock <IJobDetail>().Object);

            // Act
            runningJobs.Schedule <TestJob>(scheduleManagerMock.Object, siteSocialAccount, configuerTriggerAction);
            var runningJob = runningJobs.Get <TestJob>(siteSocialAccount.SiteId, siteSocialAccount.FacebookPageId);

            runningJob.LastScheduleTime = DateTime.UtcNow.AddSeconds(-301);
            runningJobs.StopTimeoutJobs(schedulerMock.Object);

            // Assert
            schedulerMock.Verify(t => t.DeleteJob(It.Is <JobKey>(r => r.Name == "TestJob - SiteId(10000) - OriginalId(123)")));
            Assert.False(runningJobs.IsRunning <TestJob>(10000, "123"));
        }