Skip to content

Commit 6e9ed37

Browse files
authored
SqlAG/SqlAGReplica: fix SeedingMode check in Test-TargetResource (#2099)
- `SqlAG` - Fix SeedingMode existence condition. - `SqlAGReplica` - Fix SeedingMode existence condition.
1 parent 83c8385 commit 6e9ed37

File tree

5 files changed

+38
-34
lines changed

5 files changed

+38
-34
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
116116
that they always are higher than what we expect.
117117
- `SqlRS`
118118
- Re-enable integration tests.
119+
- `SqlAG`
120+
- Fix SeedingMode existence condition.
121+
- `SqlAGReplica`
122+
- Fix SeedingMode existence condition.
119123

120124
## [17.0.0] - 2024-09-30
121125

source/DSCResources/DSC_SqlAG/DSC_SqlAG.psm1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,7 @@ function Test-TargetResource
759759
$parametersToCheck += 'BasicAvailabilityGroup'
760760
$parametersToCheck += 'DatabaseHealthTrigger'
761761
$parametersToCheck += 'DtcSupportEnabled'
762-
if ( $getTargetResourceResult.SeedingMode )
762+
if ( $null -ne $getTargetResourceResult.SeedingMode )
763763
{
764764
$parametersToCheck += 'SeedingMode'
765765
}

source/DSCResources/DSC_SqlAGReplica/DSC_SqlAGReplica.psm1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -739,7 +739,7 @@ function Test-TargetResource
739739
'ReadOnlyRoutingConnectionUrl',
740740
'ReadOnlyRoutingList'
741741
)
742-
if ( $getTargetResourceResult.SeedingMode)
742+
if ( $null -ne $getTargetResourceResult.SeedingMode )
743743
{
744744
$parametersToCheck += 'SeedingMode'
745745
}

