Skip to content

Commit dfac372

Browse files
author
Harsh Patel
committed
Finished Test-GetResourceGroupDeploymentStackSnapshot function [Needs testing]
1 parent 85e6b5f commit dfac372

File tree

3 files changed

+68
-13
lines changed

3 files changed

+68
-13
lines changed

src/Resources/ResourceManager/Implementation/DeploymentStacks/GetAzResourceGroupDeploymentStack.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,19 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2222
using System.Text;
2323

2424
[Cmdlet("Get", Common.AzureRMConstants.AzureRMPrefix + "ResourceGroupDeploymentStack",
25-
DefaultParameterSetName = GetAzResourceGroupDeploymentStack.ListParameterSetName), OutputType(typeof(PSDeploymentStack))]
25+
DefaultParameterSetName = GetAzResourceGroupDeploymentStack.ListByResourceGroupNameParameterSetName), OutputType(typeof(PSDeploymentStack))]
2626
public class GetAzResourceGroupDeploymentStack : DeploymentStacksCmdletBase
2727
{
28-
internal const string ListParameterSetName = "ListDeploymentStacks";
29-
3028
internal const string GetByResourceIdParameterSetName = "GetDeploymentStackByResourceId";
31-
internal const string GetByResourceGroupNameParameterSetName = "GetDeploymentStacksByResourceGroupName";
29+
internal const string ListByResourceGroupNameParameterSetName = "ListDeploymentStacksByResourceGroupName";
3230
internal const string GetByDeploymentStackName = "GetDeploymentStackByStackName";
3331

3432
[Alias("Id")]
3533
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceIdParameterSetName)]
3634
[ValidateNotNullOrEmpty]
3735
public string ResourceId { get; set; }
3836

39-
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceGroupNameParameterSetName)]
37+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ListByResourceGroupNameParameterSetName)]
4038
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackName)]
4139
[ValidateNotNullOrEmpty]
4240
public string ResourceGroupName { get; set; }
@@ -54,7 +52,7 @@ public override void ExecuteCmdlet()
5452
case GetByResourceIdParameterSetName:
5553
WriteObject(DeploymentStacksSdkClient.GetResourceGroupDeploymentStack(ResourceIdUtility.GetResourceGroupName(ResourceId), ResourceIdUtility.GetDeploymentName(ResourceId)));
5654
break;
57-
case GetByResourceGroupNameParameterSetName:
55+
case ListByResourceGroupNameParameterSetName:
5856
WriteObject(DeploymentStacksSdkClient.ListResourceGroupDeploymentStack(ResourceGroupName));
5957
break;
6058
case GetByDeploymentStackName:

src/Resources/ResourceManager/Implementation/DeploymentStacks/GetAzResourceGroupDeploymentStackSnapshot.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,29 +22,27 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2222
using System.Text;
2323

2424
[Cmdlet("Get", Common.AzureRMConstants.AzureRMPrefix + "ResourceGroupDeploymentStackSnapshot",
25-
DefaultParameterSetName = GetAzResourceGroupDeploymentStackSnapshot.ListDeploymentStack), OutputType(typeof(PSDeploymentStackSnapshot))]
25+
DefaultParameterSetName = GetAzResourceGroupDeploymentStackSnapshot.ListByResourceGroupNameParameterSetName), OutputType(typeof(PSDeploymentStackSnapshot))]
2626
public class GetAzResourceGroupDeploymentStackSnapshot : DeploymentStacksCmdletBase
2727
{
2828
#region Cmdlet Parameters and Parameter Set Definitions
2929

30-
internal const string ListDeploymentStack = "ListDeploymentStack";
31-
3230
internal const string GetByResourceIdParameterSetName = "GetDeploymentStackByResourceId";
33-
internal const string GetByResourceGroupNameParameterSetName = "GetDeploymentStacksByResourceGroupName";
31+
internal const string ListByResourceGroupNameParameterSetName = "GetDeploymentStacksByResourceGroupName";
3432
internal const string GetByDeploymentStackName = "GetDeploymentStackByStackName";
3533

3634
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceIdParameterSetName)]
3735
[ValidateNotNullOrEmpty]
3836
public string ResourceId { get; set; }
3937

40-
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceGroupNameParameterSetName)]
38+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ListByResourceGroupNameParameterSetName)]
4139
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackName)]
4240
[ValidateNotNullOrEmpty]
4341
public string ResourceGroupName { get; set; }
4442

4543

