Tests/LMAccessGroup.Tests.ps1
|
Describe 'AccessGroup Testing New/Get/Set/Remove' { BeforeAll { Import-Module $Module -Force . "$PSScriptRoot/Connect-LMTestAccount.ps1" Connect-LMTestAccount -DisableConsoleLogging -SkipCredValidation $script:TestSuffix = Get-LMTestSuffix $script:AccessGroupTestName = "AccessGroup.Build.Test.$($script:TestSuffix)" $script:AccessGroupUpdatedName = "AccessGroup.Build.Test.$($script:TestSuffix).Updated" } Describe 'New-LMAccessGroup' { It 'When given mandatory parameters, returns a created access group with matching values' { $Script:NewAccessGroup = New-LMAccessGroup -Name $script:AccessGroupTestName -Description "BuildTest" $Script:NewAccessGroup | Should -Not -BeNullOrEmpty $Script:NewAccessGroup.Name | Should -Be $script:AccessGroupTestName $Script:NewAccessGroup.Description | Should -Be "BuildTest" } } Describe 'Get-LMAccessGroup' { It 'When given no parameters, returns all access groups' { $AccessGroup = Get-LMAccessGroup ($AccessGroup | Measure-Object).Count | Should -BeGreaterThan 0 } It 'When given an id should return that access group' { $AccessGroup = Get-LMAccessGroup -Id $Script:NewAccessGroup.Id ($AccessGroup | Measure-Object).Count | Should -BeExactly 1 } It 'When given a name should return specified access group matching that name' { $AccessGroup = Get-LMAccessGroup -Name $Script:NewAccessGroup.Name ($AccessGroup | Measure-Object).Count | Should -BeExactly 1 } It 'When given a wildcard name should return all access groups matching that wildcard value' { $AccessGroup = Get-LMAccessGroup -Name "$(($Script:NewAccessGroup.Name.Split(".")[0]))*" ($AccessGroup | Measure-Object).Count | Should -BeGreaterThan 0 } } Describe 'Set-LMAccessGroup' { It 'When given a set of parameters, returns an updated access group with matching values' { { $AccessGroup = Set-LMAccessGroup -Id $Script:NewAccessGroup.Id -Description "Updated" -NewName $script:AccessGroupUpdatedName -ErrorAction Stop $AccessGroup.Description | Should -Be "Updated" $AccessGroup.Name | Should -Be $script:AccessGroupUpdatedName } | Should -Not -Throw } } Describe 'Remove-LMAccessGroup' { It 'When given an id, remove the access group from logic monitor' { { Remove-LMAccessGroup -Id $Script:NewAccessGroup.Id -ErrorAction Stop -Confirm:$false } | Should -Not -Throw } } AfterAll { Disconnect-LMAccount } } |