tests/Unit/DSC_SqlAG.Tests.ps1

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ Describe 'SqlAG\Get-TargetResource' {
9999
$mockAvailabilityGroupReplica1.Name = 'Server1'
100100
$mockAvailabilityGroupReplica1.ReadOnlyRoutingConnectionUrl = 'TCP://Server1.domain.com:1433'
101101
$mockAvailabilityGroupReplica1.ReadOnlyRoutingList = @('Server1', 'Server2')
102-
$mockAvailabilityGroupReplica1.SeedingMode = 'Manual'
102+
$mockAvailabilityGroupReplica1.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
103103

104104
$mockAvailabilityGroupReplica2 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityReplica
105105
$mockAvailabilityGroupReplica2.AvailabilityMode = 'AsynchronousCommit'
@@ -111,7 +111,7 @@ Describe 'SqlAG\Get-TargetResource' {
111111
$mockAvailabilityGroupReplica2.Name = 'Server2'
112112
$mockAvailabilityGroupReplica2.ReadOnlyRoutingConnectionUrl = 'TCP://Server2.domain.com:1433'
113113
$mockAvailabilityGroupReplica2.ReadOnlyRoutingList = @('Server1', 'Server2')
114-
$mockAvailabilityGroupReplica2.SeedingMode = 'Manual'
114+
$mockAvailabilityGroupReplica2.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
115115

116116
$mockAvailabilityGroupReplica3 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityReplica
117117
$mockAvailabilityGroupReplica3.AvailabilityMode = 'AsynchronousCommit'
@@ -123,7 +123,7 @@ Describe 'SqlAG\Get-TargetResource' {
123123
$mockAvailabilityGroupReplica3.Name = 'Server3'
124124
$mockAvailabilityGroupReplica3.ReadOnlyRoutingConnectionUrl = 'TCP://Server3.domain.com:1433'
125125
$mockAvailabilityGroupReplica3.ReadOnlyRoutingList = @('Server1', 'Server2')
126-
$mockAvailabilityGroupReplica3.SeedingMode = 'Manual'
126+
$mockAvailabilityGroupReplica3.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
127127

128128
# Mock the availability groups
129129
$mockAvailabilityGroup1 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityGroup
@@ -188,7 +188,7 @@ Describe 'SqlAG\Get-TargetResource' {
188188
$mockAvailabilityGroupReplica2.Name = 'Server2'
189189
$mockAvailabilityGroupReplica2.ReadOnlyRoutingConnectionUrl = 'TCP://Server2.domain.com:1433'
190190
$mockAvailabilityGroupReplica2.ReadOnlyRoutingList = @('Server1', 'Server2')
191-
$mockAvailabilityGroupReplica2.SeedingMode = 'Manual'
191+
$mockAvailabilityGroupReplica2.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
192192

193193
$mockAvailabilityGroupReplica3 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityReplica
194194
$mockAvailabilityGroupReplica3.AvailabilityMode = 'AsynchronousCommit'
@@ -200,7 +200,7 @@ Describe 'SqlAG\Get-TargetResource' {
200200
$mockAvailabilityGroupReplica3.Name = 'Server3'
201201
$mockAvailabilityGroupReplica3.ReadOnlyRoutingConnectionUrl = 'TCP://Server3.domain.com:1433'
202202
$mockAvailabilityGroupReplica3.ReadOnlyRoutingList = @('Server1', 'Server2')
203-
$mockAvailabilityGroupReplica3.SeedingMode = 'Manual'
203+
$mockAvailabilityGroupReplica3.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
204204

205205
# Mock the availability groups
206206
$mockAvailabilityGroup1 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityGroup
@@ -369,7 +369,7 @@ Describe 'SqlAG\Set-TargetResource' {
369369
$mockAvailabilityGroupReplica1.Name = 'Server1'
370370
$mockAvailabilityGroupReplica1.ReadOnlyRoutingConnectionUrl = 'TCP://Server1.domain.com:1433'
371371
$mockAvailabilityGroupReplica1.ReadOnlyRoutingList = @('Server1', 'Server2')
372-
$mockAvailabilityGroupReplica1.SeedingMode = 'Manual'
372+
$mockAvailabilityGroupReplica1.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
373373

374374
$mockAvailabilityGroupReplica2 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityReplica
375375
$mockAvailabilityGroupReplica2.AvailabilityMode = 'AsynchronousCommit'
@@ -381,7 +381,7 @@ Describe 'SqlAG\Set-TargetResource' {
381381
$mockAvailabilityGroupReplica2.Name = 'Server2'
382382
$mockAvailabilityGroupReplica2.ReadOnlyRoutingConnectionUrl = 'TCP://Server2.domain.com:1433'
383383
$mockAvailabilityGroupReplica2.ReadOnlyRoutingList = @('Server1', 'Server2')
384-
$mockAvailabilityGroupReplica2.SeedingMode = 'Manual'
384+
$mockAvailabilityGroupReplica2.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
385385

386386
$mockAvailabilityGroupReplica3 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityReplica
387387
$mockAvailabilityGroupReplica3.AvailabilityMode = 'AsynchronousCommit'
@@ -393,7 +393,7 @@ Describe 'SqlAG\Set-TargetResource' {
393393
$mockAvailabilityGroupReplica3.Name = 'Server3'
394394
$mockAvailabilityGroupReplica3.ReadOnlyRoutingConnectionUrl = 'TCP://Server3.domain.com:1433'
395395
$mockAvailabilityGroupReplica3.ReadOnlyRoutingList = @('Server1', 'Server2')
396-
$mockAvailabilityGroupReplica3.SeedingMode = 'Manual'
396+
$mockAvailabilityGroupReplica3.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
397397

398398
# Mock the availability groups
399399
$mockAvailabilityGroup1 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityGroup
@@ -446,7 +446,7 @@ Describe 'SqlAG\Set-TargetResource' {
446446
$mockAvailabilityGroupReplica1.Name = 'Server1'
447447
$mockAvailabilityGroupReplica1.ReadOnlyRoutingConnectionUrl = 'TCP://Server1.domain.com:1433'
448448
$mockAvailabilityGroupReplica1.ReadOnlyRoutingList = @('Server1', 'Server2')
449-
$mockAvailabilityGroupReplica1.SeedingMode = 'Manual'
449+
$mockAvailabilityGroupReplica1.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
450450

451451
$mockAvailabilityGroupReplica2 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityReplica
452452
$mockAvailabilityGroupReplica2.AvailabilityMode = 'AsynchronousCommit'
@@ -458,7 +458,7 @@ Describe 'SqlAG\Set-TargetResource' {
458458
$mockAvailabilityGroupReplica2.Name = 'Server2'
459459
$mockAvailabilityGroupReplica2.ReadOnlyRoutingConnectionUrl = 'TCP://Server2.domain.com:1433'
460460
$mockAvailabilityGroupReplica2.ReadOnlyRoutingList = @('Server1', 'Server2')
461-
$mockAvailabilityGroupReplica2.SeedingMode = 'Manual'
461+
$mockAvailabilityGroupReplica2.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
462462

463463
$mockAvailabilityGroupReplica3 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityReplica
464464
$mockAvailabilityGroupReplica3.AvailabilityMode = 'AsynchronousCommit'
@@ -470,7 +470,7 @@ Describe 'SqlAG\Set-TargetResource' {
470470
$mockAvailabilityGroupReplica3.Name = 'Server3'
471471
$mockAvailabilityGroupReplica3.ReadOnlyRoutingConnectionUrl = 'TCP://Server3.domain.com:1433'
472472
$mockAvailabilityGroupReplica3.ReadOnlyRoutingList = @('Server1', 'Server2')
473-
$mockAvailabilityGroupReplica3.SeedingMode = 'Manual'
473+
$mockAvailabilityGroupReplica3.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
474474

475475
# Mock the availability groups
476476
$mockAvailabilityGroup1 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityGroup
@@ -693,7 +693,7 @@ Describe 'SqlAG\Set-TargetResource' {
693693
$mockReplicaObject.EndpointUrl = 'TCP://Server1:5022'
694694
$mockReplicaObject.FailoverMode = 'Manual'
695695
$mockReplicaObject.Name = 'Server1'
696-
$mockReplicaObject.SeedingMode = 'Manual'
696+
$mockReplicaObject.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
697697

698698
Mock -CommandName New-SqlAvailabilityReplica -MockWith {
699699
return $mockReplicaObject
@@ -1215,7 +1215,7 @@ Describe 'SqlAG\Test-TargetResource' {
12151215
$mockAvailabilityGroupReplica1.Name = 'Server1'
12161216
$mockAvailabilityGroupReplica1.ReadOnlyRoutingConnectionUrl = 'TCP://Server1.domain.com:1433'
12171217
$mockAvailabilityGroupReplica1.ReadOnlyRoutingList = @('Server1', 'Server2')
1218-
$mockAvailabilityGroupReplica1.SeedingMode = 'Manual'
1218+
$mockAvailabilityGroupReplica1.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
12191219

12201220
$mockAvailabilityGroupReplica2 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityReplica
12211221
$mockAvailabilityGroupReplica2.AvailabilityMode = 'AsynchronousCommit'
@@ -1227,7 +1227,7 @@ Describe 'SqlAG\Test-TargetResource' {
12271227
$mockAvailabilityGroupReplica2.Name = 'Server2'
12281228
$mockAvailabilityGroupReplica2.ReadOnlyRoutingConnectionUrl = 'TCP://Server2.domain.com:1433'
12291229
$mockAvailabilityGroupReplica2.ReadOnlyRoutingList = @('Server1', 'Server2')
1230-
$mockAvailabilityGroupReplica2.SeedingMode = 'Manual'
1230+
$mockAvailabilityGroupReplica2.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
12311231

12321232
$mockAvailabilityGroupReplica3 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityReplica
12331233
$mockAvailabilityGroupReplica3.AvailabilityMode = 'AsynchronousCommit'
@@ -1239,7 +1239,7 @@ Describe 'SqlAG\Test-TargetResource' {
12391239
$mockAvailabilityGroupReplica3.Name = 'Server3'
12401240
$mockAvailabilityGroupReplica3.ReadOnlyRoutingConnectionUrl = 'TCP://Server3.domain.com:1433'
12411241
$mockAvailabilityGroupReplica3.ReadOnlyRoutingList = @('Server1', 'Server2')
1242-
$mockAvailabilityGroupReplica3.SeedingMode = 'Manual'
1242+
$mockAvailabilityGroupReplica3.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
12431243

12441244
# Mock the availability groups
12451245
$mockAvailabilityGroup1 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityGroup
@@ -1303,7 +1303,7 @@ Describe 'SqlAG\Test-TargetResource' {
13031303
$mockAvailabilityGroupReplica2.Name = 'Server2'
13041304
$mockAvailabilityGroupReplica2.ReadOnlyRoutingConnectionUrl = 'TCP://Server2.domain.com:1433'
13051305
$mockAvailabilityGroupReplica2.ReadOnlyRoutingList = @('Server1', 'Server2')
1306-
$mockAvailabilityGroupReplica2.SeedingMode = 'Manual'
1306+
$mockAvailabilityGroupReplica2.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
13071307

13081308
$mockAvailabilityGroupReplica3 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityReplica
13091309
$mockAvailabilityGroupReplica3.AvailabilityMode = 'AsynchronousCommit'
@@ -1315,7 +1315,7 @@ Describe 'SqlAG\Test-TargetResource' {
13151315
$mockAvailabilityGroupReplica3.Name = 'Server3'
13161316
$mockAvailabilityGroupReplica3.ReadOnlyRoutingConnectionUrl = 'TCP://Server3.domain.com:1433'
13171317
$mockAvailabilityGroupReplica3.ReadOnlyRoutingList = @('Server1', 'Server2')
1318-
$mockAvailabilityGroupReplica3.SeedingMode = 'Manual'
1318+
$mockAvailabilityGroupReplica3.SeedingMode = [Microsoft.SqlServer.Management.Smo.AvailabilityReplicaSeedingMode]::Manual
13191319

13201320
# Mock the availability groups
13211321
$mockAvailabilityGroup1 = New-Object -TypeName Microsoft.SqlServer.Management.Smo.AvailabilityGroup

0 commit comments

Comments
 (0)