Exemplo n.º 1
0
        public void CleanupAndRescheduleJobs_UnknownState(ProcessingState.SendReceiveStates srState)
        {
            // Setup
            var testName = TestContext.CurrentContext.Test.Name;
            var state    = new ProcessingState(testName, _env.Settings)
            {
                SRState = srState
            };

            state.Serialize();

            // Execute
            var janitor = new Janitor(_env.Settings, _env.Logger);

            janitor.CleanupAndRescheduleJobs();

            // Verify
            var queue = Queue.GetQueue(QueueNames.Synchronize);

            Assert.That(queue.QueuedProjects, Is.EqualTo(new[] { testName }));

            var newState = ProcessingState.Deserialize(testName);

            Assert.That(newState.SRState, Is.EqualTo(ProcessingState.SendReceiveStates.IDLE));

            Assert.That(_exceptionLoggingDouble.Exceptions.Count, Is.EqualTo(1));
            var report = _exceptionLoggingDouble.Exceptions[0];

            Assert.That(report.OriginalException, Is.TypeOf <ProjectInUncleanStateException>());
            Assert.That(report.OriginalException.Message, Is.EqualTo("QueueManager detected unknown state '42' for project 'CleanupAndRescheduleJobs_UnknownState(42)'; rescheduled"));
        }
Exemplo n.º 2
0
        public void CleanupAndRescheduleJobs_NothingToDo(ProcessingState.SendReceiveStates srState)
        {
            // Setup
            var state = new ProcessingState(TestContext.CurrentContext.Test.Name, _env.Settings)
            {
                SRState = srState
            };

            state.Serialize();

            // Execute
            var janitor = new Janitor(_env.Settings, _env.Logger);

            janitor.CleanupAndRescheduleJobs();

            // Verify
            var queue = Queue.GetQueue(QueueNames.Synchronize);

            Assert.That(queue.IsEmpty, Is.True);

            var newState = ProcessingState.Deserialize(TestContext.CurrentContext.Test.Name);

            Assert.That(newState.SRState, Is.EqualTo(srState));

            Assert.That(_exceptionLoggingDouble.Exceptions.Count, Is.EqualTo(0));
        }
Exemplo n.º 3
0
        public void State(ActionNames actionName, ProcessingState.SendReceiveStates expectedState)
        {
            // Setup
            var lfProj = LanguageForgeProject.Create("proja");
            var sut    = Action.GetAction(actionName);

            // Exercise
            sut.Run(lfProj);

            // Verify
            Assert.That(ProcessState.SavedStates, Is.EqualTo(new[] { expectedState }));
            Assert.That(lfProj.State.SRState, Is.EqualTo(expectedState));
        }