Skip to content

Commit c819b27

Browse files
committed
Added test cases and recordings
1 parent 423f32c commit c819b27

File tree

7 files changed

+11628
-0
lines changed

7 files changed

+11628
-0
lines changed

src/Sql/Sql.Test/ScenarioTests/ServerCrudTests.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,5 +129,33 @@ public void CreateandUpdateServerWithMinimalTlsVersion()
129129
{
130130
TestRunner.RunTestScript("Test-CreateandUpdateServerWithMinimalTlsVersion");
131131
}
132+
133+
[Fact]
134+
[Trait(Category.AcceptanceType, Category.CheckIn)]
135+
public void TestServerCreateWithDefaultSoftRetentionEnabled()
136+
{
137+
TestRunner.RunTestScript("Test-CreateServerWithDefaultSoftDeleteRetentionEnabled");
138+
}
139+
140+
[Fact]
141+
[Trait(Category.AcceptanceType, Category.CheckIn)]
142+
public void TestServerCreateWithCustomSoftRetentionEnabled()
143+
{
144+
TestRunner.RunTestScript("Test-CreateServerWithCustomSoftDeleteRetentionEnabled");
145+
}
146+
147+
[Fact]
148+
[Trait(Category.AcceptanceType, Category.CheckIn)]
149+
public void TestServerUpdateWithSoftRetentionEnabled()
150+
{
151+
TestRunner.RunTestScript("Test-UpdateServerWithSoftDeleteRetentionEnabled");
152+
}
153+
154+
[Fact]
155+
[Trait(Category.AcceptanceType, Category.CheckIn)]
156+
public void TestServerRestoreDeletedServer()
157+
{
158+
TestRunner.RunTestScript("Test-RestoreDeletedServer");
159+
}
132160
}
133161
}

