public void GetAzureWebsiteDeploymentTest() { // Setup var clientMock = new Mock<IWebsitesClient>(); var site1 = new Site { Name = "website1", WebSpace = "webspace1", SiteProperties = new SiteProperties { Properties = new List<NameValuePair> { new NameValuePair {Name = "repositoryuri", Value = "http"}, new NameValuePair {Name = "PublishingUsername", Value = "user1"}, new NameValuePair {Name = "PublishingPassword", Value = "password1"} } } }; clientMock.Setup(c => c.GetWebsite("website1", null)) .Returns(site1); clientMock.Setup(c => c.ListWebSpaces()) .Returns(new[] { new WebSpace { Name = "webspace1" }, new WebSpace { Name = "webspace2" } }); clientMock.Setup(c => c.ListSitesInWebSpace("webspace1")) .Returns(new[] { site1 }); clientMock.Setup(c => c.ListSitesInWebSpace("webspace2")) .Returns(new[] { new Site { Name = "website2", WebSpace = "webspace2" } }); SimpleDeploymentServiceManagement deploymentChannel = new SimpleDeploymentServiceManagement(); deploymentChannel.GetDeploymentsThunk = ar => new List<DeployResult> { new DeployResult(), new DeployResult() }; // Test GetAzureWebsiteDeploymentCommand getAzureWebsiteDeploymentCommand = new GetAzureWebsiteDeploymentCommand(deploymentChannel) { Name = "website1", ShareChannel = true, WebsitesClient = clientMock.Object, CommandRuntime = new MockCommandRuntime(), }; currentProfile = new AzureSMProfile(); var subscription = new AzureSubscription{Id = new Guid(subscriptionId) }; subscription.Properties[AzureSubscription.Property.Default] = "True"; currentProfile.Subscriptions[new Guid(subscriptionId)] = subscription; getAzureWebsiteDeploymentCommand.ExecuteCmdlet(); var deployments = System.Management.Automation.LanguagePrimitives.GetEnumerable(((MockCommandRuntime)getAzureWebsiteDeploymentCommand.CommandRuntime).OutputPipeline).Cast<DeployResult>(); Assert.NotNull(deployments); Assert.Equal(2, deployments.Count()); }
public void GetAzureWebsiteDeploymentLogsTest() { // Setup var clientMock = new Mock<IWebsitesClient>(); var site1 = new Site { Name = "website1", WebSpace = "webspace1", SiteProperties = new SiteProperties { Properties = new List<NameValuePair> { new NameValuePair {Name = "repositoryuri", Value = "http"}, new NameValuePair {Name = "PublishingUsername", Value = "user1"}, new NameValuePair {Name = "PublishingPassword", Value = "password1"} } } }; clientMock.Setup(c => c.ListWebSpaces()) .Returns(new[] {new WebSpace {Name = "webspace1"}, new WebSpace {Name = "webspace2"}}); clientMock.Setup(c => c.GetWebsite("website1", null)).Returns(site1); SimpleDeploymentServiceManagement deploymentChannel = new SimpleDeploymentServiceManagement(); deploymentChannel.GetDeploymentsThunk = ar => new List<DeployResult> { new DeployResult { Id = "commit1" }, new DeployResult { Id = "commit2" } }; deploymentChannel.GetDeploymentLogsThunk = ar => { if (ar.Values["commitId"].Equals("commit1")) { return new List<LogEntry> { new LogEntry { Id = "log1" }, new LogEntry { Id = "log2" } }; } return new List<LogEntry>(); }; // Test GetAzureWebsiteDeploymentCommand getAzureWebsiteDeploymentCommand = new GetAzureWebsiteDeploymentCommand(deploymentChannel) { Name = "website1", ShareChannel = true, WebsitesClient = clientMock.Object, Details = true, CommandRuntime = new MockCommandRuntime(), }; AzureSession.SetCurrentContext(new AzureSubscription { Id = new Guid(subscriptionId) }, null, null); getAzureWebsiteDeploymentCommand.ExecuteCmdlet(); Assert.Equal(1, ((MockCommandRuntime)getAzureWebsiteDeploymentCommand.CommandRuntime).OutputPipeline.Count); var deployments = (IEnumerable<DeployResult>)((MockCommandRuntime)getAzureWebsiteDeploymentCommand.CommandRuntime).OutputPipeline.FirstOrDefault(); Assert.NotNull(deployments); Assert.Equal(2, deployments.Count()); Assert.NotNull(deployments.First(d => d.Id.Equals("commit1")).Logs); }
public void GetsDeploymentForSlot() { string slot = "staging"; // Setup var clientMock = new Mock<IWebsitesClient>(); var site1 = new Site { Name = "website1", WebSpace = "webspace1", SiteProperties = new SiteProperties { Properties = new List<NameValuePair> { new NameValuePair {Name = "repositoryuri", Value = "http"}, new NameValuePair {Name = "PublishingUsername", Value = "user1"}, new NameValuePair {Name = "PublishingPassword", Value = "password1"} } } }; clientMock.Setup(c => c.GetWebsite("website1", slot)) .Returns(site1); clientMock.Setup(c => c.ListWebSpaces()) .Returns(new[] { new WebSpace { Name = "webspace1" }, new WebSpace { Name = "webspace2" } }); clientMock.Setup(c => c.ListSitesInWebSpace("webspace1")) .Returns(new[] { site1 }); clientMock.Setup(c => c.ListSitesInWebSpace("webspace2")) .Returns(new[] { new Site { Name = "website2", WebSpace = "webspace2" } }); SimpleDeploymentServiceManagement deploymentChannel = new SimpleDeploymentServiceManagement(); deploymentChannel.GetDeploymentsThunk = ar => new List<DeployResult> { new DeployResult(), new DeployResult() }; // Test GetAzureWebsiteDeploymentCommand getAzureWebsiteDeploymentCommand = new GetAzureWebsiteDeploymentCommand(deploymentChannel) { Name = "website1", ShareChannel = true, WebsitesClient = clientMock.Object, CommandRuntime = new MockCommandRuntime(), Slot = slot }; AzureSession.SetCurrentContext(new AzureSubscription { Id = new Guid(subscriptionId) }, null, null); getAzureWebsiteDeploymentCommand.ExecuteCmdlet(); Assert.Equal(1, ((MockCommandRuntime)getAzureWebsiteDeploymentCommand.CommandRuntime).OutputPipeline.Count); var deployments = (IEnumerable<DeployResult>)((MockCommandRuntime)getAzureWebsiteDeploymentCommand.CommandRuntime).OutputPipeline.FirstOrDefault(); Assert.NotNull(deployments); Assert.Equal(2, deployments.Count()); }