4644
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackName)]
47-
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceGroupNameParameterSetName)]
45+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ListByResourceGroupNameParameterSetName)]
4846
[ValidateNotNullOrEmpty]
4947
public string StackName { get; set; }
5048

@@ -64,10 +62,12 @@ public override void ExecuteCmdlet()
6462
case GetByResourceIdParameterSetName:
6563
ResourceIdentifier resourceIdentifier = new ResourceIdentifier(ResourceId);
6664
StackName = ResourceIdUtility.GetResourceName(ResourceId).Split('/')[0];
65+
WriteObject(ResourceIdUtility.GetResourceName(ResourceId));
66+
WriteObject(StackName);
6767
SnapshotName = resourceIdentifier.ResourceName;
6868
WriteObject(DeploymentStacksSdkClient.GetResourceGroupDeploymentStackSnapshot(ResourceIdUtility.GetResourceGroupName(ResourceId), StackName, SnapshotName));
6969
break;
70-
case GetByResourceGroupNameParameterSetName:
70+
case ListByResourceGroupNameParameterSetName:
7171
WriteObject(DeploymentStacksSdkClient.ListResourceGroupDeploymentStackSnapshot(ResourceGroupName, StackName));
7272
break;
7373
case GetByDeploymentStackName:

src/Resources/Resources.Test/ScenarioTests/DeploymentStackTests.ps1

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,63 @@ function Test-GetResourceGroupDeploymentStack
5858
}
5959
}
6060

61+
<#
62+
.SYNOPSIS
63+
Tests GET operation on deploymentStacksSnapshots at the RG scope
64+
#>
65+
function Test-GetResourceGroupDeploymentStackSnapshot
66+
{
67+
#Setup
68+
$rgname = Get-ResourceGroupName
69+
$rname = Get-ResourceName
70+
$rglocation = "West US 2"
71+
$subId = (Get-AzContext).Subscription.SubscriptionId
72+
73+
$vmName = "MyVM"
74+
$snapshotName = "snapshot"
75+
76+
77+
try
78+
{
79+
#Prepare
80+
New-AzVm -ResourceGroupName $rgname -Name $vmName -Location $rglocation -VirtualNetworkName "myVnet" -SubnetName "mySubnet" -SecurityGroupName "myNetworkSecurityGroup" -PublicIpAddressName "myPublicIpAddress" -OpenPorts 80,3389
81+
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmName
82+
$snapshot = New-AzSnapshotConfig -SourceUri $vm.StorageProfile.OsDisk.ManagedDisk.Id -Location $rglocation -CreateOption copy
83+
New-AzSnapshot -Snapshot $snapshot -SnapshotName $snapshotName -ResourceGroupName $rgname
84+
85+
New-AzResourceGroup -Name $rgname -Location $rglocation
86+
$deployment = New-AzResourceGroupDeploymentStack -Name $rname -ResourceGroupName $rgname -TemplateFile simpleTemplate.js
87+
$resourceId = "/subscriptions/$subId/resourcegroups/$rgname/providers/Microsoft.Resources/deploymentStacks/$rname/snapshots/$snapshotName"
88+
89+
#Test - GetByIdAndSnapshotName
90+
$getByIdAndSnapshotName = Get-AzResourceGroupDeploymentStackSnapshot -ResourceId $resourceId -SnapshotName $snapshotName
91+
92+
#Assert
93+
Assert-NotNull $getByIdAndSnapshotName
94+
95+
#Test - GetByResourceGroupNameAndStackName
96+
$getByResourceGroupNameAndStackName = Get-AzResourceGroupDeploymentStackSnapshot -ResourceGroupName $rgname -StackName $rname
97+
98+
#Assert
99+
Assert-NotNull $getByResourceGroupNameAndStackName
100+
101+
#Test - GetByResourceGroupNameAndStackNameAndSnapshotName
102+
$getByResourceGroupNameAndStackName = Get-AzResourceGroupDeploymentStackSnapshot -ResourceGroupName $rgname -StackName $rname -SnapshotName $snapshotName
103+
104+
#Assert
105+
Assert-NotNull = $getByResourceGroupNameAndStackName
106+
107+
}
108+
109+
finally
110+
{
111+
# Cleanup
112+
Clean-ResourceGroup $rgname
113+
114+
}
115+
}
116+
117+
61118
<#
62119
.SYNOPSIS
63120
Tests GET operation on deploymentStacks at the Subscription scope

0 commit comments

Comments
 (0)