@@ -116,6 +116,148 @@ function Test-CreateManagedInstance
116
116
}
117
117
}
118
118
119
+ <#
120
+ . SYNOPSIS
121
+ Tests creating a managed instance while using Hermes related parameters
122
+ . DESCRIPTION
123
+ SmokeTest
124
+ #>
125
+ function Test-CreateManagedInstance-HermesTesting
126
+ {
127
+ $defaultParams = Get-DefaultManagedInstanceParametersHermesTesting
128
+ $credentials = Get-ServerCredential
129
+ $vCore = 8
130
+ $storageSizeInGB = 32
131
+
132
+ # Tests with SKU name specified and with true IsGeneralPurposeV2 specified
133
+ $managedInstanceName = " createmanagedinstance-hermestesting-he"
134
+ $skuName = " GP_Gen5"
135
+ $isGeneralPurposeV2 = $true
136
+ $storageIOps = 2000
137
+
138
+ $job = New-AzSqlInstance - ResourceGroupName $defaultParams.rg - Name $managedInstanceName `
139
+ - Location $defaultParams.location - AdministratorCredential $credentials - SubnetId $defaultParams.subnet `
140
+ - StorageSizeInGB $storageSizeInGB - Vcore $vCore - SkuName $skuName `
141
+ - IsGeneralPurposeV2 $isGeneralPurposeV2 - StorageIOps $storageIOps - AsJob
142
+ $job | Wait-Job
143
+ $managedInstance = $job.Output
144
+
145
+ Assert-AreEqual $managedInstance.ManagedInstanceName $managedInstanceName
146
+ Assert-AreEqual $managedInstance.Sku.Name $skuName
147
+ Assert-AreEqual $managedInstance.IsGeneralPurposeV2 $isGeneralPurposeV2
148
+ Assert-AreEqual $managedInstance.VCores $vCore
149
+ Assert-AreEqual $managedInstance.StorageSizeInGB $storageSizeInGB
150
+ Assert-AreEqual $managedInstance.StorageIOps $storageIOps
151
+
152
+ # Tests with SKU name specified and without IsGeneralPurposeV2 specified
153
+ $managedInstanceName = " createmanagedinstance-hermestesting-gp-noflag"
154
+ $skuName = " GP_Gen5"
155
+ $isGeneralPurposeV2 = $false
156
+ $storageIOps = $null
157
+
158
+ $job = New-AzSqlInstance - ResourceGroupName $defaultParams.rg - Name $managedInstanceName `
159
+ - Location $defaultParams.location - AdministratorCredential $credentials - SubnetId $defaultParams.subnet `
160
+ - StorageSizeInGB $storageSizeInGB - Vcore $vCore - SkuName $skuName - AsJob
161
+ $job | Wait-Job
162
+ $managedInstance = $job.Output
163
+
164
+ Assert-AreEqual $managedInstance.ManagedInstanceName $managedInstanceName
165
+ Assert-AreEqual $managedInstance.Sku.Name $skuName
166
+ Assert-AreEqual $managedInstance.IsGeneralPurposeV2 $isGeneralPurposeV2
167
+ Assert-AreEqual $managedInstance.VCores $vCore
168
+ Assert-AreEqual $managedInstance.StorageSizeInGB $storageSizeInGB
169
+ Assert-AreEqual $managedInstance.StorageIOps $storageIOps
170
+
171
+ # Tests with SKU name specified and with false IsGeneralPurposeV2 specified
172
+ $managedInstanceName = " createmanagedinstance-hermestesting-gp-falseflag"
173
+ $skuName = " GP_Gen5"
174
+ $isGeneralPurposeV2 = $false
175
+ $storageIOps = $null
176
+
177
+ $job = New-AzSqlInstance - ResourceGroupName $defaultParams.rg - Name $managedInstanceName `
178
+ - Location $defaultParams.location - AdministratorCredential $credentials - SubnetId $defaultParams.subnet `
179
+ - StorageSizeInGB $storageSizeInGB - Vcore $vCore - SkuName $skuName `
180
+ - IsGeneralPurposeV2 $isGeneralPurposeV2 - AsJob
181
+ $job | Wait-Job
182
+ $managedInstance = $job.Output
183
+
184
+ Assert-AreEqual $managedInstance.ManagedInstanceName $managedInstanceName
185
+ Assert-AreEqual $managedInstance.Sku.Name $skuName
186
+ Assert-AreEqual $managedInstance.IsGeneralPurposeV2 $isGeneralPurposeV2
187
+ Assert-AreEqual $managedInstance.VCores $vCore
188
+ Assert-AreEqual $managedInstance.StorageSizeInGB $storageSizeInGB
189
+ Assert-AreEqual $managedInstance.StorageIOps $storageIOps
190
+ }
191
+
192
+ <#
193
+ . SYNOPSIS
194
+ Tests setting a Managed Instance while using Hermes related parameters
195
+ . DESCRIPTION
196
+ SmokeTest
197
+ #>
198
+ function Test-SetManagedInstance-HermesTesting
199
+ {
200
+ $defaultParams = Get-DefaultManagedInstanceParametersHermesTesting
201
+ $credentials = Get-ServerCredential
202
+ $managedInstanceName = " setmanagedinstance-hermestesting"
203
+ $vCore = 8
204
+
205
+ # Create GP MI
206
+ $skuName = " GP_Gen5"
207
+ $isGeneralPurposeV2 = $false
208
+ $storageSizeInGB = 32
209
+ $storageIOps = $null
210
+
211
+ $job = New-AzSqlInstance - ResourceGroupName $defaultParams.rg - Name $managedInstanceName `
212
+ - Location $defaultParams.location - AdministratorCredential $credentials - SubnetId $defaultParams.subnet `
213
+ - StorageSizeInGB $storageSizeInGB - Vcore $vCore - SkuName $skuName - AsJob
214
+ $job | Wait-Job
215
+ $managedInstance = $job.Output
216
+
217
+ Assert-AreEqual $managedInstance.ManagedInstanceName $managedInstanceName
218
+ Assert-AreEqual $managedInstance.Sku.Name $skuName
219
+ Assert-AreEqual $managedInstance.IsGeneralPurposeV2 $isGeneralPurposeV2
220
+ Assert-AreEqual $managedInstance.VCores $vCore
221
+ Assert-AreEqual $managedInstance.StorageSizeInGB $storageSizeInGB
222
+ Assert-AreEqual $managedInstance.StorageIOps $storageIOps
223
+
224
+ # Update to HE MI
225
+ $edition = " GeneralPurpose"
226
+ $computeGeneration = " Gen5"
227
+ $isGeneralPurposeV2 = $true
228
+ $storageSizeInGB = 64
229
+ $storageIOps = 2000
230
+
231
+ $managedInstance = Set-AzSqlInstance - ResourceGroupName $defaultParams.rg - Name $managedInstanceName `
232
+ - StorageSizeInGB $storageSizeInGB - Edition $edition - ComputeGeneration $computeGeneration `
233
+ - IsGeneralPurposeV2 $isGeneralPurposeV2 - StorageIOps $storageIOps - Force
234
+
235
+ Assert-AreEqual $managedInstance.ManagedInstanceName $managedInstanceName
236
+ Assert-AreEqual $managedInstance.Sku.Name $skuName
237
+ Assert-AreEqual $managedInstance.IsGeneralPurposeV2 $isGeneralPurposeV2
238
+ Assert-AreEqual $managedInstance.VCores $vCore
239
+ Assert-AreEqual $managedInstance.StorageSizeInGB $storageSizeInGB
240
+ Assert-AreEqual $managedInstance.StorageIOps $storageIOps
241
+
242
+ # Update to GP MI
243
+ $edition = " GeneralPurpose"
244
+ $computeGeneration = " Gen5"
245
+ $isGeneralPurposeV2 = $false
246
+ $storageSizeInGB = 64
247
+ $storageIOps = $null
248
+
249
+ $managedInstance = Set-AzSqlInstance - ResourceGroupName $defaultParams.rg - Name $managedInstanceName `
250
+ - StorageSizeInGB $storageSizeInGB - Edition $edition - ComputeGeneration $computeGeneration `
251
+ - IsGeneralPurposeV2 $isGeneralPurposeV2 - Force
252
+
253
+ Assert-AreEqual $managedInstance.ManagedInstanceName $managedInstanceName
254
+ Assert-AreEqual $managedInstance.Sku.Name $skuName
255
+ Assert-AreEqual $managedInstance.IsGeneralPurposeV2 $isGeneralPurposeV2
256
+ Assert-AreEqual $managedInstance.VCores $vCore
257
+ Assert-AreEqual $managedInstance.StorageSizeInGB $storageSizeInGB
258
+ Assert-AreEqual $managedInstance.StorageIOps $storageIOps
259
+ }
260
+
119
261
<#
120
262
. SYNOPSIS
121
263
Tests setting a Managed Instance
0 commit comments