public void CompletingOnlyQueueBuildGoesToSleepingState()
        {
            IProject project = (IProject)projectMock.MockInstance;

            IntegrationRequest request1 = new IntegrationRequest(BuildCondition.IfModificationExists, "intervalTrigger", null);

            projectMock.Expect("NotifyPendingState");
            integrationTriggerMock.Expect("IntegrationCompleted");
            projectMock.Expect("NotifySleepingState");

            integrationQueue.Enqueue(new IntegrationQueueItem(project, request1, integrator));
            // Simulate first build completed by dequeuing it to invoke notifcation.
            integrationQueue.Dequeue();
            VerifyAll();
        }
예제 #2
0
        public void CompletingOnlyQueueBuildGoesToSleepingState()
        {
            IProject project = (IProject)projectMock.Object;

            IntegrationRequest request1 = new IntegrationRequest(BuildCondition.IfModificationExists, "intervalTrigger", null);

            projectMock.Setup(_project => _project.NotifyPendingState()).Verifiable();
            integrationTriggerMock.Setup(_trigger => _trigger.IntegrationCompleted()).Verifiable();
            projectMock.Setup(_project => _project.NotifySleepingState()).Verifiable();

            integrationQueue.Enqueue(new IntegrationQueueItem(project, request1, integrator));
            // Simulate first build completed by dequeuing it to invoke notifcation.
            integrationQueue.Dequeue();
            VerifyAll();
        }
예제 #3
0
        public void DequeueForSingleQueuedItemClearsQueue()
        {
            queueNotifier1Mock.Expect("NotifyEnteringIntegrationQueue");
            queueNotifier1Mock.Expect("NotifyExitingIntegrationQueue", false);
            integrationQueueUseFirst.Enqueue(integrationQueueItem1);

            integrationQueueUseFirst.Dequeue();

            string[] queueNames = integrationQueues.GetQueueNames();
            Assert.AreEqual(4, queueNames.Length);
            Assert.AreEqual(TestQueueName, queueNames[0]);

            IIntegrationQueueItem[] itemsOnQueue = integrationQueueUseFirst.GetQueuedIntegrations();
            Assert.AreEqual(0, itemsOnQueue.Length);

            VerifyAll();
        }
 private void RemoveCompletedRequestFromQueue()
 {
     // Free up the queue to kick off the next integration in it if any.
     integrationQueue.Dequeue();
 }