Skip to content

Commit

Permalink
Get-TssFolder - param rename, update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
wsmelton committed Dec 29, 2020
1 parent db16f0f commit d12ac57
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/functions/Get-TssFolder.ps1
Expand Up @@ -46,7 +46,7 @@
[Parameter(ParameterSetName = 'filter')]
[Alias("GetAllChildren")]
[switch]
$Recurse,
$GetChildren,

# Include allowable Secret Templates of the requested folder
[Parameter(ParameterSetName = 'filter')]
Expand All @@ -68,7 +68,7 @@
foreach ($folder in $Id) {
$restResponse = $null
$uri = $TssSession.SecretServer + ($TssSession.ApiVersion, "folders", $folder.ToString() -join '/')
$uri = $uri + '?' + "getAllChildren=$Recurse" + "&" + "includeAssociatedTemplates=$IncludeTemplates"
$uri = $uri + '?' + "getAllChildren=$GetChildren" + "&" + "includeAssociatedTemplates=$IncludeTemplates"

$invokeParams.Uri = $Uri
$invokeParams.Method = 'GET'
Expand Down
30 changes: 29 additions & 1 deletion tests/functions/Get-TssFolder.Tests.ps1
Expand Up @@ -4,7 +4,7 @@
}
Describe "$commandName verify parameters" {
BeforeDiscovery {
[object[]]$knownParameters = 'TssSession','Id','Recurse','IncludeTemplates','Raw'
[object[]]$knownParameters = 'TssSession','Id','GetChildren','IncludeTemplates','Raw'
[object[]]$currentParams = ([Management.Automation.CommandMetaData]$ExecutionContext.SessionState.InvokeCommand.GetCommand($commandName, 'Function')).Parameters.Keys
[object[]]$commandDetails = [System.Management.Automation.CommandInfo]$ExecutionContext.SessionState.InvokeCommand.GetCommand($commandName,'Function')
$unknownParameters = Compare-Object -ReferenceObject $knownParameters -DifferenceObject $currentParams -PassThru
Expand All @@ -22,4 +22,32 @@
$_.OutputType.Name | Should -Be 'TssFolderTemplate'
}
}
}
Describe "$commandName works" {
BeforeDiscovery {
$session = New-TssSession -SecretServer $ss -Credential $ssCred

$invokeParams = @{
Uri = "$ss/api/v1/folders?take=$($session.take)"
ExpandProperty = 'records'
PersonalAccessToken = $session.AccessToken
}
$getFolders = Invoke-TssRestApi @invokeParams
$tssSecretFolder = $getFolders.Where({$_.folderPath -eq '\tss_module_testing'})

$object = Get-TssFolder $session -Id $tssSecretFolder.Id -GetChildren
$session.SessionExpire()
$props = 'Id','FolderName','ChildFolders','SecretTemplates'
}
Context "Checking" -Foreach @{object = $object} {
It "Should not be empty" {
$object | Should -Not -BeNullOrEmpty
}
It "Should find one child folder" {
$object.ChildFolders | Should -Not -BeNullOrEmpty
}
It "Should output <_> property" -TestCases $props {
$object.PSObject.Properties.Name | Should -Contain $_
}
}
}

0 comments on commit d12ac57

Please sign in to comment.