Skip to content

Commit e931436

Browse files
radu-cristea-15stefanhubertus
authored andcommitted
updated get-teamviewerrole function with permissions
1 parent c756e1d commit e931436

File tree

2 files changed

+35
-14
lines changed

2 files changed

+35
-14
lines changed

Cmdlets/Public/Get-TeamViewerRole.ps1

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,35 @@ function Get-TeamViewerRole {
33
param(
44
[Parameter(Mandatory = $true)]
55
[securestring]
6-
$ApiToken
6+
$ApiToken,
7+
8+
[switch]
9+
[Alias('ListPermissions')]
10+
$Permissions
711
)
812

9-
Begin{
10-
$parameters = @{ }
11-
$resourceUri = "$(Get-TeamViewerApiUri)/userroles"
13+
Begin {
14+
$parameters = @{ }
15+
$resourceUri = "$(Get-TeamViewerApiUri)/userroles"
16+
if ($Permissions) {
17+
$resourceUri += '/permissions'
18+
}
1219
}
1320

14-
Process{
15-
$response = Invoke-TeamViewerRestMethod `
16-
-ApiToken $ApiToken `
17-
-Uri $resourceUri `
18-
-Method Get `
19-
-Body $parameters `
20-
-WriteErrorTo $PSCmdlet `
21-
-ErrorAction Stop
22-
Write-Output ($response.Roles | ConvertTo-TeamViewerRole )
23-
}
21+
Process {
22+
$response = Invoke-TeamViewerRestMethod `
23+
-ApiToken $ApiToken `
24+
-Uri $resourceUri `
25+
-Method Get `
26+
-Body $parameters `
27+
-WriteErrorTo $PSCmdlet `
28+
-ErrorAction Stop
29+
if ($Permissions) {
30+
return [PSCustomObject] $response
31+
}
32+
else {
33+
Write-Output ($response.Roles | ConvertTo-TeamViewerRole )
34+
}
35+
}
2436
}
37+

Tests/Public/Get-TeamViewerRole.Tests.ps1

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,14 @@ Describe 'Get-TeamViewerRole' {
6161
$Uri -eq '//unit.test/userroles' -And `
6262
$Method -eq 'Get' }
6363
}
64+
It 'Should call the correct API endpoint to list permissions' {
65+
Get-TeamViewerRole -ApiToken $testApiToken -Permissions
66+
67+
Assert-MockCalled Invoke-TeamViewerRestMethod -Times 1 -Scope It -ParameterFilter {
68+
$ApiToken -eq $testApiToken -And `
69+
$Uri -eq '//unit.test/userroles/permissions' -And `
70+
$Method -eq 'Get' }
71+
}
6472

6573
It 'Should return Role objects' {
6674
$result = Get-TeamViewerRole -ApiToken $testApiToken

0 commit comments

Comments
 (0)