public virtual void SetUp() { _msDeploy = new Mock <IMsDeploy>(); _artifactsRepository = new Mock <IArtifactsRepository>(); _projectInfoRepositoryFake = new Mock <IProjectInfoRepository>(MockBehavior.Loose); _environmentInfoRepositoryFake = new Mock <IEnvironmentInfoRepository>(); _iisManager = new Mock <IIisManager>(); _fileAdapterFake = new Mock <IFileAdapter>(MockBehavior.Loose); _zipFileAdapterFake = new Mock <IZipFileAdapter>(MockBehavior.Loose); _applicationConfigurationFake = new Mock <IApplicationConfiguration>(); _directoryAdapterFake = new Mock <IDirectoryAdapter>(); _projectInfo = ProjectInfoGenerator.GetWebAppProjectInfo(); _environmentInfo = DeploymentDataGenerator.GetEnvironmentInfo(); _deployWebAppDeploymentTask = new DeployWebAppDeploymentTask( _projectInfoRepositoryFake.Object, _environmentInfoRepositoryFake.Object, _msDeploy.Object, _artifactsRepository.Object, _iisManager.Object, _fileAdapterFake.Object, _zipFileAdapterFake.Object, _applicationConfigurationFake.Object, _directoryAdapterFake.Object); _deployWebAppDeploymentTask.Initialize(DeploymentInfoGenerator.GetWebAppDeploymentInfo()); _projectInfoRepositoryFake.Setup(x => x.FindByName(It.IsAny <string>())) .Returns(_projectInfo); _environmentInfoRepositoryFake.Setup(x => x.FindByName(It.IsAny <string>())) .Returns(_environmentInfo); }
public void BinariesDirPath_returns_path_with_config_template_name_when_artifacts_are_env_specific() { // arrange var environmentInfo = DeploymentDataGenerator.GetEnvironmentInfo(); NtServiceProjectInfo projectInfo = ProjectInfoGenerator.GetNtServiceProjectInfo(areEnvironmentSpecific: true); _directoryAdapterFake.Setup(x => x.Exists(It.IsAny <string>())) .Returns(true); _deploymentStep = new ExtractArtifactsDeploymentStep( projectInfo, environmentInfo, _deploymentInfo, _ArtifactsFilePath, _TargetArtifactsDirPath, _fileAdapterFake.Object, _directoryAdapterFake.Object, _zipFileAdapterFake.Object); _deploymentStep.Prepare(); // act, assert Assert.IsTrue(_deploymentStep.BinariesDirPath.Contains(environmentInfo.ConfigurationTemplateName)); }
public void BinariesDirPath_fails_when_extracted_binaries_dir_doesnt_exist() { // arrange NtServiceProjectInfo projectInfo = ProjectInfoGenerator.GetNtServiceProjectInfo(areEnvironmentSpecific: false); _directoryAdapterFake.Setup(x => x.Exists(It.IsAny <string>())) .Returns(false); _deploymentStep = new ExtractArtifactsDeploymentStep( projectInfo, _environmentInfo, _deploymentInfo, _ArtifactsFilePath, _TargetArtifactsDirPath, _fileAdapterFake.Object, _directoryAdapterFake.Object, _zipFileAdapterFake.Object); _deploymentStep.Prepare(); // act assert Assert.Throws <DeploymentTaskException>( () => { string binPath = _deploymentStep.BinariesDirPath; }); }
public void SetUp() { _projectInfoRepositoryFake = new Mock <IProjectInfoRepository>(MockBehavior.Loose); _environmentInfoRepositoryFake = new Mock <IEnvironmentInfoRepository>(MockBehavior.Loose); _artifactsRepositoryFake = new Mock <IArtifactsRepository>(MockBehavior.Loose); _dbScriptRunnerFactoryFake = new Mock <IDbScriptRunnerFactory>(MockBehavior.Loose); _dbVersionProviderFake = new Mock <IDbVersionProvider>(MockBehavior.Loose); _fileAdapterFake = new Mock <IFileAdapter>(); _zipFileAdapterFake = new Mock <IZipFileAdapter>(); _scriptsToRunWebSelectorFake = new Mock <IScriptsToRunSelector>(); _databasePublisherFake = new Mock <IMsSqlDatabasePublisher>(); _dbManagerFake = new Mock <IDbManagerFactory>(); _userNameNormalizerMock = new Mock <IUserNameNormalizer>(); _directoryAdapterFake = new Mock <IDirectoryAdapter>(); _projectInfoRepositoryFake .Setup(x => x.FindByName(It.IsAny <string>())) .Returns(ProjectInfoGenerator.GetDbProjectInfo()); _environmentInfoRepositoryFake .Setup(x => x.FindByName(It.IsAny <string>())) .Returns(DeploymentDataGenerator.GetEnvironmentInfo); _dbScriptRunnerFactoryFake .Setup(x => x.CreateDbScriptRunner(It.IsAny <bool>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(new Mock <IDbScriptRunner>(MockBehavior.Loose).Object); _deploymentTask = new DeployDbProjectDeploymentTask( _projectInfoRepositoryFake.Object, _environmentInfoRepositoryFake.Object, _artifactsRepositoryFake.Object, _dbScriptRunnerFactoryFake.Object, _dbVersionProviderFake.Object, _fileAdapterFake.Object, _zipFileAdapterFake.Object, _scriptsToRunWebSelectorFake.Object, _databasePublisherFake.Object, _dbManagerFake.Object, _userNameNormalizerMock.Object, _directoryAdapterFake.Object); _deploymentTask.Initialize(DeploymentInfoGenerator.GetDbDeploymentInfo()); _dbVersionProviderFake.Setup(x => x.CheckIfDatabaseExists(It.IsAny <string>(), It.IsAny <string>())).Returns(true); _databasePublisherFake.Setup( x => x.PublishFromDacpac( It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Dictionary <string, string> >())); }
private OrderedDictionary GetConstructorDefaultParams() { OrderedDictionary defaultParams = new OrderedDictionary { { "projectInfo", ProjectInfoGenerator.GetTerminalAppProjectInfo() }, { "environmentInfo", DeploymentDataGenerator.GetEnvironmentInfo() }, { "deploymentInfo", DeploymentInfoGenerator.GetTerminalAppDeploymentInfo() }, { "artifactsFilePath", _ArtifactsFilePath }, { "targetArtifactsDirPath", _TargetArtifactsDirPath }, { "fileAdapter", _fileAdapterFake.Object }, { "directoryAdapter", _directoryAdapterFake.Object }, { "zipFileAdapter", _zipFileAdapterFake.Object }, }; return(defaultParams); }
public void SetUp() { _dbVersionProviderFake = new Mock <IDbVersionProvider>(MockBehavior.Loose); _scriptsToRunWebSelector = new Mock <IScriptsToRunSelector>(MockBehavior.Loose); DbProjectInfo dbProjectInfo = ProjectInfoGenerator.GetDbProjectInfo(); DeploymentInfo di = DeploymentInfoGenerator.GetDbDeploymentInfo(); _deploymentStep = new GatherDbScriptsToRunDeploymentStep( dbProjectInfo.DbName, new Lazy <string>(() => _ScriptPath), _SqlServerName, _Environment, di, _dbVersionProviderFake.Object, _scriptsToRunWebSelector.Object); }
public void SetUp() { _environmentInfo = DeploymentDataGenerator.GetEnvironmentInfo(); _deploymentInfo = DeploymentInfoGenerator.GetDbDeploymentInfo(); _projectInfo = ProjectInfoGenerator.GetTerminalAppProjectInfo(); _fileAdapterFake = new Mock <IFileAdapter>(MockBehavior.Loose); _directoryAdapterFake = new Mock <IDirectoryAdapter>(MockBehavior.Loose); _zipFileAdapterFake = new Mock <IZipFileAdapter>(MockBehavior.Loose); _deploymentStep = new ExtractArtifactsDeploymentStep( _projectInfo, _environmentInfo, _deploymentInfo, _ArtifactsFilePath, _TargetArtifactsDirPath, _fileAdapterFake.Object, _directoryAdapterFake.Object, _zipFileAdapterFake.Object); }
public void SetUp() { _projectInfoRepositoryFake = new Mock <IProjectInfoRepository>(); _environmentInfoRepositoryFake = new Mock <IEnvironmentInfoRepository>(); _artifactsRepositoryFake = new Mock <IArtifactsRepository>(); _taskSchedulerFake = new Mock <ITaskScheduler>(); _passwordCollectorFake = new Mock <IPasswordCollector>(); _directoryAdapterFake = new Mock <IDirectoryAdapter>(); _fileAdapterFake = new Mock <IFileAdapter>(); _zipFileAdapterFake = new Mock <IZipFileAdapter>(); _projectInfo = ProjectInfoGenerator.GetSchedulerAppProjectInfo(); SchedulerAppTask schedulerAppTask1 = _projectInfo.SchedulerAppTasks.First(); SchedulerAppTask schedulerAppTask2 = _projectInfo.SchedulerAppTasks.Second(); _environmentInfo = DeploymentDataGenerator.GetEnvironmentInfo( new[] { new EnvironmentUser(schedulerAppTask1.UserId, "user_name_1"), new EnvironmentUser(schedulerAppTask2.UserId, "user_name_2"), }); _projectInfoRepositoryFake.Setup(pir => pir.FindByName(It.IsAny <string>())) .Returns(_projectInfo); string exeAbsolutePath1 = Path.Combine( _environmentInfo.SchedulerAppsBaseDirPath, _projectInfo.SchedulerAppDirName, schedulerAppTask1.ExecutableName); var scheduledTaskRepetition1 = new ScheduledTaskRepetition( schedulerAppTask1.Repetition.Interval, schedulerAppTask1.Repetition.Duration, schedulerAppTask1.Repetition.StopAtDurationEnd); ScheduledTaskDetails taskDetails1 = GetTaskDetails(schedulerAppTask1, exeAbsolutePath1, true, false, scheduledTaskRepetition1); ScheduledTaskDetails taskDetailsDisabled1 = GetTaskDetails(schedulerAppTask1, exeAbsolutePath1, false, false, scheduledTaskRepetition1); int timesCalled11 = 0; _taskSchedulerFake .Setup(x => x.GetScheduledTaskDetails(_environmentInfo.SchedulerServerTasksMachineNames.First(), schedulerAppTask1.Name)) .Returns(() => { timesCalled11++; if (timesCalled11 == 1) { return(taskDetails1); } if (timesCalled11 == 2) { return(taskDetailsDisabled1); } throw new Exception("Unexpected number of calls!"); }); int timesCalled21 = 0; _taskSchedulerFake .Setup(x => x.GetScheduledTaskDetails(_environmentInfo.SchedulerServerTasksMachineNames.Second(), schedulerAppTask1.Name)) .Returns(() => { timesCalled21++; if (timesCalled21 == 1) { return(taskDetails1); } if (timesCalled21 == 2) { return(taskDetailsDisabled1); } throw new Exception("Unexpected number of calls!"); }); string exeAbsolutePath2 = Path.Combine( _environmentInfo.SchedulerAppsBaseDirPath, _projectInfo.SchedulerAppDirName, schedulerAppTask2.ExecutableName); var scheduledTaskRepetition2 = new ScheduledTaskRepetition( schedulerAppTask2.Repetition.Interval, schedulerAppTask2.Repetition.Duration, schedulerAppTask2.Repetition.StopAtDurationEnd); ScheduledTaskDetails taskDetails2 = GetTaskDetails(schedulerAppTask2, exeAbsolutePath2, true, false, scheduledTaskRepetition2); ScheduledTaskDetails taskDetailsDisabled2 = GetTaskDetails(schedulerAppTask2, exeAbsolutePath2, false, false, scheduledTaskRepetition2); int timesCalled12 = 0; _taskSchedulerFake .Setup(x => x.GetScheduledTaskDetails(_environmentInfo.SchedulerServerTasksMachineNames.First(), schedulerAppTask2.Name)) .Returns(() => { timesCalled12++; if (timesCalled12 == 1) { return(taskDetails2); } if (timesCalled12 == 2) { return(taskDetailsDisabled2); } throw new Exception("Unexpected number of calls!"); }); int timesCalled22 = 0; _taskSchedulerFake .Setup(x => x.GetScheduledTaskDetails(_environmentInfo.SchedulerServerTasksMachineNames.Second(), schedulerAppTask2.Name)) .Returns(() => { timesCalled22++; if (timesCalled22 == 1) { return(taskDetails2); } if (timesCalled22 == 2) { return(taskDetailsDisabled2); } throw new Exception("Unexpected number of calls!"); }); _environmentInfoRepositoryFake .Setup(x => x.FindByName(It.IsAny <string>())) .Returns(_environmentInfo); _directoryAdapterFake .Setup(x => x.Exists(It.IsAny <string>())) .Returns(true); _deployTask = new DeploySchedulerAppDeploymentTask( _projectInfoRepositoryFake.Object, _environmentInfoRepositoryFake.Object, _artifactsRepositoryFake.Object, _taskSchedulerFake.Object, _passwordCollectorFake.Object, _directoryAdapterFake.Object, _fileAdapterFake.Object, _zipFileAdapterFake.Object); _deployTask.Initialize(DeploymentInfoGenerator.GetSchedulerAppDeploymentInfo()); }