public void CreateManagerGeneratesDefault() { IConfiguration configuration = mocks.Create <IConfiguration>().Object; IProjectList projectList = mocks.Create <IProjectList>().Object; IEnumerator enumerator = mocks.Create <IEnumerator>().Object; Mock.Get(enumerator).Setup(_enumerator => _enumerator.MoveNext()).Returns(false); Mock.Get(projectList).Setup(_projectList => _projectList.GetEnumerator()).Returns(enumerator); Mock.Get(configuration).Setup(_configuration => _configuration.Projects).Returns(projectList); IProjectIntegratorListFactory listFactory = mocks.Create <IProjectIntegratorListFactory>().Object; IProjectIntegratorList list = mocks.Create <IProjectIntegratorList>().Object; Mock.Get(list).SetupGet(_list => _list.Count).Returns(0); Mock.Get(listFactory).Setup(_listFactory => _listFactory.CreateProjectIntegrators(It.IsAny <IProjectList>(), It.IsAny <IntegrationQueueSet>())).Returns(list); object instance = IntegrationQueueManagerFactory.CreateManager(listFactory, configuration, null); Assert.That(instance, Is.InstanceOf <IntegrationQueueManager>()); }
public void CreateManagerGeneratesDefault() { IConfiguration configuration = mocks.DynamicMock <IConfiguration>(); IProjectList projectList = mocks.DynamicMock <IProjectList>(); IEnumerator enumerator = mocks.DynamicMock <IEnumerator>(); SetupResult.For(enumerator.MoveNext()).Return(false); SetupResult.For(projectList.GetEnumerator()).Return(enumerator); SetupResult.For(configuration.Projects).Return(projectList); IProjectIntegratorListFactory listFactory = mocks.DynamicMock <IProjectIntegratorListFactory>(); IProjectIntegratorList list = mocks.DynamicMock <IProjectIntegratorList>(); SetupResult.For(list.Count).Return(0); SetupResult.For(listFactory.CreateProjectIntegrators(null, null)).IgnoreArguments().Return(list); mocks.ReplayAll(); object instance = IntegrationQueueManagerFactory.CreateManager(listFactory, configuration, null); Assert.That(instance, Is.InstanceOf <IntegrationQueueManager>()); }
public void OverrideChangesFactory() { IQueueManagerFactory newFactory = mocks.Create <IQueueManagerFactory>(MockBehavior.Strict).Object; IQueueManager newManager = mocks.Create <IQueueManager>(MockBehavior.Strict).Object; Mock.Get(newFactory).Setup(_newFactory => _newFactory.Create(null, null, null)).Returns(newManager).Verifiable(); IntegrationQueueManagerFactory.OverrideFactory(newFactory); try { object instance = IntegrationQueueManagerFactory.CreateManager(null, null, null); Assert.AreSame(newManager, instance); } finally { // Clean up - otherwise the static instance will be corrected IntegrationQueueManagerFactory.ResetFactory(); } mocks.VerifyAll(); }
public void OverrideChangesFactory() { IQueueManagerFactory newFactory = mocks.StrictMock <IQueueManagerFactory>(); IQueueManager newManager = mocks.StrictMock <IQueueManager>(); Expect.Call(newFactory.Create(null, null, null)).Return(newManager); mocks.ReplayAll(); IntegrationQueueManagerFactory.OverrideFactory(newFactory); try { object instance = IntegrationQueueManagerFactory.CreateManager(null, null, null); Assert.AreSame(newManager, instance); } finally { // Clean up - otherwise the static instance will be corrected IntegrationQueueManagerFactory.ResetFactory(); } mocks.VerifyAll(); }
/// <summary> /// Initialises the server. /// </summary> /// <param name="mocks">The mocks repository.</param> /// <param name="buildName">Name of the build.</param> /// <param name="buildLog">The build log.</param> /// <returns>The initialised server.</returns> private static CruiseServer InitialiseServer(MockRepository mocks, string buildName, string buildLog) { // Add some projects var projects = new ProjectList(); var project = new Project { Name = testProjectName }; projects.Add(project); // Mock the configuration var configuration = mocks.Create <IConfiguration>(MockBehavior.Strict).Object; Mock.Get(configuration).SetupGet(_configuration => _configuration.Projects) .Returns(projects); Mock.Get(configuration).SetupGet(_configuration => _configuration.SecurityManager) .Returns(new NullSecurityManager()); // Mock the configuration service var configService = mocks.Create <IConfigurationService>(MockBehavior.Strict).Object; Mock.Get(configService).Setup(_configService => _configService.Load()) .Returns(configuration); Mock.Get(configService).Setup(_configService => _configService.AddConfigurationUpdateHandler(It.IsAny <ConfigurationUpdateHandler>())).Verifiable(); // Mock the integration repostory var repository = mocks.Create <IIntegrationRepository>(MockBehavior.Strict).Object; Mock.Get(repository).Setup(_repository => _repository.GetBuildLog(buildName)) .Returns(buildLog); // Mock the project integrator var projectIntegrator = mocks.Create <IProjectIntegrator>(MockBehavior.Strict).Object; Mock.Get(projectIntegrator).SetupGet(_projectIntegrator => _projectIntegrator.Project) .Returns(project); Mock.Get(projectIntegrator).SetupGet(_projectIntegrator => _projectIntegrator.IntegrationRepository) .Returns(repository); // Mock the queue manager var queueManager = mocks.Create <IQueueManager>(MockBehavior.Strict).Object; Mock.Get(queueManager).Setup(_queueManager => _queueManager.AssociateIntegrationEvents(It.IsAny <EventHandler <IntegrationStartedEventArgs> >(), It.IsAny <EventHandler <IntegrationCompletedEventArgs> >())).Verifiable(); Mock.Get(queueManager).Setup(_queueManager => _queueManager.GetIntegrator(testProjectName)) .Returns(projectIntegrator); // Mock the queue manager factory var queueManagerFactory = mocks.Create <IQueueManagerFactory>(MockBehavior.Strict).Object; Mock.Get(queueManagerFactory).Setup(_queueManagerFactory => _queueManagerFactory.Create(null, configuration, null)) .Returns(queueManager); IntegrationQueueManagerFactory.OverrideFactory(queueManagerFactory); // Mock the execution environment var execEnviron = mocks.Create <IExecutionEnvironment>(MockBehavior.Strict).Object; Mock.Get(execEnviron).Setup(_execEnviron => _execEnviron.GetDefaultProgramDataFolder(ApplicationType.Server)) .Returns(string.Empty); // Initialise the server var server = new CruiseServer( configService, null, null, null, null, execEnviron, null); return(server); }
public void Teardown() { IntegrationQueueManagerFactory.ResetFactory(); }
/// <summary> /// Initialises the server. /// </summary> /// <param name="mocks">The mocks repository.</param> /// <param name="buildName">Name of the build.</param> /// <param name="buildLog">The build log.</param> /// <returns>The initialised server.</returns> private static CruiseServer InitialiseServer(MockRepository mocks, string buildName, string buildLog) { // Add some projects var projects = new ProjectList(); var project = new Project { Name = testProjectName }; projects.Add(project); // Mock the configuration var configuration = mocks.StrictMock <IConfiguration>(); SetupResult.For(configuration.Projects) .Return(projects); SetupResult.For(configuration.SecurityManager) .Return(new NullSecurityManager()); // Mock the configuration service var configService = mocks.StrictMock <IConfigurationService>(); SetupResult.For(configService.Load()) .Return(configuration); Expect.Call(() => { configService.AddConfigurationUpdateHandler(null); }) .IgnoreArguments(); // Mock the integration repostory var repository = mocks.StrictMock <IIntegrationRepository>(); SetupResult.For(repository.GetBuildLog(buildName)) .Return(buildLog); // Mock the project integrator var projectIntegrator = mocks.StrictMock <IProjectIntegrator>(); SetupResult.For(projectIntegrator.Project) .Return(project); SetupResult.For(projectIntegrator.IntegrationRepository) .Return(repository); // Mock the queue manager var queueManager = mocks.StrictMock <IQueueManager>(); Expect.Call(() => { queueManager.AssociateIntegrationEvents(null, null); }) .IgnoreArguments(); SetupResult.For(queueManager.GetIntegrator(testProjectName)) .Return(projectIntegrator); // Mock the queue manager factory var queueManagerFactory = mocks.StrictMock <IQueueManagerFactory>(); SetupResult.For(queueManagerFactory.Create(null, configuration, null)) .Return(queueManager); IntegrationQueueManagerFactory.OverrideFactory(queueManagerFactory); // Mock the execution environment var execEnviron = mocks.StrictMock <IExecutionEnvironment>(); SetupResult.For(execEnviron.GetDefaultProgramDataFolder(ApplicationType.Server)) .Return(string.Empty); // Initialise the server mocks.ReplayAll(); var server = new CruiseServer( configService, null, null, null, null, execEnviron, null); return(server); }