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(); }
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(); }
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(); }