Skip to content

Commit a7ba2b8

Browse files
committed
Remove obsolete test case for non-existent database in Set-SqlDscDatabaseOwner and add mandatory parameter checks for ServerObject and DatabaseObject
1 parent 9559d31 commit a7ba2b8

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed

tests/Unit/Public/Set-SqlDscDatabaseOwner.Tests.ps1

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -359,23 +359,6 @@ Describe 'Set-SqlDscDatabaseOwner' -Tag 'Public' {
359359
}
360360
}
361361

362-
Context 'When database does not exist' {
363-
BeforeAll {
364-
$mockServerObject = New-Object -TypeName 'Microsoft.SqlServer.Management.Smo.Server'
365-
$mockServerObject | Add-Member -MemberType 'NoteProperty' -Name 'InstanceName' -Value 'TestInstance' -Force
366-
$mockServerObject | Add-Member -MemberType 'ScriptProperty' -Name 'Databases' -Value {
367-
return @{} | Add-Member -MemberType 'ScriptMethod' -Name 'Refresh' -Value {
368-
# Mock implementation
369-
} -PassThru -Force
370-
} -Force
371-
}
372-
373-
It 'Should throw error when database does not exist' {
374-
{ Set-SqlDscDatabaseOwner -ServerObject $mockServerObject -Name 'NonExistentDatabase' -OwnerName 'sa' -Force } |
375-
Should -Throw -ExpectedMessage '*Database * was not found*'
376-
}
377-
}
378-
379362
Context 'Parameter validation' {
380363
It 'Should have the correct parameters in parameter set ServerObjectSet' -ForEach @(
381364
@{
@@ -449,5 +432,15 @@ Describe 'Set-SqlDscDatabaseOwner' -Tag 'Public' {
449432
$dropExistingUserParam | Should -Not -BeNullOrEmpty
450433
$dropExistingUserParam.ParameterType.Name | Should -Be 'SwitchParameter'
451434
}
435+
436+
It 'Should have ServerObject as a mandatory parameter in ServerObjectSet' {
437+
$param = (Get-Command -Name 'Set-SqlDscDatabaseOwner').Parameters['ServerObject']
438+
($param.Attributes | Where-Object { $_ -is [System.Management.Automation.ParameterAttribute] -and $_.ParameterSetName -eq 'ServerObjectSet' }).Mandatory | Should -BeTrue
439+
}
440+
441+
It 'Should have DatabaseObject as a mandatory parameter in DatabaseObjectSet' {
442+
$param = (Get-Command -Name 'Set-SqlDscDatabaseOwner').Parameters['DatabaseObject']
443+
($param.Attributes | Where-Object { $_ -is [System.Management.Automation.ParameterAttribute] -and $_.ParameterSetName -eq 'DatabaseObjectSet' }).Mandatory | Should -BeTrue
444+
}
452445
}
453446
}

0 commit comments

Comments
 (0)