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_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]); }
protected override void DoPrepare() { EnvironmentInfo environmentInfo = GetEnvironmentInfo(); TerminalAppProjectInfo projectInfo = GetProjectInfo <TerminalAppProjectInfo>(); // create a step for downloading the artifacts var downloadArtifactsDeploymentStep = new DownloadArtifactsDeploymentStep( projectInfo, DeploymentInfo, GetTempDirPath(), _artifactsRepository); AddSubTask(downloadArtifactsDeploymentStep); // create a step for extracting the artifacts var extractArtifactsDeploymentStep = new ExtractArtifactsDeploymentStep( projectInfo, environmentInfo, DeploymentInfo, downloadArtifactsDeploymentStep.ArtifactsFilePath, GetTempDirPath(), _fileAdapter, _directoryAdapter, _zipFileAdapter); AddSubTask(extractArtifactsDeploymentStep); if (projectInfo.ArtifactsAreEnvironmentSpecific) { var binariesConfiguratorStep = new ConfigureBinariesStep( environmentInfo.ConfigurationTemplateName, GetTempDirPath()); AddSubTask(binariesConfiguratorStep); } var extractVersionDeploymentStep = new ExtractVersionDeploymentStep( new Lazy <string>(() => extractArtifactsDeploymentStep.BinariesDirPath), projectInfo.TerminalAppExeName ); AddSubTask(extractVersionDeploymentStep); var prepareVersionedFolderDeploymentStep = new PrepareVersionedFolderDeploymentStep( DeploymentInfo.ProjectName, environmentInfo.GetTerminalServerNetworkPath(environmentInfo.TerminalAppsBaseDirPath), projectInfo.TerminalAppDirName, new Lazy <string>(() => extractVersionDeploymentStep.Version)); AddSubTask(prepareVersionedFolderDeploymentStep); AddSubTask( new CleanDirectoryDeploymentStep( _directoryAdapter, _fileAdapter, new Lazy <string>(() => prepareVersionedFolderDeploymentStep.VersionDeploymentDirPath), excludedDirs: new string[] { })); AddSubTask( new CopyFilesDeploymentStep( _directoryAdapter, new Lazy <string>(() => extractArtifactsDeploymentStep.BinariesDirPath), new Lazy <string>(() => prepareVersionedFolderDeploymentStep.VersionDeploymentDirPath))); AddSubTask( new UpdateApplicationShortcutDeploymentStep( environmentInfo.GetTerminalServerNetworkPath(environmentInfo.TerminalAppsShortcutFolder), new Lazy <string>(() => prepareVersionedFolderDeploymentStep.VersionDeploymentDirPath), projectInfo.TerminalAppExeName, projectInfo.Name)); }