public void Test_CreateDeployemntTask_RunsProperly_WhenAllIsWell() { var objectFactory = new Mock<IObjectFactory>(MockBehavior.Strict); var envInfoRepository = new Mock<IEnvironmentInfoRepository>(MockBehavior.Strict); var artifactsRepository = new Mock<IArtifactsRepository>(MockBehavior.Strict); var taskScheduler = new Mock<ITaskScheduler>(MockBehavior.Strict); var ntServiceManager = new Mock<INtServiceManager>(MockBehavior.Strict); var projInfoRepository = new Mock<IProjectInfoRepository>(MockBehavior.Strict); var directoryAdapter = new Mock<IDirectoryAdapter>(MockBehavior.Loose); var fileAdapter = new Mock<IFileAdapter>(MockBehavior.Loose); var zipFileAdapter = new Mock<IZipFileAdapter>(MockBehavior.Loose); var projectInfo = new TerminalAppProjectInfo( _Name, _ArtifactsRepositoryName, _AllowedEnvironmentNames, _ArtifactsRepositoryDirName, _ArtifactsAreNotEnvirionmentSpecific, _TerminalAppName, _TerminalAppDirName, _TerminalAppExeName); objectFactory.Setup(o => o.CreateEnvironmentInfoRepository()).Returns(envInfoRepository.Object); objectFactory.Setup(o => o.CreateArtifactsRepository()).Returns(artifactsRepository.Object); objectFactory.Setup(o => o.CreateTaskScheduler()).Returns(taskScheduler.Object); objectFactory.Setup(o => o.CreateNtServiceManager()).Returns(ntServiceManager.Object); objectFactory.Setup(o => o.CreateProjectInfoRepository()).Returns(projInfoRepository.Object); objectFactory.Setup(o => o.CreateDirectoryAdapter()).Returns(directoryAdapter.Object); objectFactory.Setup(o => o.CreateFileAdapter()).Returns(fileAdapter.Object); objectFactory.Setup(o => o.CreateZipFileAdapter()).Returns(zipFileAdapter.Object); projectInfo.CreateDeploymentTask(objectFactory.Object); }
public void Test_CreateDeployemntTask_RunsProperly_WhenAllIsWell() { var objectFactory = new Mock<IObjectFactory>(MockBehavior.Strict); var envInfoRepository = new Mock<IEnvironmentInfoRepository>(MockBehavior.Strict); var artifactsRepository = new Mock<IArtifactsRepository>(MockBehavior.Strict); var taskScheduler = new Mock<ITaskScheduler>(MockBehavior.Strict); var ntServiceManager = new Mock<INtServiceManager>(MockBehavior.Strict); var projectInfo = new TerminalAppProjectInfo( _Name, _ArtifactsRepositoryName, _ArtifactsRepositoryDirName, _ArtifactsAreNotEnvirionmentSpecific, _TerminalAppName, _TerminalAppDirName, _TerminalAppExeName); objectFactory.Setup(o => o.CreateEnvironmentInfoRepository()).Returns(envInfoRepository.Object); objectFactory.Setup(o => o.CreateArtifactsRepository()).Returns(artifactsRepository.Object); objectFactory.Setup(o => o.CreateTaskScheduler()).Returns(taskScheduler.Object); objectFactory.Setup(o => o.CreateNtServiceManager()).Returns(ntServiceManager.Object); projectInfo.CreateDeploymentTask( objectFactory.Object, "configName", "buildID", "targetEnvironmentName"); }
public DeployTerminalAppDeploymentTask(IEnvironmentInfoRepository environmentInfoRepository, IArtifactsRepository artifactsRepository, TerminalAppProjectInfo projectInfo, string projectConfigurationName, string projectConfigurationBuildId, string targetEnvironmentName) : base(environmentInfoRepository, targetEnvironmentName) { if (artifactsRepository == null) { throw new ArgumentNullException("artifactsRepository"); } if (projectInfo == null) { throw new ArgumentNullException("projectInfo"); } if (string.IsNullOrEmpty(projectConfigurationName)) { throw new ArgumentException("Argument can't be null nor empty.", "projectConfigurationName"); } if (string.IsNullOrEmpty(projectConfigurationBuildId)) { throw new ArgumentException("Argument can't be null nor empty.", "projectConfigurationBuildId"); } _artifactsRepository = artifactsRepository; _projectInfo = projectInfo; _projectConfigurationName = projectConfigurationName; _projectConfigurationBuildId = projectConfigurationBuildId; }
public void OnDeploymentTaskStarting_WhenEnvironmentIsProductionAndConfigurationIsNot_ThrowsInvalidOperationException() { var enforceTargetEnvironmentConstraintsModule = new EnforceTargetEnvironmentConstraintsModule(); var environmentInfoRepository = new Mock<IEnvironmentInfoRepository>(); var artifactsRepository = new Mock<IArtifactsRepository>(); TerminalAppProjectInfo projectInfo = new TerminalAppProjectInfo("name", "artifactsRepositoryName", "artifactsrepositoryDirName", false, "terminalAppName", "terminalAppDirName", "terminalAppExeName"); var deploymentTask = new DeployTerminalAppDeploymentTask(environmentInfoRepository.Object, artifactsRepository.Object, projectInfo, "trunk", "buildId", "prod"); var deploymentContext = new DeploymentContext("requester"); Assert.Throws<InvalidOperationException>(() => enforceTargetEnvironmentConstraintsModule.OnDeploymentTaskStarting(deploymentTask, deploymentContext)); }
public void OnDeploymentTaskFinished_DoNothing_SoDoesNotThrows() { var enforceTargetEnvironmentConstraintsModule = new EnforceTargetEnvironmentConstraintsModule(); var environmentInfoRepository = new Mock<IEnvironmentInfoRepository>(); var artifactsRepository = new Mock<IArtifactsRepository>(); TerminalAppProjectInfo projectInfo = new TerminalAppProjectInfo("name", "artifactsRepositoryName", "artifactsrepositoryDirName", false, "terminalAppName", "terminalAppDirName", "terminalAppExeName"); var deploymentTask = new DeployTerminalAppDeploymentTask(environmentInfoRepository.Object, artifactsRepository.Object, projectInfo, "Production", "buildId", "prod"); var deploymentContext = new DeploymentContext("requester"); Assert.DoesNotThrow(() => enforceTargetEnvironmentConstraintsModule.OnDeploymentTaskFinished(deploymentTask, deploymentContext)); }
public void OnDeploymentTaskStarting_DoNothing_SoDoesNotThrow() { var deploymentRequestRepository = new Mock<IDeploymentRequestRepository>(); var auditingModule = new AuditingModule(deploymentRequestRepository.Object); var environmentInfoRepository = new Mock<IEnvironmentInfoRepository>(); var artifactsRepository = new Mock<IArtifactsRepository>(); TerminalAppProjectInfo projectInfo = new TerminalAppProjectInfo("name", "artifactsRepositoryName", "artifactsrepositoryDirName", false, "terminalAppName", "terminalAppDirName", "terminalAppExeName"); var deploymentTask = new DeployTerminalAppDeploymentTask(environmentInfoRepository.Object, artifactsRepository.Object, projectInfo, "Production", "buildId", "prod"); var deploymentContext = new DeploymentContext("requester"); Assert.DoesNotThrow(() => auditingModule.OnDeploymentTaskStarting(deploymentTask, deploymentContext)); }
public void Test_CreateDeployemntTask_Throws_WhenObjectFactory_null() { var projectInfo = new TerminalAppProjectInfo( _Name, _ArtifactsRepositoryName, _ArtifactsRepositoryDirName, _ArtifactsAreNotEnvirionmentSpecific, _TerminalAppName, _TerminalAppDirName, _TerminalAppExeName); Assert.Throws<ArgumentNullException>(()=>projectInfo.CreateDeploymentTask( null, "configName", "buildID", "targetEnvironmentName")); }
public void OnDeploymentTaskFinished_ExpectAddDeploymnetRequest() { string projectName = "projectName"; string targetEnvironmentName = "targetEnvironmentName"; var deploymentRequestRepository = new Mock<IDeploymentRequestRepository>(MockBehavior.Strict); var auditingModule = new AuditingModule(deploymentRequestRepository.Object); var environmentInfoRepository = new Mock<IEnvironmentInfoRepository>(); var artifactsRepository = new Mock<IArtifactsRepository>(); TerminalAppProjectInfo projectInfo = new TerminalAppProjectInfo(projectName, "artifactsRepositoryName", "artifactsrepositoryDirName", false, "terminalAppName", "terminalAppDirName", "terminalAppExeName"); var deploymentTask = new DeployTerminalAppDeploymentTask(environmentInfoRepository.Object, artifactsRepository.Object, projectInfo, "Production", "buildId", targetEnvironmentName); var deploymentContext = new DeploymentContext("requester"); deploymentRequestRepository .Setup( drr => drr.AddDeploymentRequest( It.Is<DeploymentRequest>( r => r.ProjectName == projectName && r.TargetEnvironmentName == targetEnvironmentName))); Assert.DoesNotThrow(() => auditingModule.OnDeploymentTaskFinished(deploymentTask, deploymentContext)); }
public void Test_GetTargetFolders_RunsProperly_WhenAllIsWell() { string machine = Environment.MachineName; const string baseDirPath = "c:\\basedir"; string terminalmachine = "terminalmachine"; var envInfo = new EnvironmentInfo( "name", "templates", machine, "failover", new[] { "webmachine" }, terminalmachine, "databasemachine", baseDirPath, "webbasedir", "c:\\scheduler", "c:\\terminal", false, _EnvironmentUsers, _ProjectToFailoverClusterGroupMappings); var projectInfo = new TerminalAppProjectInfo( _Name, _ArtifactsRepositoryName, _ArtifactsRepositoryDirName, _ArtifactsAreNotEnvirionmentSpecific, _TerminalAppName, _TerminalAppDirName, _TerminalAppExeName); List<string> targetFolders = projectInfo.GetTargetFolders(envInfo) .ToList(); Assert.IsNotNull(targetFolders); Assert.AreEqual(1, targetFolders.Count); Assert.AreEqual("\\\\" + terminalmachine + "\\c$\\terminal\\" + _TerminalAppDirName, targetFolders[0]); }
public void Test_GetTargetFolders_Throws_EnvInfo_null() { var projectInfo = new TerminalAppProjectInfo( _Name, _ArtifactsRepositoryName, _ArtifactsRepositoryDirName, _ArtifactsAreNotEnvirionmentSpecific, _TerminalAppName, _TerminalAppDirName, _TerminalAppExeName); Assert.Throws<ArgumentNullException>(() => projectInfo.GetTargetFolders(null)); }
public void Test_GetTargetFolders_RunsProperly_WhenAllIsWell() { var envInfo = DeploymentDataGenerator.GetEnvironmentInfo(); var projectInfo = new TerminalAppProjectInfo( _Name, _ArtifactsRepositoryName, _AllowedEnvironmentNames, _ArtifactsRepositoryDirName, _ArtifactsAreNotEnvirionmentSpecific, _TerminalAppName, _TerminalAppDirName, _TerminalAppExeName); string terminalServerNetworkPath = envInfo.GetTerminalServerNetworkPath( string.Format("{0}{1}\\1.0.0.0", envInfo.TerminalAppsBaseDirPath, projectInfo.TerminalAppDirName)); _directoryAdapterFake.Setup( da => da.GetDirectories(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<SearchOption>())) .Returns(new[] { terminalServerNetworkPath }); // act List<string> targetFolders = projectInfo.GetTargetFolders(_objectFactoryFake.Object, envInfo) .ToList(); Assert.IsNotNull(targetFolders); Assert.AreEqual(1, targetFolders.Count); Assert.AreEqual(terminalServerNetworkPath, targetFolders[0]); }