public void Test_CreateDeployemntTask_RunsProperly_WhenAllIsWell() { var objectFactory = new Mock<IObjectFactory>(MockBehavior.Strict); var prjInfoRepository = new Mock<IProjectInfoRepository>(MockBehavior.Strict); var envInfoRepository = new Mock<IEnvironmentInfoRepository>(MockBehavior.Strict); var artifactsRepository = new Mock<IArtifactsRepository>(MockBehavior.Strict); var taskScheduler = new Mock<ITaskScheduler>(MockBehavior.Strict); var imsDeploy = new Mock<IMsDeploy>(MockBehavior.Strict); var iisManager = new Mock<IIisManager>(MockBehavior.Strict); var fileAdapter = new Mock<IFileAdapter>(MockBehavior.Loose); var zipFileAdapter = new Mock<IZipFileAdapter>(MockBehavior.Loose); var projectInfo = new WebAppProjectInfo( _Name, _ArtifactsRepositoryName, _AllowedEnvironmentNames, _ArtifactsRepositoryDirName, _ArtifactsAreNotEnvironmentSpecific); objectFactory.Setup(o => o.CreateProjectInfoRepository()).Returns(prjInfoRepository.Object); 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.CreateIMsDeploy()).Returns(imsDeploy.Object); objectFactory.Setup(o => o.CreateIIisManager()).Returns(iisManager.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 imsDeploy = new Mock<IMsDeploy>(MockBehavior.Strict); var iisManager = new Mock<IIisManager>(MockBehavior.Strict); var projectInfo = new WebAppProjectInfo( Name, ArtifactsRepositoryName, ArtifactsRepositoryDirName, ArtifactsAreNotEnvironmentSpecific, IisSiteName, WebAppName, WebAppDirName, AppPoolInfo); 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.CreateIMsDeploy()).Returns(imsDeploy.Object); objectFactory.Setup(o => o.CreateIIisManager()).Returns(iisManager.Object); projectInfo.CreateDeploymentTask( objectFactory.Object, "configName", "buildID", "targetEnvironmentName"); }
public DeployWebAppDeploymentTask( IMsDeploy msDeploy, IEnvironmentInfoRepository environmentInfoRepository, IArtifactsRepository artifactsRepository, IIisManager iisManager, WebAppProjectInfo projectInfo, string projectConfigurationName, string projectConfigurationBuildId, string targetEnvironmentName) : base(environmentInfoRepository, targetEnvironmentName) { if (msDeploy == null) { throw new ArgumentNullException("msDeploy"); } if (artifactsRepository == null) { throw new ArgumentNullException("artifactsRepository"); } if (iisManager == null) { throw new ArgumentNullException("iisManager"); } 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"); } _msDeploy = msDeploy; _artifactsRepository = artifactsRepository; _iisManager = iisManager; _projectInfo = projectInfo; _projectConfigurationName = projectConfigurationName; _projectConfigurationBuildId = projectConfigurationBuildId; }
public WebAppProjectConfiguration GetWebAppProjectConfiguration(WebAppProjectInfo webAppProjectInfo) { Guard.NotNull(webAppProjectInfo, "webAppProjectInfo"); string projectName = webAppProjectInfo.Name; string appPoolId = webAppProjectInfo.AppPoolId; string webSiteName = webAppProjectInfo.WebSiteName; string webAppDirName = webAppProjectInfo.WebAppDirName; string webAppName = webAppProjectInfo.WebAppName; WebAppProjectConfigurationOverride webAppProjectConfigurationOverride = FindWebAppProjectConfigurationOverride(projectName); if (webAppProjectConfigurationOverride != null) { if (webAppProjectConfigurationOverride.AppPoolId != null) { appPoolId = webAppProjectConfigurationOverride.AppPoolId; } if (webAppProjectConfigurationOverride.WebSiteName != null) { webSiteName = webAppProjectConfigurationOverride.WebSiteName; } if (webAppProjectConfigurationOverride.WebAppDirName != null) { webAppDirName = webAppProjectConfigurationOverride.WebAppDirName; } if (webAppProjectConfigurationOverride.WebAppName != null) { webAppName = webAppProjectConfigurationOverride.WebAppName; } } return (new WebAppProjectConfiguration( projectName, appPoolId, webSiteName, webAppDirName, webAppName)); }
public void Prepare_should_throw_exception_when_web_appplication_name_is_empty_and_web_site_has_more_than_one_application() { // arrange const string webSiteName = "webSiteName"; _projectInfo = GetWebProjectInfoWithEmptyAppName(webSiteName); _projectInfoRepositoryFake.Setup(x => x.FindByName(It.IsAny<string>())) .Returns(_projectInfo); _projectInfoRepositoryFake.Setup(x => x.GetAll()) .Returns(new List<WebAppProjectInfo> { GetWebProjectInfoWithEmptyAppName(webSiteName), GetWebProjectInfoWithEmptyAppName(webSiteName) }); // act assert Assert.Throws<DeploymentTaskException>(() => _deployWebAppDeploymentTask.Prepare()); }
public List <string> GetWebAppProjectTargetUrls(string projectName, string environmentName) { if (string.IsNullOrEmpty(projectName)) { throw new ArgumentException("Argument can't be null nor empty.", "projectName"); } if (string.IsNullOrEmpty(environmentName)) { throw new ArgumentException("Argument can't be null nor empty.", "environmentName"); } WebAppProjectInfo webAppProjectInfo = _projectInfoRepository.FindByName(projectName) as WebAppProjectInfo; if (webAppProjectInfo == null) { throw new FaultException <ProjectNotFoundFault>(new ProjectNotFoundFault { ProjectName = projectName }); } EnvironmentInfo environmentInfo = _environmentInfoRepository.FindByName(environmentName); if (environmentInfo == null) { throw new FaultException <EnvironmentNotFoundFault>(new EnvironmentNotFoundFault { EnvironmentName = environmentName }); } List <string> targetUrls = webAppProjectInfo.GetTargetUrls(environmentInfo) .ToList(); return(targetUrls); }
public void Test_GetTargetFolders_RunsProperly_WhenAllIsWell() { string machine = Environment.MachineName; var envInfo = new EnvironmentInfo( "name", "templates", machine, "failover", new[] { "webmachine" }, "terminalmachine", "databasemachine", "C:\\basedir", "C:\\basedir", "c:\\scheduler", "terminal", false, _EnvironmentUsers, _ProjectToFailoverClusterGroupMappings); var projectInfo = new WebAppProjectInfo( Name, ArtifactsRepositoryName, ArtifactsRepositoryDirName, false, IisSiteName, WebAppName, WebAppDirName, AppPoolInfo); Assert.IsNotNullOrEmpty(projectInfo.GetTargetFolders(envInfo).FirstOrDefault()); }
public void Test_CreateDeployemntTask_Thows_When_ObjectFactory_null() { var projectInfo = new WebAppProjectInfo( Name, ArtifactsRepositoryName, ArtifactsRepositoryDirName, ArtifactsAreNotEnvironmentSpecific, IisSiteName, WebAppName, WebAppDirName, AppPoolInfo); Assert.Throws<ArgumentNullException>( () => projectInfo.CreateDeploymentTask( null, "configName", "buildID", "targetEnvironmentName")); }
public void Test_GetTargetUrls_Throws_EnvInfo_null() { var projectInfo = new WebAppProjectInfo( Name, ArtifactsRepositoryName, ArtifactsRepositoryDirName, ArtifactsAreNotEnvironmentSpecific, IisSiteName, WebAppName, WebAppDirName, AppPoolInfo); Assert.Throws<ArgumentNullException>(() => projectInfo.GetTargetUrls(null)); }
public void Test_GetTargetUrls_RunsProperly_WhenAllIsWell() { string machine = Environment.MachineName; const string baseDirPath = "c:\\basedir"; var envInfo = new EnvironmentInfo( "name", "templates", machine, "failover", new[] { "webmachine" }, "terminalmachine", "databasemachine", baseDirPath, "webbasedir", "c:\\scheduler", "terminal", false, _EnvironmentUsers, _ProjectToFailoverClusterGroupMappings); var projectInfo = new WebAppProjectInfo( Name, ArtifactsRepositoryName, ArtifactsRepositoryDirName, ArtifactsAreNotEnvironmentSpecific, IisSiteName, WebAppName, WebAppDirName, AppPoolInfo); List<string> targetUrls = projectInfo.GetTargetUrls(envInfo) .ToList(); Assert.IsNotNull(targetUrls); Assert.AreEqual(1, targetUrls.Count); Assert.AreEqual("http://webmachine/" + WebAppName, targetUrls[0]); }
public WebAppProjectConfiguration GetWebAppProjectConfiguration(WebAppProjectInfo webAppProjectInfo) { Guard.NotNull(webAppProjectInfo, "webAppProjectInfo"); string projectName = webAppProjectInfo.Name; string appPoolId = webAppProjectInfo.AppPoolId; string webSiteName = webAppProjectInfo.WebSiteName; string webAppDirName = webAppProjectInfo.WebAppDirName; string webAppName = webAppProjectInfo.WebAppName; WebAppProjectConfigurationOverride webAppProjectConfigurationOverride = FindWebAppProjectConfigurationOverride(projectName); if (webAppProjectConfigurationOverride != null) { if (webAppProjectConfigurationOverride.AppPoolId != null) { appPoolId = webAppProjectConfigurationOverride.AppPoolId; } if (webAppProjectConfigurationOverride.WebSiteName != null) { webSiteName = webAppProjectConfigurationOverride.WebSiteName; } if (webAppProjectConfigurationOverride.WebAppDirName != null) { webAppDirName = webAppProjectConfigurationOverride.WebAppDirName; } if (webAppProjectConfigurationOverride.WebAppName != null) { webAppName = webAppProjectConfigurationOverride.WebAppName; } } return new WebAppProjectConfiguration( projectName, appPoolId, webSiteName, webAppDirName, webAppName); }
public DeployWebServiceDeploymentTask(IMsDeploy msDeploy,IEnvironmentInfoRepository environmentInfoRepository, IArtifactsRepository artifactsRepository, IIisManager iisManager, WebAppProjectInfo projectInfo, string projectConfigurationName, string projectConfigurationBuildId, string targetEnvironmentName) : base(msDeploy, environmentInfoRepository, artifactsRepository, iisManager, projectInfo, projectConfigurationName, projectConfigurationBuildId, targetEnvironmentName) { }
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); _projectInfo = ProjectInfoGenerator.GetWebAppProjectInfo(); _environmentInfo = DeploymentDataGenerator.GetEnvironmentInfo(); _deployWebAppDeploymentTask = new DeployWebAppDeploymentTask( _projectInfoRepositoryFake.Object, _environmentInfoRepositoryFake.Object, _msDeploy.Object, _artifactsRepository.Object, _iisManager.Object, _fileAdapterFake.Object, _zipFileAdapterFake.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 Test_GetTargetFolders_RunsProperly_WhenAllIsWell() { string machine = Environment.MachineName; var envInfo = new EnvironmentInfo( "name", true, "templates", machine, "failover", new[] { "webmachine" }, "terminalmachine", new[] { "schedulerServerTasksMachineName1", "schedulerServerTasksMachineName2", }, new[] { "schedulerServerBinariesMachineName1", "schedulerServerBinariesMachineName2", }, "C:\\basedir", "C:\\basedir", "c:\\scheduler", "terminal", false, TestData.EnvironmentUsers, TestData.AppPoolInfos, TestData.DatabaseServers, TestData.ProjectToFailoverClusterGroupMappings, TestData.WebAppProjectConfigurationOverrides, TestData.DbProjectConfigurationOverrides, "terminalAppsShortcutFolder", "artifactsDeploymentDirPath", "domain-name", TestData.CustomEnvMachines); var projectInfo = new WebAppProjectInfo( _Name, _ArtifactsRepositoryName, _AllowedEnvironmentNames, _ArtifactsRepositoryDirName, false, _AppPoolId, _WebSiteName, _WebAppDirName, _WebAppName); Assert.IsNotNullOrEmpty(projectInfo.GetTargetFolders(_objectFactoryFake.Object, envInfo).FirstOrDefault()); }
public void Test_GetTargetUrls_RunsProperly_WhenAllIsWell() { string machine = Environment.MachineName; const string baseDirPath = "c:\\basedir"; var envInfo = new EnvironmentInfo( "name", true, "templates", machine, "failover", new[] { "webmachine" }, "terminalmachine", new[] { "schedulerServerTasksMachineName1", "schedulerServerTasksMachineName2", }, new[] { "schedulerServerBinariesMachineName1", "schedulerServerBinariesMachineName2", }, baseDirPath, "webbasedir", "c:\\scheduler", "terminal", false, TestData.EnvironmentUsers, TestData.AppPoolInfos, TestData.DatabaseServers, TestData.ProjectToFailoverClusterGroupMappings, TestData.WebAppProjectConfigurationOverrides, TestData.DbProjectConfigurationOverrides, "terminalAppsShortcutFolder", "artifactsDeploymentDirPath", "domain-name", TestData.CustomEnvMachines); var projectInfo = new WebAppProjectInfo( _Name, _ArtifactsRepositoryName, _AllowedEnvironmentNames, _ArtifactsRepositoryDirName, _ArtifactsAreNotEnvironmentSpecific, _AppPoolId, _WebSiteName, _WebAppDirName, _WebAppName); List<string> targetUrls = projectInfo.GetTargetUrls(envInfo) .ToList(); Assert.IsNotNull(targetUrls); Assert.AreEqual(1, targetUrls.Count); Assert.AreEqual("http://webmachine/" + "webapp", targetUrls[0]); }