Skip to content

Commit 824e7aa

Browse files
authored
Merge pull request #9703 from pixia/master
Add optional ResourceGroupName to LTR cmdlet
2 parents 0b9f9ec + 45820c3 commit 824e7aa

13 files changed

+6390
-57
lines changed

src/Sql/Sql.Test/ScenarioTests/DatabaseBackupTests.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public void TestListDatabaseRestorePoints()
3434
// TODO https://github.com/Azure/azure-powershell/issues/4155
3535
RunPowerShellTest("Test-ListDatabaseRestorePoints");
3636
}
37+
3738
[Fact]
3839
[Trait(Category.AcceptanceType, Category.CheckIn)]
3940
public void TestRestoreGeoBackup()
@@ -45,6 +46,7 @@ public void TestRestoreGeoBackup()
4546
RunPowerShellTest("Test-RestoreGeoBackup");
4647
}
4748
}
49+
4850
[Fact]
4951
[Trait(Category.AcceptanceType, Category.CheckIn)]
5052
public void TestRestoreDeletedDatabaseBackup()
@@ -56,6 +58,7 @@ public void TestRestoreDeletedDatabaseBackup()
5658
RunPowerShellTest("Test-RestoreDeletedDatabaseBackup");
5759
}
5860
}
61+
5962
[Fact]
6063
[Trait(Category.AcceptanceType, Category.CheckIn)]
6164
public void TestRestorePointInTimeBackup()
@@ -79,18 +82,28 @@ public void TestRestoreLongTermRetentionBackup()
7982
RunPowerShellTest("Test-RestoreLongTermRetentionBackup");
8083
}
8184
}
85+
8286
[Fact]
8387
[Trait(Category.AcceptanceType, Category.CheckIn)]
8488
public void TestLongTermRetentionV2Policy()
8589
{
8690
RunPowerShellTest("Test-LongTermRetentionV2Policy");
8791
}
92+
8893
[Fact]
8994
[Trait(Category.AcceptanceType, Category.CheckIn)]
9095
public void TestLongTermRetentionV2Backup()
9196
{
9297
RunPowerShellTest("Test-LongTermRetentionV2Backup");
9398
}
99+
100+
[Fact]
101+
[Trait(Category.AcceptanceType, Category.CheckIn)]
102+
public void TestLongTermRetentionV2ResourceGroupBasedBackup()
103+
{
104+
RunPowerShellTest("Test-LongTermRetentionV2ResourceGroupBasedBackup");
105+
}
106+
94107
[Fact(Skip = "This is not recordable test")]
95108
[Trait(Category.AcceptanceType, Category.CheckIn)]
96109
public void TestLongTermRetentionV2()
@@ -102,6 +115,14 @@ public void TestLongTermRetentionV2()
102115
RunPowerShellTest("Test-LongTermRetentionV2");
103116
}
104117
}
118+
119+
[Fact]
120+
[Trait(Category.AcceptanceType, Category.CheckIn)]
121+
public void TestLongTermRetentionV2ResourceGroupBased()
122+
{
123+
RunPowerShellTest("Test-LongTermRetentionV2ResourceGroupBased");
124+
}
125+
105126
[Fact]
106127
[Trait(Category.AcceptanceType, Category.CheckIn)]
107128
public void TestDatabaseGeoBackupPolicy()
@@ -113,6 +134,7 @@ public void TestDatabaseGeoBackupPolicy()
113134
RunPowerShellTest("Test-DatabaseGeoBackupPolicy");
114135
}
115136
}
137+
116138
[Fact]
117139
[Trait(Category.AcceptanceType, Category.CheckIn)]
118140
public void TestNewDatabaseRestorePoint()
@@ -124,6 +146,7 @@ public void TestNewDatabaseRestorePoint()
124146
RunPowerShellTest("Test-NewDatabaseRestorePoint");
125147
}
126148
}
149+
127150
[Fact]
128151
[Trait(Category.AcceptanceType, Category.CheckIn)]
129152
public void TestRemoveDatabaseRestorePoint()

src/Sql/Sql.Test/ScenarioTests/DatabaseBackupTests.ps1

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,31 @@ function Test-LongTermRetentionV2Backup($location = "westcentralus")
199199
}
200200
}
201201

