public void CreatesNewPSResourceGroupDeploymentWithUserTemplate() { PSCreateResourceGroupDeploymentParameters expectedParameters = new PSCreateResourceGroupDeploymentParameters() { TemplateFile = templateFile, DeploymentName = deploymentName, }; PSCreateResourceGroupDeploymentParameters actualParameters = new PSCreateResourceGroupDeploymentParameters(); PSResourceGroupDeployment expected = new PSResourceGroupDeployment() { Mode = DeploymentMode.Incremental, DeploymentName = deploymentName, CorrelationId = "123", Outputs = new Dictionary <string, DeploymentVariable>() { { "Variable1", new DeploymentVariable() { Value = "true", Type = "bool" } }, { "Variable2", new DeploymentVariable() { Value = "10", Type = "int" } }, { "Variable3", new DeploymentVariable() { Value = "hello world", Type = "string" } } }, Parameters = new Dictionary <string, DeploymentVariable>() { { "Parameter1", new DeploymentVariable() { Value = "true", Type = "bool" } }, { "Parameter2", new DeploymentVariable() { Value = "10", Type = "int" } }, { "Parameter3", new DeploymentVariable() { Value = "hello world", Type = "string" } } }, ProvisioningState = ProvisioningState.Succeeded.ToString(), ResourceGroupName = resourceGroupName, TemplateLink = new TemplateLink() { ContentVersion = "1.0", Uri = "http://mytemplate.com" }, Timestamp = new DateTime(2014, 2, 13) }; resourcesClientMock.Setup(f => f.ExecuteDeployment( It.IsAny <PSCreateResourceGroupDeploymentParameters>())) .Returns(expected) .Callback((PSCreateResourceGroupDeploymentParameters p) => { actualParameters = p; }); cmdlet.ResourceGroupName = resourceGroupName; cmdlet.Name = expectedParameters.DeploymentName; cmdlet.TemplateFile = expectedParameters.TemplateFile; cmdlet.ExecuteCmdlet(); Assert.Equal(expectedParameters.DeploymentName, actualParameters.DeploymentName); Assert.Equal(expectedParameters.TemplateFile, actualParameters.TemplateFile); Assert.NotNull(actualParameters.TemplateParameterObject); commandRuntimeMock.Verify(f => f.WriteObject(expected), Times.Once()); }
public void CreatesNewPSResourceGroupDeploymentWithUserTemplate() { PSDeploymentCmdletParameters expectedParameters = new PSDeploymentCmdletParameters() { TemplateFile = templateFile, DeploymentName = deploymentName, Tags = new Dictionary <string, string>(this.deploymentTags) }; PSDeploymentCmdletParameters actualParameters = new PSDeploymentCmdletParameters(); PSResourceGroupDeployment expected = new PSResourceGroupDeployment() { Mode = DeploymentMode.Incremental, DeploymentName = deploymentName, CorrelationId = "123", Outputs = new Dictionary <string, DeploymentVariable>() { { "Variable1", new DeploymentVariable() { Value = "true", Type = "bool" } }, { "Variable2", new DeploymentVariable() { Value = "10", Type = "int" } }, { "Variable3", new DeploymentVariable() { Value = "hello world", Type = "string" } } }, Parameters = new Dictionary <string, DeploymentVariable>() { { "Parameter1", new DeploymentVariable() { Value = "true", Type = "bool" } }, { "Parameter2", new DeploymentVariable() { Value = "10", Type = "int" } }, { "Parameter3", new DeploymentVariable() { Value = "hello world", Type = "string" } } }, ProvisioningState = ProvisioningState.Succeeded.ToString(), ResourceGroupName = resourceGroupName, TemplateLink = new TemplateLink() { ContentVersion = "1.0", Uri = "http://mytemplate.com" }, Timestamp = new DateTime(2014, 2, 13) }; resourcesClientMock.Setup(f => f.ExecuteResourceGroupDeployment( It.IsAny <PSDeploymentCmdletParameters>())) .Returns(expected) .Callback((PSDeploymentCmdletParameters p) => { actualParameters = p; }); cmdlet.ResourceGroupName = resourceGroupName; cmdlet.Name = expectedParameters.DeploymentName; cmdlet.TemplateFile = expectedParameters.TemplateFile; cmdlet.Tag = new Hashtable(this.deploymentTags); cmdlet.ExecuteCmdlet(); actualParameters.DeploymentName.Should().Equals(expectedParameters.DeploymentName); actualParameters.TemplateFile.Should().Equals(expectedParameters.TemplateFile); actualParameters.TemplateParameterObject.Should().NotBeNull(); actualParameters.OnErrorDeployment.Should().BeNull(); actualParameters.Tags.Should().NotBeNull(); var differenceTags = actualParameters.Tags .Where(entry => expectedParameters.Tags[entry.Key] != entry.Value); differenceTags.Should().BeEmpty(); commandRuntimeMock.Verify(f => f.WriteObject(expected), Times.Once()); }