Skip to content

Commit 5007887

Browse files
committed
Merge pull request #495 from caln-microsoft/dev
Extending Azure SQL CRUD PowerShell cmdlets for Azure SQL Data Warehouse
2 parents b430053 + 339f1d0 commit 5007887

File tree

10 files changed

+6321
-2566
lines changed

10 files changed

+6321
-2566
lines changed

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/DatabaseCrudTests.ps1

Lines changed: 66 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#>
1919
function Test-CreateDatabase
2020
{
21-
Test-CreateDatabaseInternal "12.0"
21+
Test-CreateDatabaseInternal "12.0" "Southeast Asia"
2222
}
2323

2424
<#
@@ -61,6 +61,18 @@ function Test-CreateDatabaseInternal ($serverVersion, $location = "Japan East")
6161
Assert-NotNull $db.Edition
6262
Assert-NotNull $db.CurrentServiceObjectiveName
6363
Assert-NotNull $db.CollationName
64+
65+
# Create data warehouse database with all parameters.
66+
$databaseName = Get-DatabaseName
67+
$collationName = "SQL_Latin1_General_CP1_CI_AS"
68+
$maxSizeBytes = 250GB
69+
$dwdb = New-AzureSqlDatabase -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -DatabaseName $databaseName `
70+
-CollationName $collationName -MaxSizeBytes $maxSizeBytes -Edition DataWarehouse -RequestedServiceObjectiveName DW100
71+
Assert-AreEqual $dwdb.DatabaseName $databaseName
72+
Assert-AreEqual $dwdb.MaxSizeBytes $maxSizeBytes
73+
Assert-AreEqual $dwdb.Edition DataWarehouse
74+
Assert-AreEqual $dwdb.CurrentServiceObjectiveName DW100
75+
Assert-AreEqual $dwdb.CollationName $collationName
6476
}
6577

6678
# Create with all parameters
@@ -95,7 +107,7 @@ function Test-CreateDatabaseInternal ($serverVersion, $location = "Japan East")
95107
#>
96108
function Test-UpdateDatabase
97109
{
98-
Test-UpdateDatabaseInternal "12.0"
110+
Test-UpdateDatabaseInternal "12.0" "Southeast Asia"
99111
}
100112

101113
<#
@@ -144,10 +156,24 @@ function Test-UpdateDatabaseInternal ($serverVersion, $location = "Japan East")
144156
Assert-AreEqual $db2.Edition Standard
145157
Assert-AreEqual $db2.CurrentServiceObjectiveName S1
146158
Assert-AreEqual $db2.CollationName $db.CollationName
159+
160+
# Create and alter data warehouse database.
161+
$databaseName = Get-DatabaseName
162+
$collationName = "SQL_Latin1_General_CP1_CI_AS"
163+
$maxSizeBytes = 250GB
164+
$dwdb = New-AzureSqlDatabase -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -DatabaseName $databaseName `
165+
-CollationName $collationName -MaxSizeBytes $maxSizeBytes -Edition DataWarehouse -RequestedServiceObjectiveName DW100
166+
167+
$dwdb2 = Set-AzureSqlDatabase -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -DatabaseName $dwdb.DatabaseName `
168+
-MaxSizeBytes $maxSizeBytes -RequestedServiceObjectiveName DW200 -Edition DataWarehouse
169+
Assert-AreEqual $dwdb2.DatabaseName $dwdb.DatabaseName
170+
Assert-AreEqual $dwdb2.MaxSizeBytes $maxSizeBytes
171+
Assert-AreEqual $dwdb2.Edition DataWarehouse
172+
Assert-AreEqual $dwdb2.CurrentServiceObjectiveName DW200
173+
Assert-AreEqual $dwdb2.CollationName $collationName
147174
}
148175
else
149176
{
150-
151177
# Alter all properties
152178
$db1 = Set-AzureSqlDatabase -ResourceGroupName $db.ResourceGroupName -ServerName $db.ServerName -DatabaseName $db.DatabaseName `
153179
-MaxSizeBytes 1GB -Edition Basic -RequestedServiceObjectiveName Basic
@@ -179,7 +205,7 @@ function Test-UpdateDatabaseInternal ($serverVersion, $location = "Japan East")
179205
#>
180206
function Test-GetDatabase
181207
{
182-
Test-GetDatabaseInternal "12.0"
208+
Test-GetDatabaseInternal "12.0" "Southeast Asia"
183209
}
184210

