Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
fe11afe
Refactor tests to use -ErrorAction 'Stop' for better error handling
johlju Oct 11, 2025
1fe27d0
Refactor test cases to suppress error output by assigning command res…
johlju Oct 11, 2025
0354042
Refactor tests to suppress error output by assigning command results …
johlju Oct 11, 2025
2ec83b4
Refactor tests to suppress exceptions on command execution
johlju Oct 11, 2025
8aca1f5
Refactor integration tests to remove unnecessary script blocks
johlju Oct 11, 2025
f7e16e8
Refactor tests to streamline parameter assignment and maintain error …
johlju Oct 12, 2025
ed7b55b
Refactor tests to remove usage of `Should -Not -Throw` and adopt Pest…
johlju Oct 12, 2025
921ca1b
Refactor tests to suppress error output by assigning command results …
johlju Oct 12, 2025
4205ed8
Refactor tests to improve clarity of test descriptions
johlju Oct 12, 2025
e89168f
Refactor tests to improve clarity of test descriptions for sql agent …
johlju Oct 12, 2025
5fc3605
Refactor tests to suppress error output by assigning command results …
johlju Oct 12, 2025
d6de9c0
Refactor Set-TargetResource calls to use -ErrorAction 'Stop' for impr…
johlju Oct 12, 2025
010bf07
Fix formatting of error action guideline to use quotes around 'Stop'
johlju Oct 12, 2025
c59fca7
Fix error action parameter formatting in build script calls
johlju Oct 12, 2025
9260584
Refactor Modify() tests to suppress error output by assigning command…
johlju Oct 12, 2025
0cce110
Refactor error handling in integration and unit tests to use string l…
johlju Oct 12, 2025
ed1851c
Refactor integration tests to eliminate redundant assignment of $null…
johlju Oct 12, 2025
ce6d9cb
Suppress error output in integration tests by assigning command resul…
johlju Oct 12, 2025
ac5eaec
Suppress error output in Modify() tests by assigning command results …
johlju Oct 12, 2025
2275c0f
Refactor error handling in AfterAll blocks to use 'Stop' for ErrorAct…
johlju Oct 12, 2025
aea1f2a
Refactor Remove-SqlDscDatabase call to use 'Stop' for ErrorAction par…
johlju Oct 12, 2025
36a290a
Refactor Get-TargetResource calls to use 'Stop' for ErrorAction param…
johlju Oct 12, 2025
e861d45
Suppress error output during audit cleanup by assigning command resul…
johlju Oct 12, 2025
f68b64b
Suppress error output in New-SqlDscAgentAlert and Invoke-SqlDscQuery …
johlju Oct 12, 2025
67a1b09
Suppress error output in New-SqlDscAgentOperator call by assigning co…
johlju Oct 12, 2025
81bbdbf
Remove unnecessary closing brace in Invoke-SqlDscQuery integration test
johlju Oct 12, 2025
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
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,7 @@ Describe 'Add-SqlDscTraceFlag' -Tag @('Integration_SQL2017', 'Integration_SQL201

It 'Should add a single trace flag without error' {
# Act - Add the trace flag
{
Add-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -TraceFlag $script:singleTestTraceFlag -Force -ErrorAction 'Stop'
} | Should -Not -Throw
$null = Add-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -TraceFlag $script:singleTestTraceFlag -Force -ErrorAction 'Stop'

# Assert - Verify the trace flag was added
$currentTraceFlags = Get-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -ErrorAction 'Stop'
Expand All @@ -74,9 +72,7 @@ Describe 'Add-SqlDscTraceFlag' -Tag @('Integration_SQL2017', 'Integration_SQL201

It 'Should add multiple trace flags without error' {
# Act - Add the trace flags
{
Add-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -TraceFlag $script:testTraceFlags -Force -ErrorAction 'Stop'
} | Should -Not -Throw
$null = Add-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -TraceFlag $script:testTraceFlags -Force -ErrorAction 'Stop'

# Assert - Verify the trace flags were added
$currentTraceFlags = Get-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -ErrorAction 'Stop'
Expand All @@ -94,9 +90,7 @@ Describe 'Add-SqlDscTraceFlag' -Tag @('Integration_SQL2017', 'Integration_SQL201
$beforeCount = ($beforeAddTraceFlags | Where-Object { $_ -eq $script:singleTestTraceFlag }).Count

# Act - Try to add the same trace flag again
{
Add-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -TraceFlag $script:singleTestTraceFlag -Force -ErrorAction 'Stop'
} | Should -Not -Throw
$null = Add-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -TraceFlag $script:singleTestTraceFlag -Force -ErrorAction 'Stop'

# Assert - Verify no duplicate was created
$afterAddTraceFlags = Get-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -ErrorAction 'Stop'
Expand All @@ -111,9 +105,7 @@ Describe 'Add-SqlDscTraceFlag' -Tag @('Integration_SQL2017', 'Integration_SQL201
Add-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -TraceFlag $script:singleTestTraceFlag -Force -ErrorAction 'Stop'

# Act - Add additional trace flags
{
Add-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -TraceFlag $script:additionalTestTraceFlag -Force -ErrorAction 'Stop'
} | Should -Not -Throw
$null = Add-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -TraceFlag $script:additionalTestTraceFlag -Force -ErrorAction 'Stop'

# Assert - Verify both old and new trace flags exist
$currentTraceFlags = Get-SqlDscTraceFlag -ServerName $script:mockComputerName -InstanceName $script:mockInstanceName -ErrorAction 'Stop'
Expand Down Expand Up @@ -158,9 +150,7 @@ Describe 'Add-SqlDscTraceFlag' -Tag @('Integration_SQL2017', 'Integration_SQL201

It 'Should add a single trace flag using ServiceObject parameter' {
# Act - Add the trace flag
{
Add-SqlDscTraceFlag -ServiceObject $script:serviceObject -TraceFlag $script:singleTestTraceFlag -Force -ErrorAction 'Stop'
} | Should -Not -Throw
$null = Add-SqlDscTraceFlag -ServiceObject $script:serviceObject -TraceFlag $script:singleTestTraceFlag -Force -ErrorAction 'Stop'

# Assert - Verify the trace flag was added
$currentTraceFlags = Get-SqlDscTraceFlag -ServiceObject $script:serviceObject -ErrorAction 'Stop'
Expand All @@ -169,9 +159,7 @@ Describe 'Add-SqlDscTraceFlag' -Tag @('Integration_SQL2017', 'Integration_SQL201

It 'Should add multiple trace flags using ServiceObject parameter' {
# Act - Add the trace flags
{
Add-SqlDscTraceFlag -ServiceObject $script:serviceObject -TraceFlag $script:testTraceFlags -Force -ErrorAction 'Stop'
} | Should -Not -Throw
$null = Add-SqlDscTraceFlag -ServiceObject $script:serviceObject -TraceFlag $script:testTraceFlags -Force -ErrorAction 'Stop'

# Assert - Verify the trace flags were added
$currentTraceFlags = Get-SqlDscTraceFlag -ServiceObject $script:serviceObject -ErrorAction 'Stop'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,19 @@ Describe 'Assert-SqlDscLogin' -Tag @('Integration_SQL2017', 'Integration_SQL2019

Context 'When a login exists' {
It 'Should not throw an error for sa login' {
{ Assert-SqlDscLogin -ServerObject $script:serverObject -Name 'sa' } | Should -Not -Throw
$null = Assert-SqlDscLogin -ServerObject $script:serverObject -Name 'sa' -ErrorAction 'Stop'
}

It 'Should not throw an error when using pipeline' {
{ $script:serverObject | Assert-SqlDscLogin -Name 'sa' } | Should -Not -Throw
$null = $script:serverObject | Assert-SqlDscLogin -Name 'sa' -ErrorAction 'Stop'
}

It 'Should not throw an error for NT AUTHORITY\SYSTEM login' {
{ Assert-SqlDscLogin -ServerObject $script:serverObject -Name 'NT AUTHORITY\SYSTEM' } | Should -Not -Throw
$null = Assert-SqlDscLogin -ServerObject $script:serverObject -Name 'NT AUTHORITY\SYSTEM' -ErrorAction 'Stop'
}

It 'Should not throw an error for SqlAdmin login' {
{ Assert-SqlDscLogin -ServerObject $script:serverObject -Name ('{0}\SqlAdmin' -f $script:computerName) } | Should -Not -Throw
$null = Assert-SqlDscLogin -ServerObject $script:serverObject -Name ('{0}\SqlAdmin' -f $script:computerName) -ErrorAction 'Stop'
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,20 +65,18 @@ Describe 'Connect-SqlDscDatabaseEngine' -Tag @('Integration_SQL2017', 'Integrati

Context 'When impersonating a Windows user' {
It 'Should return the correct result' {
{
$sqlAdministratorUserName = 'SqlAdmin' # Using computer name as NetBIOS name throw exception.
$sqlAdministratorPassword = ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force
$sqlAdministratorUserName = 'SqlAdmin' # Using computer name as NetBIOS name throw exception.
$sqlAdministratorPassword = ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force

$connectSqlDscDatabaseEngineParameters = @{
Credential = [System.Management.Automation.PSCredential]::new($sqlAdministratorUserName, $sqlAdministratorPassword)
Verbose = $true
ErrorAction = 'Stop'
}
$connectSqlDscDatabaseEngineParameters = @{
Credential = [System.Management.Automation.PSCredential]::new($sqlAdministratorUserName, $sqlAdministratorPassword)
Verbose = $true
ErrorAction = 'Stop'
}

$sqlServerObject = Connect-SqlDscDatabaseEngine @connectSqlDscDatabaseEngineParameters
$sqlServerObject = Connect-SqlDscDatabaseEngine @connectSqlDscDatabaseEngineParameters

$sqlServerObject.Status.ToString() | Should -Match '^Online$'
} | Should -Not -Throw
$sqlServerObject.Status.ToString() | Should -Match '^Online$'
}
}
}
Expand All @@ -92,42 +90,38 @@ Describe 'Connect-SqlDscDatabaseEngine' -Tag @('Integration_SQL2017', 'Integrati

Context 'When impersonating a Windows user' {
It 'Should return the correct result' {
{
$sqlAdministratorUserName = 'SqlAdmin' # Using computer name as NetBIOS name throw exception.
$sqlAdministratorPassword = ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force
$sqlAdministratorUserName = 'SqlAdmin' # Using computer name as NetBIOS name throw exception.
$sqlAdministratorPassword = ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force

$connectSqlDscDatabaseEngineParameters = @{
InstanceName = 'DSCSQLTEST'
Credential = [System.Management.Automation.PSCredential]::new($sqlAdministratorUserName, $sqlAdministratorPassword)
Verbose = $true
ErrorAction = 'Stop'
}
$connectSqlDscDatabaseEngineParameters = @{
InstanceName = 'DSCSQLTEST'
Credential = [System.Management.Automation.PSCredential]::new($sqlAdministratorUserName, $sqlAdministratorPassword)
Verbose = $true
ErrorAction = 'Stop'
}

$sqlServerObject = Connect-SqlDscDatabaseEngine @connectSqlDscDatabaseEngineParameters
$sqlServerObject = Connect-SqlDscDatabaseEngine @connectSqlDscDatabaseEngineParameters

$sqlServerObject.Status.ToString() | Should -Match '^Online$'
} | Should -Not -Throw
$sqlServerObject.Status.ToString() | Should -Match '^Online$'
}
}

Context 'When using a SQL login' {
It 'Should return the correct result' {
{
$sqlAdministratorUserName = 'sa'
$sqlAdministratorPassword = ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force

$connectSqlDscDatabaseEngineParameters = @{
InstanceName = 'DSCSQLTEST' # cSpell: disable-line
LoginType = 'SqlLogin'
Credential = [System.Management.Automation.PSCredential]::new($sqlAdministratorUserName, $sqlAdministratorPassword)
Verbose = $true
ErrorAction = 'Stop'
}

$sqlServerObject = Connect-SqlDscDatabaseEngine @connectSqlDscDatabaseEngineParameters

$sqlServerObject.Status.ToString() | Should -Match '^Online$'
} | Should -Not -Throw
$sqlAdministratorUserName = 'sa'
$sqlAdministratorPassword = ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force

$connectSqlDscDatabaseEngineParameters = @{
InstanceName = 'DSCSQLTEST' # cSpell: disable-line
LoginType = 'SqlLogin'
Credential = [System.Management.Automation.PSCredential]::new($sqlAdministratorUserName, $sqlAdministratorPassword)
Verbose = $true
ErrorAction = 'Stop'
}

$sqlServerObject = Connect-SqlDscDatabaseEngine @connectSqlDscDatabaseEngineParameters

$sqlServerObject.Status.ToString() | Should -Match '^Online$'
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,11 +148,11 @@ Describe 'ConvertTo-SqlDscEditionName' -Tag @('Integration_SQL2017', 'Integratio

Context 'When testing parameter validation' {
It 'Should accept minimum UInt32 value (0)' {
{ ConvertTo-SqlDscEditionName -Id 0 -ErrorAction 'Stop' } | Should -Not -Throw
$null = ConvertTo-SqlDscEditionName -Id 0 -ErrorAction 'Stop'
}

It 'Should accept maximum UInt32 value (4294967295)' {
{ ConvertTo-SqlDscEditionName -Id 4294967295 -ErrorAction 'Stop' } | Should -Not -Throw
$null = ConvertTo-SqlDscEditionName -Id 4294967295 -ErrorAction 'Stop'
}
}
}
Loading
Loading