src/Sql/Sql.Test/ScenarioTests/ServerCrudTests.ps1

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,3 +659,146 @@ function Test-OutboundFirewallRulesCRUD
659659
Remove-ResourceGroupForTest $rg
660660
}
661661
}
662+
663+
<#
664+
.SYNOPSIS
665+
Tests creating a server with a default soft delete retention enabled
666+
#>
667+
function Test-CreateServerWithDefaultSoftDeleteRetentionEnabled
668+
{
669+
# Setup
670+
$rg = Create-ResourceGroupForTest "eastasia"
671+
672+
$serverName = Get-ServerName
673+
$version = "12.0"
674+
$serverLogin = "testusername"
675+
$serverPassword = "t357ingP@s5w0rd!"
676+
$credentials = new-object System.Management.Automation.PSCredential($serverLogin, ($serverPassword | ConvertTo-SecureString -asPlainText -Force))
677+
$enableSoftDeleteRetention = $true
678+
$defaultRetentionDays = 7
679+
680+
try
681+
{
682+
# With all parameters
683+
$job = New-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $serverName `
684+
-Location $rg.Location -ServerVersion $version -SqlAdministratorCredentials $credentials -EnableSoftDeleteRetention $enableSoftDeleteRetention -AsJob
685+
$job | Wait-Job
686+
$server1 = $job.Output
687+
688+
Assert-AreEqual $server1.ServerName $serverName
689+
Assert-AreEqual $server1.ServerVersion $version
690+
Assert-AreEqual $server1.SqlAdministratorLogin $serverLogin
691+
Assert-StartsWith ($server1.ServerName + ".") $server1.FullyQualifiedDomainName
692+
Assert-AreEqual $server1.SoftDeleteRetentionDays $defaultRetentionDays
693+
}
694+
finally
695+
{
696+
Set-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $serverName -SoftDeleteRetentionDays 0
697+
Remove-ResourceGroupForTest $rg
698+
}
699+
}
700+
701+
<#
702+
.SYNOPSIS
703+
Tests creating a server with custom soft delete retention days
704+
#>
705+
function Test-CreateServerWithCustomSoftDeleteRetentionEnabled
706+
{
707+
# Setup
708+
$rg = Create-ResourceGroupForTest "eastasia"
709+
710+
$serverName = Get-ServerName
711+
$version = "12.0"
712+
$serverLogin = "testusername"
713+
$serverPassword = "t357ingP@s5w0rd!"
714+
$credentials = new-object System.Management.Automation.PSCredential($serverLogin, ($serverPassword | ConvertTo-SecureString -asPlainText -Force))
715+
$enableSoftDeleteRetention = $true
716+
$customRetentionDays = 30
717+
718+
try
719+
{
720+
# With all parameters
721+
$job = New-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $serverName `
722+
-Location $rg.Location -ServerVersion $version -SqlAdministratorCredentials $credentials -SoftDeleteRetentionDays $customRetentionDays -EnableSoftDeleteRetention $enableSoftDeleteRetention -AsJob
723+
$job | Wait-Job
724+
$server1 = $job.Output
725+
726+
Assert-AreEqual $server1.ServerName $serverName
727+
Assert-AreEqual $server1.ServerVersion $version
728+
Assert-AreEqual $server1.SqlAdministratorLogin $serverLogin
729+
Assert-StartsWith ($server1.ServerName + ".") $server1.FullyQualifiedDomainName
730+
Assert-AreEqual $server1.SoftDeleteRetentionDays $customRetentionDays
731+
}
732+
finally
733+
{
734+
Set-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $serverName -SoftDeleteRetentionDays 0
735+
Remove-ResourceGroupForTest $rg
736+
}
737+
}
738+
739+
<#
740+
.SYNOPSIS
741+
Tests updating a server with an default and custom soft delete retention enabled
742+
#>
743+
function Test-UpdateServerWithSoftDeleteRetentionEnabled
744+
{
745+
# Setup
746+
$rg = Create-ResourceGroupForTest "eastasia"
747+
$server = Create-ServerForTest $rg $rg.Location
748+
$enableSoftDeleteRetention = $true
749+
$defaultRetentionDays = 7
750+
$customRetentionDays = 35
751+
752+
try
753+
{
754+
# Test using parameters
755+
$server1 = Set-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -EnableSoftDeleteRetention $enableSoftDeleteRetention
756+
757+
Assert-AreEqual $server1.ServerName $server.ServerName
758+
Assert-AreEqual $server1.ServerVersion $server.ServerVersion
759+
Assert-StartsWith ($server1.ServerName + ".") $server1.FullyQualifiedDomainName
760+
Assert-AreEqual $server1.SoftDeleteRetentionDays $defaultRetentionDays
761+
762+
# Test piping
763+
$server2 = $server | Set-AzSqlServer -EnableSoftDeleteRetention $enableSoftDeleteRetention -SoftDeleteRetentionDays $customRetentionDays
764+
Assert-AreEqual $server2.ServerName $server.ServerName
765+
Assert-AreEqual $server2.ServerVersion $server.ServerVersion
766+
Assert-StartsWith ($server2.ServerName + ".") $server2.FullyQualifiedDomainName
767+
Assert-AreEqual $server2.SoftDeleteRetentionDays $customRetentionDays
768+
}
769+
finally
770+
{
771+
Set-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -SoftDeleteRetentionDays 0
772+
Remove-ResourceGroupForTest $rg
773+
}
774+
}
775+
776+
<#
777+
.SYNOPSIS
778+
Tests restoring a deleted server subjected to prior soft delete retention enabled.
779+
#>
780+
function Test-RestoreDeletedServer
781+
{
782+
# Setup
783+
$rg = Create-ResourceGroupForTest "eastasia"
784+
$server = Create-ServerForTest $rg $rg.Location
785+
786+
try
787+
{
788+
# Set EnableSoftDeleteRetention to true and delete the server
789+
Set-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -EnableSoftDeleteRetention $true
790+
Remove-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -Force
791+
792+
# Test with parameters
793+
Restore-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -Location $rg.Location
794+
795+
$all = Get-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName
796+
Assert-AreEqual $all.Count 1
797+
798+
}
799+
finally
800+
{
801+
Set-AzSqlServer -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -SoftDeleteRetentionDays 0
802+
Remove-ResourceGroupForTest $rg
803+
}
804+
}

0 commit comments

Comments
 (0)