/// <summary> /// Unlock this queue, based upon a request from another queue. /// Releases any locks currently held by the queue making the request. /// </summary> /// <param name="requestingQueue">Queue requesting that a lock be released</param> public void UnblockQueue(IIntegrationQueue requestingQueue) { lock (queueLockSync) { blockingQueueNames.Remove(requestingQueue.Name); } }
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 Mock <IProject>(MockBehavior.Strict); project1Mock.SetupGet(project => project.Name).Returns("ProjectOne"); project1Mock.SetupGet(project => project.QueueName).Returns(TestQueueName); project1Mock.SetupGet(project => project.QueuePriority).Returns(0); project2Mock = new Mock <IProject>(MockBehavior.Strict); project2Mock.SetupGet(project => project.Name).Returns("ProjectTwo"); project2Mock.SetupGet(project => project.QueueName).Returns(TestQueueName2); project2Mock.SetupGet(project => project.QueuePriority).Returns(0); queueNotifier1Mock = new Mock <IIntegrationQueueNotifier>(MockBehavior.Strict); queueNotifier2Mock = new Mock <IIntegrationQueueNotifier>(MockBehavior.Strict); integrationQueueItem1 = new IntegrationQueueItem((IProject)project1Mock.Object, integrationRequest, (IIntegrationQueueNotifier)queueNotifier1Mock.Object); integrationQueueItem2 = new IntegrationQueueItem((IProject)project2Mock.Object, integrationRequest, (IIntegrationQueueNotifier)queueNotifier2Mock.Object); }
public void AddQueueNameCreatesNewQueue() { set.Add("q1", new DefaultQueueConfiguration("q1")); IIntegrationQueue q = set["q1"]; Assert.IsNotNull(q); }
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() { 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 AddingSameQueueNameReturnsOriginalQueue() { set.Add("q1", new DefaultQueueConfiguration("q1")); IIntegrationQueue q = set["q1"]; set.Add("q1", new DefaultQueueConfiguration("q1")); Assert.AreSame(q, set["q1"]); }
public ProjectIntegrator(IProject project, IIntegrationQueue integrationQueue) { trigger = project.Triggers; this.project = project; this.integrationQueue = integrationQueue; // Make sure the project's directories exist. if (!Directory.Exists(project.WorkingDirectory)) Directory.CreateDirectory(project.WorkingDirectory); if (!Directory.Exists(project.ArtifactDirectory)) Directory.CreateDirectory(project.ArtifactDirectory); }
/// <summary> /// Initializes a new instance of the <see cref="ProjectIntegrator" /> class. /// </summary> /// <param name="project">The project.</param> /// <param name="integrationQueue">The integration queue.</param> /// <remarks></remarks> public ProjectIntegrator(IProject project, IIntegrationQueue integrationQueue) { trigger = project.Triggers; this.project = project; this.integrationQueue = integrationQueue; this.runAndStop = false; // Make sure the project's directories exist. if (!Directory.Exists(project.WorkingDirectory)) { Directory.CreateDirectory(project.WorkingDirectory); } if (!Directory.Exists(project.ArtifactDirectory)) { Directory.CreateDirectory(project.ArtifactDirectory); } }
public void SetUp() { integrationTriggerMock = new Mock <ITrigger>(MockBehavior.Strict); projectMock = new Mock <IProject>(MockBehavior.Strict); projectMock.SetupGet(_project => _project.Name).Returns("project"); projectMock.SetupGet(_project => _project.QueueName).Returns(TestQueueName); projectMock.SetupGet(_project => _project.QueuePriority).Returns(0); projectMock.SetupGet(_project => _project.Triggers).Returns(integrationTriggerMock.Object); projectMock.SetupGet(_project => _project.WorkingDirectory).Returns(tempWorkingDir1); projectMock.SetupGet(_project => _project.ArtifactDirectory).Returns(tempArtifactDir1); integrationQueues = new IntegrationQueueSet(); integrationQueues.Add(TestQueueName, new DefaultQueueConfiguration(TestQueueName)); integrationQueue = integrationQueues[TestQueueName]; integrator = new ProjectIntegrator((IProject)projectMock.Object, integrationQueue); }
/// <summary> /// Lock this queue, based upon a request from another queue. /// Acquires a fresh lock for the queue making the request (assuming none exists). /// </summary> /// <param name="requestingQueue">Queue requesting that a lock be taken out</param> public bool BlockQueue(IIntegrationQueue requestingQueue) { if (inUse) { return(false); } lock (queueLockSync) { if (!blockingQueueNames.Contains(requestingQueue.Name)) { blockingQueueNames.Add(requestingQueue.Name); } } return(true); }
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() { 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); }
private static QueueSnapshot BuildQueueSnapshot(IIntegrationQueue queue) { QueueSnapshot queueSnapshot = new QueueSnapshot(queue.Name); for (int index = 0; index < queue.Count; index++) { IIntegrationQueueItem integrationQueueItem = (IIntegrationQueueItem)queue[index]; // The first request in the queue shows it's real activity of CheckingModifications or Building // Everything else is in a pending state. ProjectActivity projectActivity = ProjectActivity.Pending; if (index == 0) { projectActivity = integrationQueueItem.Project.CurrentActivity; } QueuedRequestSnapshot queuedRequestSnapshot = new QueuedRequestSnapshot( integrationQueueItem.Project.Name, projectActivity, integrationQueueItem.IntegrationRequest.RequestTime); queueSnapshot.Requests.Add(queuedRequestSnapshot); } return queueSnapshot; }
private static QueueSnapshot BuildQueueSnapshot(IIntegrationQueue queue) { QueueSnapshot queueSnapshot = new QueueSnapshot(queue.Name); for (int index = 0; index < queue.Count; index++) { IIntegrationQueueItem integrationQueueItem = (IIntegrationQueueItem)queue[index]; // The first request in the queue shows it's real activity of CheckingModifications or Building // Everything else is in a pending state. ProjectActivity projectActivity = ProjectActivity.Pending; if (index == 0) { projectActivity = integrationQueueItem.Project.CurrentActivity; } QueuedRequestSnapshot queuedRequestSnapshot = new QueuedRequestSnapshot( integrationQueueItem.Project.Name, projectActivity, integrationQueueItem.IntegrationRequest.RequestTime); queueSnapshot.Requests.Add(queuedRequestSnapshot); } return(queueSnapshot); }
protected void SetUp() { projectSerializerMock = new DynamicMock(typeof(IProjectSerializer)); integratorMock1 = new DynamicMock(typeof(IProjectIntegrator)); integratorMock2 = new DynamicMock(typeof(IProjectIntegrator)); integratorMock3 = new DynamicMock(typeof(IProjectIntegrator)); integrator1 = (IProjectIntegrator)integratorMock1.MockInstance; integrator2 = (IProjectIntegrator)integratorMock2.MockInstance; integrator3 = (IProjectIntegrator)integratorMock3.MockInstance; integratorMock1.SetupResult("Name", "Project 1"); integratorMock2.SetupResult("Name", "Project 2"); integratorMock3.SetupResult("Name", "Project 3"); fileSystem = mocks.DynamicMock <IFileSystem>(); executionEnvironment = mocks.DynamicMock <IExecutionEnvironment>(); SetupResult.For(executionEnvironment.IsRunningOnWindows).Return(true); SetupResult.For(executionEnvironment.GetDefaultProgramDataFolder(ApplicationType.Server)).Return(applicationDataPath); SetupResult.For(fileSystem.DirectoryExists(applicationDataPath)).Return(true); mocks.ReplayAll(); integrationQueue = null; // We have no way of injecting currently. configuration = new Configuration(); project1 = new Project(); project1.Name = "Project 1"; integratorMock1.SetupResult("Project", project1); project2 = new Project(); project2.Name = "Project 2"; integratorMock2.SetupResult("Project", project1); mockProject = new DynamicMock(typeof(IProject)); mockProject.SetupResult("Name", "Project 3"); mockProject.SetupResult("QueueName", "Project 3"); mockProject.SetupResult("QueueName", "Project 3"); mockProjectInstance = (IProject)mockProject.MockInstance; mockProject.SetupResult("Name", "Project 3"); mockProject.SetupResult("StartupMode", ProjectStartupMode.UseLastState); integratorMock3.SetupResult("Project", mockProjectInstance); configuration.AddProject(project1); configuration.AddProject(project2); configuration.AddProject(mockProjectInstance); integratorList = new ProjectIntegratorList(); integratorList.Add(integrator1); integratorList.Add(integrator2); integratorList.Add(integrator3); configServiceMock = new DynamicMock(typeof(IConfigurationService)); configServiceMock.ExpectAndReturn("Load", configuration); projectIntegratorListFactoryMock = new DynamicMock(typeof(IProjectIntegratorListFactory)); projectIntegratorListFactoryMock.ExpectAndReturn("CreateProjectIntegrators", integratorList, configuration.Projects, integrationQueue); stateManagerMock = new DynamicMock(typeof(IProjectStateManager)); stateManagerMock.SetupResult("CheckIfProjectCanStart", true, typeof(string)); server = new CruiseServer((IConfigurationService)configServiceMock.MockInstance, (IProjectIntegratorListFactory)projectIntegratorListFactoryMock.MockInstance, (IProjectSerializer)projectSerializerMock.MockInstance, (IProjectStateManager)stateManagerMock.MockInstance, fileSystem, executionEnvironment, null); }
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); }
/// <summary> /// Lock this queue, based upon a request from another queue. /// Acquires a fresh lock for the queue making the request (assuming none exists). /// </summary> /// <param name="requestingQueue">Queue requesting that a lock be taken out</param> public bool BlockQueue(IIntegrationQueue requestingQueue) { if (inUse) return false; lock (queueLockSync) { if (!blockingQueueNames.Contains(requestingQueue.Name)) { blockingQueueNames.Add(requestingQueue.Name); } } return true; }
protected void SetUp() { projectSerializerMock = new DynamicMock(typeof (IProjectSerializer)); integratorMock1 = new DynamicMock(typeof (IProjectIntegrator)); integratorMock2 = new DynamicMock(typeof (IProjectIntegrator)); integratorMock3 = new DynamicMock(typeof (IProjectIntegrator)); integrator1 = (IProjectIntegrator) integratorMock1.MockInstance; integrator2 = (IProjectIntegrator) integratorMock2.MockInstance; integrator3 = (IProjectIntegrator) integratorMock3.MockInstance; integratorMock1.SetupResult("Name", "Project 1"); integratorMock2.SetupResult("Name", "Project 2"); integratorMock3.SetupResult("Name", "Project 3"); fileSystem = mocks.DynamicMock<IFileSystem>(); executionEnvironment = mocks.DynamicMock<IExecutionEnvironment>(); SetupResult.For(executionEnvironment.IsRunningOnWindows).Return(true); SetupResult.For(executionEnvironment.GetDefaultProgramDataFolder(ApplicationType.Server)).Return(applicationDataPath); SetupResult.For(fileSystem.DirectoryExists(applicationDataPath)).Return(true); mocks.ReplayAll(); integrationQueue = null; // We have no way of injecting currently. configuration = new Configuration(); project1 = new Project(); project1.Name = "Project 1"; integratorMock1.SetupResult("Project", project1); project2 = new Project(); project2.Name = "Project 2"; integratorMock2.SetupResult("Project", project1); mockProject = new DynamicMock(typeof(IProject)); mockProject.SetupResult("Name", "Project 3"); mockProject.SetupResult("QueueName", "Project 3"); mockProject.SetupResult("QueueName", "Project 3"); mockProjectInstance = (IProject)mockProject.MockInstance; mockProject.SetupResult("Name", "Project 3"); mockProject.SetupResult("StartupMode", ProjectStartupMode.UseLastState); integratorMock3.SetupResult("Project", mockProjectInstance); configuration.AddProject(project1); configuration.AddProject(project2); configuration.AddProject(mockProjectInstance); integratorList = new ProjectIntegratorList(); integratorList.Add(integrator1); integratorList.Add(integrator2); integratorList.Add(integrator3); configServiceMock = new DynamicMock(typeof (IConfigurationService)); configServiceMock.ExpectAndReturn("Load", configuration); projectIntegratorListFactoryMock = new DynamicMock(typeof (IProjectIntegratorListFactory)); projectIntegratorListFactoryMock.ExpectAndReturn("CreateProjectIntegrators", integratorList, configuration.Projects, integrationQueue); stateManagerMock = new DynamicMock(typeof(IProjectStateManager)); stateManagerMock.SetupResult("CheckIfProjectCanStart", true, typeof(string)); server = new CruiseServer((IConfigurationService) configServiceMock.MockInstance, (IProjectIntegratorListFactory) projectIntegratorListFactoryMock.MockInstance, (IProjectSerializer) projectSerializerMock.MockInstance, (IProjectStateManager)stateManagerMock.MockInstance, fileSystem, executionEnvironment, null); }
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 Mock <IProject>(MockBehavior.Strict); project1Mock.SetupGet(project => project.Name).Returns("ProjectOne"); project1Mock.SetupGet(project => project.QueueName).Returns(TestQueueName); project1Mock.SetupGet(project => project.QueuePriority).Returns(0); project2Mock = new Mock <IProject>(MockBehavior.Strict); project2Mock.SetupGet(project => project.Name).Returns("ProjectTwo"); project2Mock.SetupGet(project => project.QueueName).Returns(TestQueueName); project2Mock.SetupGet(project => project.QueuePriority).Returns(0); project3Mock = new Mock <IProject>(MockBehavior.Strict); project3Mock.SetupGet(project => project.Name).Returns("ProjectThree"); project3Mock.SetupGet(project => project.QueueName).Returns(TestQueueName); project3Mock.SetupGet(project => project.QueuePriority).Returns(1); queueNotifier1Mock = new Mock <IIntegrationQueueNotifier>(MockBehavior.Strict); queueNotifier2Mock = new Mock <IIntegrationQueueNotifier>(MockBehavior.Strict); queueNotifier3Mock = new Mock <IIntegrationQueueNotifier>(MockBehavior.Strict); integrationQueueItem1 = new IntegrationQueueItem((IProject)project1Mock.Object, integrationRequestForceBuild, (IIntegrationQueueNotifier)queueNotifier1Mock.Object); integrationQueueItem2 = new IntegrationQueueItem((IProject)project2Mock.Object, integrationRequestForceBuild, (IIntegrationQueueNotifier)queueNotifier2Mock.Object); integrationQueueItem3 = new IntegrationQueueItem((IProject)project3Mock.Object, integrationRequestForceBuild, (IIntegrationQueueNotifier)queueNotifier3Mock.Object); integrationQueueItem4 = new IntegrationQueueItem((IProject)project2Mock.Object, integrationRequestIfModificationExists, (IIntegrationQueueNotifier)queueNotifier2Mock.Object); }
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); }