@@ -64,27 +64,30 @@ Tests GET operation on deploymentStacksSnapshots at the RG scope
64
64
#>
65
65
function Test-GetResourceGroupDeploymentStackSnapshot
66
66
{
67
- # Setup
67
+ # Setup
68
68
$rgname = Get-ResourceGroupName
69
69
$rname = Get-ResourceName
70
70
$rglocation = " West US 2"
71
71
$subId = (Get-AzContext ).Subscription.SubscriptionId
72
72
73
- $vmName = " MyVM"
74
- $snapshotName = " snapshot"
75
-
76
-
77
73
try
78
74
{
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
-
75
+ # Prepare
85
76
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 "
77
+
78
+ $deployment = New-AzResourceGroupDeploymentStack - Name $rname - ResourceGroupName $rgname - TemplateFile simpleTemplate.json - ParameterFile simpleTemplateParams.json
79
+ $resourceId = " /subscriptions/$subId /resourcegroups/$rgname /providers/Microsoft.Resources/deploymentStacks/$rname "
80
+
81
+ $getByNameAndResourceGroup = Get-AzResourceGroupDeploymentStack - ResourceGroupName $rgname - Name $rname
82
+ $provisioningState = $getByNameAndResourceGroup.provisioningState
83
+
84
+ while ($provisioningState == " failed" ){
85
+ $getByNameAndResourceGroup = Get-AzResourceGroupDeploymentStack - ResourceGroupName $rgname - Name $rname
86
+ $provisioningState = $$ getByNameAndResourceGroup.provisioningState
87
+ }
88
+
89
+ $resourceId = $getByNameAndResourceGroup.snapshotId
90
+ $snapshotName = ResourceIdUtility.GetResourceName($resourceId ).Split(' /' )[0 ];
88
91
89
92
# Test - GetByIdAndSnapshotName
90
93
$getByIdAndSnapshotName = Get-AzResourceGroupDeploymentStackSnapshot - ResourceId $resourceId - SnapshotName $snapshotName
@@ -103,15 +106,12 @@ function Test-GetResourceGroupDeploymentStackSnapshot
103
106
104
107
# Assert
105
108
Assert-NotNull = $getByResourceGroupNameAndStackName
106
-
107
109
}
108
-
109
110
finally
110
- {
111
- # Cleanup
111
+ {
112
+ # Cleanup
112
113
Clean - ResourceGroup $rgname
113
-
114
- }
114
+ }
115
115
}
116
116
117
117
@@ -158,4 +158,84 @@ function Test-GetSubscriptionDeploymentStack
158
158
}
159
159
}
160
160
161
- function
161
+ <#
162
+ . SYNOPSIS
163
+ Tests REMOVE operation on deploymentStacks
164
+ #>
165
+ function Test-RemoveResourceGroupDeploymentStack
166
+ {
167
+ # Setup
168
+ $rgname = Get-ResourceGroupName
169
+ $rname = Get-ResourceName
170
+ $rglocation = " West US 2"
171
+ $subId = (Get-AzContext ).Subscription.SubscriptionId
172
+
173
+ $resourceId = " /subscriptions/$subId /resourcegroups/$rgname /providers/Microsoft.Resources/deploymentStacks/$rname "
174
+
175
+ try
176
+ {
177
+ # Prepare
178
+ New-AzResourceGroup - Name $rgname - Location $rglocation
179
+ $deployment = New-AzResourceGroupDeploymentStack - Name $rname - ResourceGroupName $rgname - TemplateFile simpleTemplate.json - ParameterFile simpleTemplateParams.json
180
+
181
+
182
+ # Test - removeByResourceId
183
+ $removeByResourceId = Remove-AzResourceGroupDeploymentStack - ResourceId $resourceId
184
+
185
+ # Assert
186
+ Assert-NotNull $removeByResourceId
187
+
188
+ # Prepare
189
+ $deployment = New-AzResourceGroupDeploymentStack - Name $rname - ResourceGroupName $rgname - TemplateFile simpleTemplate.json - ParameterFile simpleTemplateParams.json
190
+
191
+
192
+ # Test - removeByResourceNameAndResourceGroupName
193
+ $removeByResourceNameAndResouceGroupName = Remove-AzResourceGroupDeploymentStack - ResourceGroupName $rgname - Name $rname
194
+
195
+ # Assert
196
+ Assert-NotNull $removeByResourceNameAndResouceGroupName
197
+
198
+ }
199
+ finally
200
+ {
201
+ # Cleanup
202
+ Clean - ResourceGroup $rgname
203
+ }
204
+ }
205
+
206
+
207
+ <#
208
+ . SYNOPSIS
209
+ Tests REMOVE operation on deploymentStacks at the subscription scope
210
+ #>
211
+ function Test-RemoveSubscriptionDeploymentStack
212
+ {
213
+ # Setup
214
+ $rgname = Get-ResourceGroupName
215
+ $rname = Get-ResourceName
216
+ $rglocation = " West US 2"
217
+
218
+ try
219
+ {
220
+ # Prepare
221
+ $deployment = New-AzSubscriptionDeploymentStack - Name $rname - TemplateFile simpleTemplate.json - ParameterFile simpleTemplateParams.json
222
+ $resourceId = " /subscriptions/$subId /providers/Microsoft.Resources/deploymentStacks/$rname "
223
+
224
+ # Test - RemoveByName
225
+ $removeByName = Remove-AzSubscriptionDeploymentStack - Name $rname
226
+
227
+ # Assert
228
+ Assert-NotNull $removeByName
229
+
230
+ # Prepare
231
+ New-AzSubscriptionDeploymentStack - Name $rname - TemplateFile simpleTemplate.json - ParameterFile simpleTemplateParams.json
232
+
233
+ # Test - RemoveByResourceId
234
+ $removeByResourceId = Remove-AzSubscriptionDeploymentStack - ResourceId $resourceId
235
+
236
+ # Assert
237
+ Assert-NotNull $removeByResourceId
238
+
239
+ }
240
+ }
241
+
0 commit comments