public void OnRestartKillAllIntegratorsRefreshConfigAndStartupNewIntegrators() { integratorMock1.Setup(integrator => integrator.Start()).Verifiable(); integratorMock2.Setup(integrator => integrator.Start()).Verifiable(); server.Start(); integratorMock1.Setup(integrator => integrator.Stop(true)).Verifiable(); integratorMock1.Setup(integrator => integrator.WaitForExit()).Verifiable(); integratorMock2.Setup(integrator => integrator.Stop(true)).Verifiable(); integratorMock2.Setup(integrator => integrator.WaitForExit()).Verifiable(); configuration = new Configuration(); configuration.AddProject(project1); integratorList = new ProjectIntegratorList(); integratorList.Add(integrator1); configServiceMock.Setup(service => service.Load()).Returns(configuration).Verifiable(); projectIntegratorListFactoryMock.Setup(factory => factory.CreateProjectIntegrators(configuration.Projects, It.IsAny <IntegrationQueueSet>())) .Returns(integratorList).Verifiable(); server.Restart(); integratorMock1.Verify(integrator => integrator.Start(), Times.Exactly(2)); integratorMock2.Verify(integrator => integrator.Start(), Times.Exactly(1)); VerifyAll(); }
public void OnRestartKillAllIntegratorsRefreshConfigAndStartupNewIntegrators() { integratorMock1.Expect("Start"); integratorMock2.Expect("Start"); server.Start(); integratorMock1.Expect("Stop", true); integratorMock1.Expect("WaitForExit"); integratorMock2.Expect("Stop", true); integratorMock2.Expect("WaitForExit"); configuration = new Configuration(); configuration.AddProject(project1); integratorList = new ProjectIntegratorList(); integratorList.Add(integrator1); configServiceMock.ExpectAndReturn("Load", configuration); projectIntegratorListFactoryMock.ExpectAndReturn("CreateProjectIntegrators", integratorList, configuration.Projects, integrationQueue); integratorMock1.Expect("Start"); integratorMock2.ExpectNoCall("Start"); server.Restart(); VerifyAll(); }
protected void SetUp() { projectSerializerMock = new Mock <IProjectSerializer>(); integratorMock1 = new Mock <IProjectIntegrator>(); integratorMock2 = new Mock <IProjectIntegrator>(); integratorMock3 = new Mock <IProjectIntegrator>(); integrator1 = (IProjectIntegrator)integratorMock1.Object; integrator2 = (IProjectIntegrator)integratorMock2.Object; integrator3 = (IProjectIntegrator)integratorMock3.Object; integratorMock1.SetupGet(integrator => integrator.Name).Returns("Project 1"); integratorMock2.SetupGet(integrator => integrator.Name).Returns("Project 2"); integratorMock3.SetupGet(integrator => integrator.Name).Returns("Project 3"); fileSystem = mocks.Create <IFileSystem>().Object; executionEnvironment = mocks.Create <IExecutionEnvironment>().Object; Mock.Get(executionEnvironment).SetupGet(_executionEnvironment => _executionEnvironment.IsRunningOnWindows).Returns(true); Mock.Get(executionEnvironment).Setup(_executionEnvironment => _executionEnvironment.GetDefaultProgramDataFolder(ApplicationType.Server)).Returns(applicationDataPath); Mock.Get(fileSystem).Setup(_fileSystem => _fileSystem.DirectoryExists(applicationDataPath)).Returns(true); configuration = new Configuration(); project1 = new Project(); project1.Name = "Project 1"; integratorMock1.SetupGet(integrator => integrator.Project).Returns(project1); project2 = new Project(); project2.Name = "Project 2"; integratorMock2.SetupGet(integrator => integrator.Project).Returns(project1); mockProject = new Mock <IProject>(); mockProjectInstance = (IProject)mockProject.Object; mockProject.SetupGet(project => project.Name).Returns("Project 3"); mockProject.SetupGet(project => project.QueueName).Returns("Project 3"); mockProject.SetupGet(project => project.StartupMode).Returns(ProjectStartupMode.UseLastState); integratorMock3.SetupGet(integrator => integrator.Project).Returns(mockProjectInstance); configuration.AddProject(project1); configuration.AddProject(project2); configuration.AddProject(mockProjectInstance); integratorList = new ProjectIntegratorList(); integratorList.Add(integrator1); integratorList.Add(integrator2); integratorList.Add(integrator3); configServiceMock = new Mock <IConfigurationService>(); configServiceMock.Setup(service => service.Load()).Returns(configuration).Verifiable(); projectIntegratorListFactoryMock = new Mock <IProjectIntegratorListFactory>(); projectIntegratorListFactoryMock.Setup(factory => factory.CreateProjectIntegrators(configuration.Projects, It.IsAny <IntegrationQueueSet>())) .Returns(integratorList).Verifiable(); stateManagerMock = new Mock <IProjectStateManager>(); stateManagerMock.Setup(_manager => _manager.CheckIfProjectCanStart(It.IsAny <string>())).Returns(true); server = new CruiseServer((IConfigurationService)configServiceMock.Object, (IProjectIntegratorListFactory)projectIntegratorListFactoryMock.Object, (IProjectSerializer)projectSerializerMock.Object, (IProjectStateManager)stateManagerMock.Object, fileSystem, executionEnvironment, null); }
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); }