202+
function Test-LongTermRetentionV2ResourceGroupBasedBackup($location = "westcentralus")
203+
{
204+
# Setup
205+
$location = Get-Location "Microsoft.Sql" "servers" "West central US"
206+
$rg = Create-ResourceGroupForTest
207+
$server = Create-ServerForTest $rg $location
208+
209+
try
210+
{
211+
# Create with default values
212+
$databaseName = Get-DatabaseName
213+
$db = New-AzSqlDatabase -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -DatabaseName $databaseName
214+
215+
# Basic Get Tests
216+
Get-AzSqlDatabaseLongTermRetentionBackup -Location $db.Location -ResourceGroupName $server.ResourceGroupName
217+
# Can't assert because we can't guarantee that the subscription won't have any backups in the location.
218+
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $db.Location -ServerName $server.ServerName -ResourceGroupName $server.ResourceGroupName
219+
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $db.Location -ServerName $server.ServerName -DatabaseName $databaseName -BackupName * -ResourceGroupName $server.ResourceGroupName
220+
}
221+
finally
222+
{
223+
Remove-ResourceGroupForTest $rg
224+
}
225+
}
226+
202227
function Test-LongTermRetentionV2
203228
{
204229

@@ -255,6 +280,58 @@ function Test-LongTermRetentionV2
255280
Remove-AzSqlDatabase -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $restoredDatabase
256281
}
257282

283+
function Test-LongTermRetentionV2ResourceGroupBased
284+
{
285+
286+
# MANUAL INSTRUCTIONS
287+
# Create a server and database and fill in the appropriate information below
288+
# Set the weekly retention on the database so that the first backup gets picked up, for example:
289+
# Set-AzSqlDatabaseLongTermRetentionPolicy -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName -WeeklyRetention P1W
290+
# Wait about 18 hours until it gets properly copied and you see the backup when run get backups, for example:
291+
# Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaeName $databaseName -ResourceGroupName $resourceGroup
292+
$resourceGroup = "brrg"
293+
$locationName = "brazilsouth"
294+
$serverName = "ltrtest3"
295+
$databaseName = "mydb"
296+
$restoredDatabase = "mydb_restore"
297+
$databaseWithRemovableBackup = "mydb";
298+
299+
# Basic Get Tests
300+
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ResourceGroupName $resourceGroup
301+
Assert-AreNotEqual $backups.Count 0
302+
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -ResourceGroupName $resourceGroup
303+
Assert-AreNotEqual $backups.Count 0
304+
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaseName $databaseName -ResourceGroupName $resourceGroup
305+
Assert-AreNotEqual $backups.Count 0
306+
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaseName $databaseName -BackupName $backups[0].BackupName -ResourceGroupName $resourceGroup
307+
Assert-AreNotEqual $backups.Count 0
308+
309+
# Test Get Piping
310+
$backups = Get-AzSqlDatabase -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName | Get-AzSqlDatabaseLongTermRetentionBackup
311+
Assert-AreNotEqual $backups.Count 0
312+
$backups = Get-AzSqlDatabase -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName | Get-AzSqlDatabaseLongTermRetentionBackup -BackupName $backups[0].BackupName
313+
Assert-AreNotEqual $backups.Count 0
314+
315+
# Test Get Optional Parameters
316+
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaseName $databaseName -ResourceGroupName $resourceGroup -OnlyLatestPerDatabase -DatabaseState All
317+
Assert-AreNotEqual $backups.Count 0
318+
319+
# Test Get Piping with Optional Parameters
320+
$backups = Get-AzSqlDatabase -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName | Get-AzSqlDatabaseLongTermRetentionBackup -OnlyLatestPerDatabase
321+
Assert-AreNotEqual $backups.Count 0
322+
323+
# Restore Test
324+
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ResourceGroupName $resourceGroup
325+
$db = Restore-AzSqlDatabase -FromLongTermRetentionBackup -ResourceId $backups[0].ResourceId -ResourceGroupName $resourceGroup -ServerName $serverName -TargetDatabaseName $restoredDatabase
326+
Assert-AreEqual $db.DatabaseName $restoredDatabase
327+
328+
# Test Remove with Piping
329+
Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaseName $databaseWithRemovableBackup -BackupName $backups[0].BackupName -ResourceGroupName $resourceGroup | Remove-AzSqlDatabaseLongTermRetentionBackup -Force
330+
331+
# drop the restored db
332+
Remove-AzSqlDatabase -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $restoredDatabase -Force
333+
}
334+
258335
function Test-DatabaseGeoBackupPolicy
259336
{
260337
$rg = Get-AzResourceGroup -ResourceGroupName payi-test

0 commit comments

Comments
 (0)