예제 #1
0
        public void AddingADuplicateProjectWithForceBuildReplaces()
        {
            // Setup the first project request
            project1Mock.SetupResult("QueueName", integrationQueueReplace.Name);
            project1Mock.SetupResult("QueuePriority", 1);
            queueNotifier1Mock.Expect("NotifyEnteringIntegrationQueue");
            integrationQueueReplace.Enqueue(integrationQueueItem1);

            // Add a second project request for different project with same queue name
            project2Mock.SetupResult("QueueName", integrationQueueReplace.Name);
            project2Mock.SetupResult("QueuePriority", 0);
            queueNotifier2Mock.Expect("NotifyEnteringIntegrationQueue");
            integrationQueueReplace.Enqueue(integrationQueueItem4);

            // Add a third project request for different project with same queue name
            project3Mock.SetupResult("QueueName", integrationQueueReplace.Name);
            project3Mock.SetupResult("QueuePriority", 0);
            queueNotifier3Mock.Expect("NotifyEnteringIntegrationQueue");
            integrationQueueReplace.Enqueue(integrationQueueItem3);

            // Now add the second project request again, but with a force build
            project2Mock.SetupResult("QueueName", integrationQueueReplace.Name);
            project2Mock.SetupResult("QueuePriority", 0);
            queueNotifier2Mock.Expect("NotifyEnteringIntegrationQueue");
            queueNotifier2Mock.Expect("NotifyExitingIntegrationQueue", true);
            integrationQueueReplace.Enqueue(integrationQueueItem2);

            // Check the queued items
            IIntegrationQueueItem[] queuedItems = integrationQueueReplace.GetQueuedIntegrations();
            Assert.AreEqual(integrationQueueItem2, queuedItems[1], "Integration item #1 is incorrect");
            Assert.AreEqual(integrationQueueItem3, queuedItems[2], "Integration item #2 is incorrect");
            VerifyAll();
        }
        public void AddingADuplicateProjectWithForceBuildReAdds()
        {
            // Setup the first project request
            project1Mock.SetupGet(project => project.QueueName).Returns(integrationQueueReAdd.Name);
            project1Mock.SetupGet(project => project.QueuePriority).Returns(1);
            queueNotifier1Mock.Setup(notifier => notifier.NotifyEnteringIntegrationQueue()).Verifiable();
            integrationQueueReAdd.Enqueue(integrationQueueItem1);

            // Add a second project request for different project with same queue name
            project2Mock.SetupGet(project => project.QueueName).Returns(integrationQueueReAdd.Name);
            project2Mock.SetupGet(project => project.QueuePriority).Returns(0);
            queueNotifier2Mock.Setup(notifier => notifier.NotifyEnteringIntegrationQueue()).Verifiable();
            integrationQueueReAdd.Enqueue(integrationQueueItem4);

            // Add a third project request for different project with same queue name
            project3Mock.SetupGet(project => project.QueueName).Returns(integrationQueueReAdd.Name);
            project3Mock.SetupGet(project => project.QueuePriority).Returns(0);
            queueNotifier3Mock.Setup(notifier => notifier.NotifyEnteringIntegrationQueue()).Verifiable();
            integrationQueueReAdd.Enqueue(integrationQueueItem3);

            // Now add the second project request again, but with a force build
            project2Mock.SetupGet(project => project.QueueName).Returns(integrationQueueReAdd.Name);
            project2Mock.SetupGet(project => project.QueuePriority).Returns(0);
            queueNotifier2Mock.Setup(notifier => notifier.NotifyEnteringIntegrationQueue()).Verifiable();
            queueNotifier2Mock.Setup(notifier => notifier.NotifyExitingIntegrationQueue(true)).Verifiable();
            integrationQueueReAdd.Enqueue(integrationQueueItem2);

            // Check the queued items
            IIntegrationQueueItem[] queuedItems = integrationQueueReAdd.GetQueuedIntegrations();
            Assert.AreEqual(integrationQueueItem3, queuedItems[1], "Integration item #1 is incorrect");
            Assert.AreEqual(integrationQueueItem2, queuedItems[2], "Integration item #2 is incorrect");
            VerifyAll();
        }
        public void CancelPendingRequestDoesNothingForNoPendingItems()
        {
            int queuedItemCount = integrationQueue.GetQueuedIntegrations().Length;

            integrator.CancelPendingRequest();
            Assert.AreEqual(queuedItemCount, integrationQueue.GetQueuedIntegrations().Length);

            VerifyAll();
        }
예제 #4
0
        public void FirstProjectOnQueueShouldIntegrateImmediately()
        {
            queueNotifier1Mock.Expect("NotifyEnteringIntegrationQueue");
            queueNotifier1Mock.ExpectNoCall("NotifyExitingIntegrationQueue", typeof(bool));
            integrationQueueUseFirst.Enqueue(integrationQueueItem1);

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

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

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

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

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

            VerifyAll();
            queueNotifier1Mock.VerifyNoOtherCalls();
        }