185211
<#
@@ -214,6 +240,28 @@ function Test-GetDatabaseInternal ($serverVersion, $location = "Japan East")
214240

215241
try
216242
{
243+
if($serverVersion -eq "12.0")
244+
{
245+
# Create data warehouse database.
246+
$databaseName = Get-DatabaseName
247+
$dwdb = New-AzureSqlDatabase -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -DatabaseName $databaseName `
248+
-CollationName SQL_Latin1_General_CP1_CI_AS -MaxSizeBytes 250GB -Edition DataWarehouse -RequestedServiceObjectiveName DW100
249+
$dwdb2 = Get-AzureSqlDatabase -ResourceGroupName $rg.ResourceGroupname -ServerName $server.ServerName -DatabaseName $dwdb.DatabaseName
250+
Assert-AreEqual $dwdb2.DatabaseName $dwdb.DatabaseName
251+
Assert-AreEqual $dwdb2.MaxSizeBytes $dwdb.MaxSizeBytes
252+
Assert-AreEqual $dwdb2.Edition $dwdb.Edition
253+
Assert-AreEqual $dwdb2.CurrentServiceObjectiveName $dwdb.CurrentServiceObjectiveName
254+
Assert-AreEqual $dwdb2.CollationName $dwdb.CollationName
255+
256+
$all = $server | Get-AzureSqlDatabase
257+
Assert-AreEqual $all.Count 4 # 4 because master database is included
258+
}
259+
else
260+
{
261+
$all = $server | Get-AzureSqlDatabase
262+
Assert-AreEqual $all.Count 3 # 3 because master database is included
263+
}
264+
217265
$gdb1 = Get-AzureSqlDatabase -ResourceGroupName $server.ResourceGroupname -ServerName $server.ServerName -DatabaseName $db1.DatabaseName
218266
Assert-NotNull $gdb1
219267
Assert-AreEqual $db1.DatabaseName $gdb1.DatabaseName
@@ -229,9 +277,6 @@ function Test-GetDatabaseInternal ($serverVersion, $location = "Japan East")
229277
Assert-AreEqual $db2.CollationName $gdb2.CollationName
230278
Assert-AreEqual $db2.CurrentServiceObjectiveName $gdb2.CurrentServiceObjectiveName
231279
Assert-AreEqual $db2.MaxSizeBytes $gdb2.MaxSizeBytes
232-
233-
$all = $server | Get-AzureSqlDatabase
234-
Assert-AreEqual $all.Count 3 # 3 because master database is included
235280
}
236281
finally
237282
{
@@ -246,7 +291,7 @@ function Test-GetDatabaseInternal ($serverVersion, $location = "Japan East")
246291
#>
247292
function Test-RemoveDatabase
248293
{
249-
Test-RemoveDatabaseInternal "12.0"
294+
Test-RemoveDatabaseInternal "12.0" "Southeast Asia"
250295
}
251296

252297
<#
@@ -281,9 +326,20 @@ function Test-RemoveDatabaseInternal ($serverVersion, $location = "Japan East")
281326

282327
try
283328
{
284-
$all = $server | Get-AzureSqlDatabase
285-
Assert-AreEqual $all.Count 3 # 3 because master database is included
329+
if($serverVersion -eq "12.0")
330+
{
331+
# Create data warehouse database
332+
$databaseName = Get-DatabaseName
333+
$dwdb = New-AzureSqlDatabase -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -DatabaseName $databaseName `
334+
-CollationName "SQL_Latin1_General_CP1_CI_AS" -MaxSizeBytes 250GB -Edition DataWarehouse -RequestedServiceObjectiveName DW100
335+
Assert-AreEqual $dwdb.DatabaseName $databaseName
286336

337+
Remove-AzureSqlDatabase -ResourceGroupName $server.ResourceGroupname -ServerName $server.ServerName -DatabaseName $dwdb.DatabaseName -Force
338+
}
339+
340+
$all = $server | Get-AzureSqlDatabase
341+
Assert-AreEqual $all.Count 3 # 3 because master database is included
342+
287343
Remove-AzureSqlDatabase -ResourceGroupName $server.ResourceGroupname -ServerName $server.ServerName -DatabaseName $db1.DatabaseName -Force
288344

289345
$db2 | Remove-AzureSqlDatabase -Force

0 commit comments

Comments
 (0)