Skip to content

Add optional ResourceGroupName to LTR cmdlet #9703

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Aug 5, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions src/Sql/Sql.Test/ScenarioTests/DatabaseBackupTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public void TestListDatabaseRestorePoints()
// TODO https://github.com/Azure/azure-powershell/issues/4155
RunPowerShellTest("Test-ListDatabaseRestorePoints");
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestRestoreGeoBackup()
Expand All @@ -45,6 +46,7 @@ public void TestRestoreGeoBackup()
RunPowerShellTest("Test-RestoreGeoBackup");
}
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestRestoreDeletedDatabaseBackup()
Expand All @@ -56,6 +58,7 @@ public void TestRestoreDeletedDatabaseBackup()
RunPowerShellTest("Test-RestoreDeletedDatabaseBackup");
}
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestRestorePointInTimeBackup()
Expand All @@ -79,18 +82,28 @@ public void TestRestoreLongTermRetentionBackup()
RunPowerShellTest("Test-RestoreLongTermRetentionBackup");
}
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestLongTermRetentionV2Policy()
{
RunPowerShellTest("Test-LongTermRetentionV2Policy");
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestLongTermRetentionV2Backup()
{
RunPowerShellTest("Test-LongTermRetentionV2Backup");
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestLongTermRetentionV2ResourceGroupBasedBackup()
{
RunPowerShellTest("Test-LongTermRetentionV2ResourceGroupBasedBackup");
}

[Fact(Skip = "This is not recordable test")]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestLongTermRetentionV2()
Expand All @@ -102,6 +115,14 @@ public void TestLongTermRetentionV2()
RunPowerShellTest("Test-LongTermRetentionV2");
}
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestLongTermRetentionV2ResourceGroupBased()
{
RunPowerShellTest("Test-LongTermRetentionV2ResourceGroupBased");
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestDatabaseGeoBackupPolicy()
Expand All @@ -113,6 +134,7 @@ public void TestDatabaseGeoBackupPolicy()
RunPowerShellTest("Test-DatabaseGeoBackupPolicy");
}
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestNewDatabaseRestorePoint()
Expand All @@ -124,6 +146,7 @@ public void TestNewDatabaseRestorePoint()
RunPowerShellTest("Test-NewDatabaseRestorePoint");
}
}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void TestRemoveDatabaseRestorePoint()
Expand Down
77 changes: 77 additions & 0 deletions src/Sql/Sql.Test/ScenarioTests/DatabaseBackupTests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,31 @@ function Test-LongTermRetentionV2Backup($location = "westcentralus")
}
}

function Test-LongTermRetentionV2ResourceGroupBasedBackup($location = "westcentralus")
{
# Setup
$location = Get-Location "Microsoft.Sql" "servers" "West central US"
$rg = Create-ResourceGroupForTest
$server = Create-ServerForTest $rg $location

try
{
# Create with default values
$databaseName = Get-DatabaseName
$db = New-AzSqlDatabase -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -DatabaseName $databaseName

# Basic Get Tests
Get-AzSqlDatabaseLongTermRetentionBackup -Location $db.Location -ResourceGroupName $server.ResourceGroupName
# Can't assert because we can't guarantee that the subscription won't have any backups in the location.
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $db.Location -ServerName $server.ServerName -ResourceGroupName $server.ResourceGroupName
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $db.Location -ServerName $server.ServerName -DatabaseName $databaseName -BackupName * -ResourceGroupName $server.ResourceGroupName
}
finally
{
Remove-ResourceGroupForTest $rg
}
}

function Test-LongTermRetentionV2
{

Expand Down Expand Up @@ -255,6 +280,58 @@ function Test-LongTermRetentionV2
Remove-AzSqlDatabase -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $restoredDatabase
}

function Test-LongTermRetentionV2ResourceGroupBased
{

# MANUAL INSTRUCTIONS
# Create a server and database and fill in the appropriate information below
# Set the weekly retention on the database so that the first backup gets picked up, for example:
# Set-AzSqlDatabaseLongTermRetentionPolicy -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName -WeeklyRetention P1W
# Wait about 18 hours until it gets properly copied and you see the backup when run get backups, for example:
# Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaeName $databaseName -ResourceGroupName $resourceGroup
$resourceGroup = "brrg"
$locationName = "brazilsouth"
$serverName = "ltrtest3"
$databaseName = "mydb"
$restoredDatabase = "mydb_restore"
$databaseWithRemovableBackup = "mydb";

# Basic Get Tests
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ResourceGroupName $resourceGroup
Assert-AreNotEqual $backups.Count 0
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -ResourceGroupName $resourceGroup
Assert-AreNotEqual $backups.Count 0
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaseName $databaseName -ResourceGroupName $resourceGroup
Assert-AreNotEqual $backups.Count 0
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaseName $databaseName -BackupName $backups[0].BackupName -ResourceGroupName $resourceGroup
Assert-AreNotEqual $backups.Count 0

# Test Get Piping
$backups = Get-AzSqlDatabase -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName | Get-AzSqlDatabaseLongTermRetentionBackup
Assert-AreNotEqual $backups.Count 0
$backups = Get-AzSqlDatabase -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName | Get-AzSqlDatabaseLongTermRetentionBackup -BackupName $backups[0].BackupName
Assert-AreNotEqual $backups.Count 0

# Test Get Optional Parameters
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaseName $databaseName -ResourceGroupName $resourceGroup -OnlyLatestPerDatabase -DatabaseState All
Assert-AreNotEqual $backups.Count 0

# Test Get Piping with Optional Parameters
$backups = Get-AzSqlDatabase -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName | Get-AzSqlDatabaseLongTermRetentionBackup -OnlyLatestPerDatabase
Assert-AreNotEqual $backups.Count 0

# Restore Test
$backups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ResourceGroupName $resourceGroup
$db = Restore-AzSqlDatabase -FromLongTermRetentionBackup -ResourceId $backups[0].ResourceId -ResourceGroupName $resourceGroup -ServerName $serverName -TargetDatabaseName $restoredDatabase
Assert-AreEqual $db.DatabaseName $restoredDatabase

# Test Remove with Piping
Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaseName $databaseWithRemovableBackup -BackupName $backups[0].BackupName -ResourceGroupName $resourceGroup | Remove-AzSqlDatabaseLongTermRetentionBackup -Force

# drop the restored db
Remove-AzSqlDatabase -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $restoredDatabase -Force
}

function Test-DatabaseGeoBackupPolicy
{
$rg = Get-AzResourceGroup -ResourceGroupName payi-test
Expand Down
Loading