Пример #1
0
        public void ShouldUpdateLastScheduleTime()
        {
            // 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);
            DateTime firstScheduleTime = runningJobs.Get <TestJob>(siteSocialAccount.SiteId, siteSocialAccount.FacebookPageId).LastScheduleTime;

            Thread.Sleep(100);
            runningJobs.Schedule <TestJob>(scheduleManagerMock.Object, siteSocialAccount, configuerTriggerAction);
            DateTime secondScheduleTime = runningJobs.Get <TestJob>(siteSocialAccount.SiteId, siteSocialAccount.FacebookPageId).LastScheduleTime;

            // Assert
            Assert.NotEqual(firstScheduleTime, secondScheduleTime);
            Assert.True(secondScheduleTime > firstScheduleTime);
        }
Пример #2
0
        public void ShouldRemoveRunningJob()
        {
            // 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);
            runningJobs.Remove <TestJob>(siteSocialAccount.SiteId, siteSocialAccount.FacebookPageId);
            var runningJob = runningJobs.Get <TestJob>(siteSocialAccount.SiteId, siteSocialAccount.FacebookPageId);

            // Assert
            Assert.Null(runningJob);
        }
Пример #3
0
        public void ShouldGetRunningJob()
        {
            // 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);
            var runningJob = runningJobs.Get <TestJob>(siteSocialAccount.SiteId, siteSocialAccount.FacebookPageId);

            // Assert
            Assert.NotNull(runningJob);
            Assert.Equal(10000, runningJob.SiteId);
            Assert.Equal("123", runningJob.OriginalAccountId);
            Assert.Equal("TestJob - SiteId(10000) - OriginalId(123)", runningJob.JobKey);
            Assert.Equal("TestJob", runningJob.JobGroup);
        }
Пример #4
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"));
        }