public void SetUp() { integrationQueues = new IntegrationQueueSet(); integrationQueues.Add(TestQueueName, new DefaultQueueConfiguration(TestQueueName)); integrationQueues.Add(TestQueueName2, new DefaultQueueConfiguration(TestQueueName2)); integrationQueue1 = integrationQueues[TestQueueName]; integrationQueue2 = integrationQueues[TestQueueName2]; integrationRequest = new IntegrationRequest(BuildCondition.ForceBuild, "Test", null); project1Mock = new LatchMock(typeof (IProject)); project1Mock.Strict = true; project1Mock.SetupResult("Name", "ProjectOne"); project1Mock.SetupResult("QueueName", TestQueueName); project1Mock.SetupResult("QueuePriority", 0); project2Mock = new LatchMock(typeof (IProject)); project2Mock.Strict = true; project2Mock.SetupResult("Name", "ProjectTwo"); project2Mock.SetupResult("QueueName", TestQueueName2); project2Mock.SetupResult("QueuePriority", 0); queueNotifier1Mock = new LatchMock(typeof (IIntegrationQueueNotifier)); queueNotifier1Mock.Strict = true; queueNotifier2Mock = new LatchMock(typeof (IIntegrationQueueNotifier)); queueNotifier2Mock.Strict = true; integrationQueueItem1 = new IntegrationQueueItem((IProject) project1Mock.MockInstance, integrationRequest, (IIntegrationQueueNotifier) queueNotifier1Mock.MockInstance); integrationQueueItem2 = new IntegrationQueueItem((IProject) project2Mock.MockInstance, integrationRequest, (IIntegrationQueueNotifier) queueNotifier2Mock.MockInstance); }
public void SetUp() { integrationTriggerMock = new LatchMock(typeof (ITrigger)); integrationTriggerMock.Strict = true; projectMock = new LatchMock(typeof (IProject)); projectMock.Strict = true; projectMock.SetupResult("Name", "project"); projectMock.SetupResult("QueueName", TestQueueName); projectMock.SetupResult("QueuePriority", 0); projectMock.SetupResult("Triggers", integrationTriggerMock.MockInstance); projectMock.SetupResult("WorkingDirectory", tempWorkingDir1); projectMock.SetupResult("ArtifactDirectory", tempArtifactDir1); integrationQueues = new IntegrationQueueSet(); integrationQueues.Add(TestQueueName, new DefaultQueueConfiguration(TestQueueName)); integrationQueue = integrationQueues[TestQueueName]; integrator = new ProjectIntegrator((IProject) projectMock.MockInstance, integrationQueue); }
public void SetUp() { integrationQueues = new IntegrationQueueSet(); integrationQueues.Add(TestQueueName, new DefaultQueueConfiguration(TestQueueName)); integrationQueueUseFirst = integrationQueues[TestQueueName]; // Generate a queue to test re-adding string secondQueueName = "Test Queue #2"; IQueueConfiguration readConfig = new DefaultQueueConfiguration(secondQueueName); readConfig.HandlingMode = QueueDuplicateHandlingMode.ApplyForceBuildsReAdd; integrationQueues.Add(secondQueueName, readConfig); integrationQueueReAdd = integrationQueues[secondQueueName]; // Generate a queue to test re-adding to top var fourthQueueName = "Test Queue #4"; var raddTopConfig = new DefaultQueueConfiguration(fourthQueueName); raddTopConfig.HandlingMode = QueueDuplicateHandlingMode.ApplyForceBuildsReAddTop; integrationQueues.Add(fourthQueueName, raddTopConfig); integrationQueueReAddTop = integrationQueues[fourthQueueName]; // Generate a queue to test replacing string thirdQueueName = "Test Queue #3"; IQueueConfiguration replaceConfig = new DefaultQueueConfiguration(thirdQueueName); replaceConfig.HandlingMode = QueueDuplicateHandlingMode.ApplyForceBuildsReplace; integrationQueues.Add(thirdQueueName, replaceConfig); integrationQueueReplace = integrationQueues[thirdQueueName]; integrationRequestForceBuild = new IntegrationRequest(BuildCondition.ForceBuild, "Test", null); integrationRequestIfModificationExists = new IntegrationRequest(BuildCondition.IfModificationExists, "Test", null); project1Mock = new LatchMock(typeof (IProject)); project1Mock.Strict = true; project1Mock.SetupResult("Name", "ProjectOne"); project1Mock.SetupResult("QueueName", TestQueueName); project1Mock.SetupResult("QueuePriority", 0); project2Mock = new LatchMock(typeof (IProject)); project2Mock.Strict = true; project2Mock.SetupResult("Name", "ProjectTwo"); project2Mock.SetupResult("QueueName", TestQueueName); project2Mock.SetupResult("QueuePriority", 0); project3Mock = new LatchMock(typeof (IProject)); project3Mock.Strict = true; project3Mock.SetupResult("Name", "ProjectThree"); project3Mock.SetupResult("QueueName", TestQueueName); project3Mock.SetupResult("QueuePriority", 1); queueNotifier1Mock = new LatchMock(typeof(IIntegrationQueueNotifier)); queueNotifier1Mock.Strict = true; queueNotifier2Mock = new LatchMock(typeof(IIntegrationQueueNotifier)); queueNotifier2Mock.Strict = true; queueNotifier3Mock = new LatchMock(typeof(IIntegrationQueueNotifier)); queueNotifier3Mock.Strict = true; integrationQueueItem1 = new IntegrationQueueItem((IProject)project1Mock.MockInstance, integrationRequestForceBuild, (IIntegrationQueueNotifier)queueNotifier1Mock.MockInstance); integrationQueueItem2 = new IntegrationQueueItem((IProject)project2Mock.MockInstance, integrationRequestForceBuild, (IIntegrationQueueNotifier)queueNotifier2Mock.MockInstance); integrationQueueItem3 = new IntegrationQueueItem((IProject)project3Mock.MockInstance, integrationRequestForceBuild, (IIntegrationQueueNotifier)queueNotifier3Mock.MockInstance); integrationQueueItem4 = new IntegrationQueueItem((IProject)project2Mock.MockInstance, integrationRequestIfModificationExists, (IIntegrationQueueNotifier)queueNotifier2Mock.MockInstance); }
public void CancellingAPendingRequestWhileNotBuildingGoesToSleeping() { LatchMock otherProjectMock = new LatchMock(typeof (IProject)); otherProjectMock.Strict = true; otherProjectMock.SetupResult("Name", "otherProject"); otherProjectMock.SetupResult("QueueName", TestQueueName); otherProjectMock.SetupResult("QueuePriority", 0); otherProjectMock.SetupResult("Triggers", integrationTriggerMock.MockInstance); otherProjectMock.SetupResult("WorkingDirectory", tempDir + "tempWorkingDir2"); otherProjectMock.SetupResult("ArtifactDirectory", tempDir + "tempArtifactDir2"); IProject otherProject = (IProject) otherProjectMock.MockInstance; IProject project = (IProject) projectMock.MockInstance; ProjectIntegrator otherIntegrator = new ProjectIntegrator(otherProject, integrationQueue); // Queue up the "otherProject" in the first queue position to build IntegrationRequest otherProjectRequest = new IntegrationRequest(BuildCondition.IfModificationExists, "intervalTrigger", null); otherProjectMock.Expect("NotifyPendingState"); // Queue up our test project on the same queue as so it goes to pending IntegrationRequest request2 = new IntegrationRequest(BuildCondition.IfModificationExists, "intervalTrigger", null); projectMock.Expect("NotifyPendingState"); // Cancelling the pending request should revert status to sleeping projectMock.Expect("NotifySleepingState"); integrationTriggerMock.Expect("IntegrationCompleted"); integrationQueue.Enqueue(new IntegrationQueueItem(otherProject, otherProjectRequest, otherIntegrator)); integrationQueue.Enqueue(new IntegrationQueueItem(project, request2, integrator)); // Cancel second build project on queue integrator.CancelPendingRequest(); otherProjectMock.Verify(); VerifyAll(); }