public void MappingProcessor_should_call_post_deploy_action_when_script_not_specified() { // Arrange var deployAgentProvider = new DeployAgentProvider(); var deploymentFolderSource = MockRepository.GenerateStub <IDeploymentFolderSource>(); var mappingEvaluator = MockRepository.GenerateStub <IMappingEvaluator>(); var mappingProcessor = new MappingProcessor(deployAgentProvider, deploymentFolderSource, mappingEvaluator); var postDeployAction = MockRepository.GenerateStub <IPostDeployAction>(); var buildDetail = new BuildDetail(); var mappings = new[] { new Mapping { RetainBuildSpecified = true, RetainBuild = true } }; mappingEvaluator.Stub(o => o.DoesMappingApply(null, null, null)) .IgnoreArguments() .Return(true); var statusChanged = new BuildStatusChangeEvent { StatusChange = new Change() }; // Act mappingProcessor.ProcessMappings(mappings, statusChanged, buildDetail, postDeployAction); // Assert postDeployAction.AssertWasCalled(o => o.DeploymentFinished( Arg <Mapping> .Is.Equal(mappings[0]), Arg <DeployAgentResult> .Matches(result => !result.HasErrors)) ); }
public void DeployAgentProvider_should_provide_an_OutOfProcessPowerShellDeployAgent_with_ClrVersion4_for_PowerShellV3_runner_type() { var mapping = new Mapping { RunnerType = RunnerType.PowerShellV3, RunnerTypeSpecified = true, Script = "not blank" }; var containerBuilder = new ContainerBuilder(); containerBuilder.RegisterType <DeploymentEventJournal>().As <IDeploymentEventRecorder>(); containerBuilder.RegisterType <OutOfProcessPowerShellDeployAgent>(); IDeployAgent agent; using (var container = containerBuilder.Build()) { var provider = new DeployAgentProvider(container); agent = provider.GetDeployAgent(mapping); } Assert.IsInstanceOfType(agent, typeof(OutOfProcessPowerShellDeployAgent)); var clrVersion = (ClrVersion)agent.GetType().GetField("_clrVersion", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(agent); Assert.AreEqual(ClrVersion.Version4, clrVersion); }
public IDeployer Create() { var deployAgentProvider = new DeployAgentProvider(); var emailAlerter = new EmailAlerter(); var mappingEvaluator = new MappingEvaluator(); var mappingProcessor = new MappingProcessor(deployAgentProvider, _deploymentFolderSource, mappingEvaluator); return(new Deployer(_configurationReader, emailAlerter, _buildServer, mappingProcessor)); }
public void DeployAgentProvider_should_provide_a_BatchFileDeployAgent_for_BatchFile_runner_type() { var mapping = new Mapping { RunnerType = RunnerType.BatchFile, Script = "not blank" }; var provider = new DeployAgentProvider(null); var agent = provider.GetDeployAgent(mapping); Assert.IsInstanceOfType(agent, typeof(BatchFileDeployAgent)); }
public void DeployAgentProvider_should_provide_nothing_for_an_unspecified_script() { var mapping = new Mapping { Script = string.Empty }; var provider = new DeployAgentProvider(null); var agent = provider.GetDeployAgent(mapping); Assert.IsNull(agent); }
public void DeployAgentProvider_should_provide_an_OutOfProcessPowerShellDeployAgent_for_unspecified_runner_type() { var mapping = new Mapping { RunnerTypeSpecified = false, Script = "not blank" }; var containerBuilder = new ContainerBuilder(); containerBuilder.RegisterType <DeploymentEventJournal>().As <IDeploymentEventRecorder>(); containerBuilder.RegisterType <OutOfProcessPowerShellDeployAgent>(); using (var container = containerBuilder.Build()) { var provider = new DeployAgentProvider(container); var agent = provider.GetDeployAgent(mapping); Assert.IsInstanceOfType(agent, typeof(OutOfProcessPowerShellDeployAgent)); } }