Example #1
0
        public void RemovePendingRequestOnly()
        {
            queueNotifier1Mock.Expect("NotifyEnteringIntegrationQueue");
            queueNotifier1Mock.ExpectNoCall("NotifyExitingIntegrationQueue", typeof(bool));
            integrationQueueUseFirst.Enqueue(integrationQueueItem1);

            // Second item is same project
            IIntegrationQueueItem secondQueueItem = new IntegrationQueueItem((IProject)project1Mock.MockInstance,
                                                                             integrationRequestForceBuild, (IIntegrationQueueNotifier)queueNotifier2Mock.MockInstance);

            queueNotifier2Mock.Expect("NotifyEnteringIntegrationQueue");
            queueNotifier2Mock.Expect("NotifyExitingIntegrationQueue", true);
            integrationQueueUseFirst.Enqueue(secondQueueItem);

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

            integrationQueueUseFirst.RemovePendingRequest((IProject)project1Mock.MockInstance);

            itemsOnQueue = integrationQueueUseFirst.GetQueuedIntegrations();
            Assert.AreEqual(1, itemsOnQueue.Length);
            Assert.AreSame(integrationQueueItem1, itemsOnQueue[0]);

            VerifyAll();
        }
        public void RemovePendingRequestOnly()
        {
            queueNotifier1Mock.Setup(notifier => notifier.NotifyEnteringIntegrationQueue()).Verifiable();
            integrationQueueUseFirst.Enqueue(integrationQueueItem1);

            // Second item is same project
            IIntegrationQueueItem secondQueueItem = new IntegrationQueueItem((IProject)project1Mock.Object,
                                                                             integrationRequestForceBuild, (IIntegrationQueueNotifier)queueNotifier2Mock.Object);

            queueNotifier2Mock.Setup(notifier => notifier.NotifyEnteringIntegrationQueue()).Verifiable();
            queueNotifier2Mock.Setup(notifier => notifier.NotifyExitingIntegrationQueue(true)).Verifiable();
            integrationQueueUseFirst.Enqueue(secondQueueItem);

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

            integrationQueueUseFirst.RemovePendingRequest((IProject)project1Mock.Object);

            itemsOnQueue = integrationQueueUseFirst.GetQueuedIntegrations();
            Assert.AreEqual(1, itemsOnQueue.Length);
            Assert.AreSame(integrationQueueItem1, itemsOnQueue[0]);

            VerifyAll();
            queueNotifier1Mock.VerifyNoOtherCalls();
        }
 /// <summary>
 /// Cancels the pending request.
 /// </summary>
 /// <remarks></remarks>
 public void CancelPendingRequest()
 {
     integrationQueue.RemovePendingRequest(project);
 }