コード例 #1
0
        public void PersistenceExecution_GetSuspendedEnvironment_Success()
        {
            var resourceId = Guid.Parse("ab04663e-1e09-4338-8f61-a06a7ae5ebab");
            var values     = new Dictionary <string, StringBuilder>
            {
                { "resourceID", new StringBuilder(resourceId.ToString()) },
                { "environment", new StringBuilder("") },
                { "startActivityId", new StringBuilder("4032a11e-4fb3-4208-af48-b92a0602ab4b") },
                { "versionNumber", new StringBuilder("1") }
            };

            const enSuspendOption suspendOption = enSuspendOption.SuspendUntil;
            var          suspendOptionValue     = DateTime.Now.AddDays(1).ToString(CultureInfo.InvariantCulture);
            const string expectedJobId          = "1234";

            Config.Persistence.PersistenceScheduler = nameof(Hangfire);
            var mockPersistenceScheduler = new Mock <IPersistenceScheduler>();

            mockPersistenceScheduler.Setup(o => o.ScheduleJob(suspendOption, suspendOptionValue, values))
            .Returns(expectedJobId).Verifiable();
            var mockPersistedValues = new Mock <IPersistedValues>();

            mockPersistedValues.Setup(o => o.ResourceId).Returns(resourceId);
            mockPersistenceScheduler.Setup(o => o.GetPersistedValues(expectedJobId))
            .Returns(mockPersistedValues.Object).Verifiable();

            var scheduler = new PersistenceExecution(mockPersistenceScheduler.Object);
            var result    = scheduler.GetPersistedValues(expectedJobId);

            Assert.AreEqual(resourceId, result.ResourceId);
        }
コード例 #2
0
        public void PersistenceExecution_ResumeJob_Success()
        {
            var mockDataObject = new Mock <IDSFDataObject>();
            var values         = new Dictionary <string, StringBuilder>
            {
                { "resourceID", new StringBuilder("ab04663e-1e09-4338-8f61-a06a7ae5ebab") },
                { "environment", new StringBuilder("") },
                { "startActivityId", new StringBuilder("4032a11e-4fb3-4208-af48-b92a0602ab4b") },
                { "versionNumber", new StringBuilder("1") }
            };

            const enSuspendOption suspendOption = enSuspendOption.SuspendUntil;
            var          suspendOptionValue     = DateTime.Now.AddDays(1).ToString(CultureInfo.InvariantCulture);
            const string expectedJobId          = "1234";
            const string environment            = "environment";

            Config.Persistence.PersistenceScheduler = nameof(Hangfire);
            var mockPersistenceScheduler = new Mock <IPersistenceScheduler>();

            mockPersistenceScheduler.Setup(o => o.ScheduleJob(suspendOption, suspendOptionValue, values))
            .Returns(expectedJobId).Verifiable();
            mockPersistenceScheduler.Setup(o => o.ResumeJob(mockDataObject.Object, expectedJobId, true, environment))
            .Returns(GlobalConstants.Success).Verifiable();

            var scheduler = new PersistenceExecution(mockPersistenceScheduler.Object);
            var jobId     = scheduler.CreateAndScheduleJob(suspendOption, suspendOptionValue, values);
            var result    = scheduler.ResumeJob(mockDataObject.Object, expectedJobId, true, environment);

            Assert.AreEqual(GlobalConstants.Success, result);
        }
コード例 #3
0
        public void PersistenceExecution_ManualResumeWithOverrideJob_PersistenceSettingsNoConfigured()
        {
            const string expectedJobId = "1234";

            Config.Persistence.PersistenceScheduler = "";
            var scheduler = new PersistenceExecution(null);

            scheduler.ManualResumeWithOverrideJob(new Mock <IDSFDataObject>().Object, expectedJobId);
        }
コード例 #4
0
        public void PersistenceExecution_GetPersistedValues_PersistenceSettingsNoConfigured()
        {
            const string expectedJobId = "1234";

            Config.Persistence.PersistenceScheduler = "";
            var scheduler = new PersistenceExecution(null);

            scheduler.GetPersistedValues(expectedJobId);
        }
コード例 #5
0
        public void PersistenceExecution_CreateAndScheduleJob_PersistenceSettingsNoConfigured()
        {
            var values = new Dictionary <string, StringBuilder>
            {
                { "resourceID", new StringBuilder("ab04663e-1e09-4338-8f61-a06a7ae5ebab") },
                { "environment", new StringBuilder("") },
                { "startActivityId", new StringBuilder("4032a11e-4fb3-4208-af48-b92a0602ab4b") },
                { "versionNumber", new StringBuilder("1") }
            };

            const enSuspendOption suspendOption      = enSuspendOption.SuspendForDays;
            const string          suspendOptionValue = "1";

            Config.Persistence.PersistenceScheduler = "";
            var scheduler = new PersistenceExecution(null);

            scheduler.CreateAndScheduleJob(suspendOption, suspendOptionValue, values);
        }
コード例 #6
0
        public void PersistenceExecution_ResumeJob_PersistenceSettingsNoConfigured()
        {
            var mockDataObject = new Mock <IDSFDataObject>();
            var values         = new Dictionary <string, StringBuilder>
            {
                { "resourceID", new StringBuilder("ab04663e-1e09-4338-8f61-a06a7ae5ebab") },
                { "environment", new StringBuilder("") },
                { "startActivityId", new StringBuilder("4032a11e-4fb3-4208-af48-b92a0602ab4b") },
                { "versionNumber", new StringBuilder("1") }
            };

            const string expectedJobId = "1234";
            const string environment   = "environment";

            Config.Persistence.PersistenceScheduler = "";
            var scheduler = new PersistenceExecution(null);

            scheduler.ResumeJob(mockDataObject.Object, expectedJobId, true, environment);
        }
コード例 #7
0
        public void PersistenceExecution_CreateAndScheduleJob_Success()
        {
            var values = new Dictionary <string, StringBuilder>
            {
                { "resourceID", new StringBuilder("ab04663e-1e09-4338-8f61-a06a7ae5ebab") },
                { "environment", new StringBuilder("") },
                { "startActivityId", new StringBuilder("4032a11e-4fb3-4208-af48-b92a0602ab4b") },
                { "versionNumber", new StringBuilder("1") }
            };

            const enSuspendOption suspendOption      = enSuspendOption.SuspendForDays;
            const string          suspendOptionValue = "1";

            Config.Persistence.PersistenceScheduler = nameof(Hangfire);
            var mockPersistenceScheduler = new Mock <IPersistenceScheduler>();

            mockPersistenceScheduler.Setup(o => o.ScheduleJob(suspendOption, suspendOptionValue, values)).Verifiable();

            var scheduler = new PersistenceExecution(mockPersistenceScheduler.Object);

            scheduler.CreateAndScheduleJob(suspendOption, suspendOptionValue, values);

            mockPersistenceScheduler.Verify(o => o.ScheduleJob(suspendOption, suspendOptionValue, values), Times.Once);
        }