Skip to content

Commit bfc9f0d

Browse files
committed
Replication Failover Tests
1 parent 44d32e4 commit bfc9f0d

File tree

4 files changed

+3474
-0
lines changed

4 files changed

+3474
-0
lines changed

src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,9 @@
421421
<None Include="SessionRecords\Microsoft.Azure.Commands.Sql.Test.ScenarioTests.DatabaseReplicationTests\TestCreateSecondaryDatabaseV2.json">
422422
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
423423
</None>
424+
<None Include="SessionRecords\Microsoft.Azure.Commands.Sql.Test.ScenarioTests.DatabaseReplicationTests\TestFailoverSecondaryDatabase.json">
425+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
426+
</None>
424427
<None Include="SessionRecords\Microsoft.Azure.Commands.Sql.Test.ScenarioTests.DatabaseReplicationTests\TestGetReplicationLink.json">
425428
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
426429
</None>

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/DatabaseReplicationTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,12 @@ public void TestRemoveSecondaryDatabaseV2()
7575
{
7676
RunPowerShellTest("Test-RemoveSecondaryDatabaseV2");
7777
}
78+
79+
[Fact]
80+
[Trait(Category.AcceptanceType, Category.CheckIn)]
81+
public void TestFailoverSecondaryDatabase()
82+
{
83+
RunPowerShellTest("Test-FailoverSecondaryDatabase");
84+
}
7885
}
7986
}

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

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,46 @@ function Test-RemoveSecondaryDatabaseInternal ($serverVersion, $location = "Nort
241241
}
242242
}
243243

244+
<#
245+
.SYNOPSIS
246+
Tests removing a secondary database
247+
#>
248+
function Test-FailoverSecondaryDatabase
249+
{
250+
#v12 only
251+
Test-FailoverSecondaryDatabaseInternal "12.0" "North Europe"
252+
}
253+
254+
<#
255+
.SYNOPSIS
256+
Tests failing over a secondary database
257+
#>
258+
function Test-FailoverSecondaryDatabaseInternal ($serverVersion, $location = "North Europe")
259+
{
260+
# Setup
261+
$rg = Create-ResourceGroupForTest $location
262+
$server = Create-ServerForTest $rg $serverVersion $location
263+
$database = Create-DatabaseForTest $rg $server
264+
265+
$partRg = Create-ResourceGroupForTest $location
266+
$partServer = Create-ServerForTest $partRg $serverVersion $location
267+
268+
try
269+
{
270+
# failover Secondary
271+
New-AzureSqlDatabaseSecondary -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -DatabaseName $database.DatabaseName `
272+
-PartnerResourceGroupName $partRg.ResourceGroupName -PartnerServerName $partServer.ServerName -AllowConnections All
273+
274+
$secondary = Get-AzureSqlDatabaseReplicationLink -ResourceGroupName $partRg.ResourceGroupName -ServerName $partServer.ServerName -DatabaseName $database.DatabaseName -PartnerResourceGroupName $rg.ResourceGroupName -PartnerServerName $server.ServerName
275+
276+
$secondary | Set-AzureSqlDatabaseSecondary -PartnerResourceGroupName $rg.ResourceGroupName -Failover
277+
}
278+
finally
279+
{
280+
Remove-ResourceGroupForTest $rg
281+
Remove-ResourceGroupForTest $partRg
282+
}
283+
}
244284

245285
<#
246286
.SYNOPSIS

0 commit comments

Comments
 (0)