diff --git a/Pester/Functions/Get-VMCOrg.tests.1.ps1 b/Pester/Functions/Get-VMCOrg.tests.1.ps1 new file mode 100644 index 0000000..19d79fc --- /dev/null +++ b/Pester/Functions/Get-VMCOrg.tests.1.ps1 @@ -0,0 +1,73 @@ +#Requires -Modules Pester, VMware.VMC +$functionName = $MyInvocation.MyCommand.Name.TrimEnd(".Tests.ps1") +Import-Module -Name VMware.VimAutomation.Cis.Core + +Describe "$functionName" -Tag 'Unit' { + . "$PSScriptRoot/Shared.ps1" + + $global:DefaultVMCServers = $true + + $display_name = "MockedDisplayName" + $user_name = "MockedUserName" + $OrgName = "MockedDisplayName" + $created = "MockedDate" + $id = "MockedId" + $Service = "com.vmware.vmc.orgs" + + $MockedList = [PSCustomObject]@{ + "display_name" = $display_name + "name" = $OrgName + "created" = $created + "user_name" = $user_name + "id" = $id + } + #$object | Add-Member -MemberType ScriptMethod -Name "list" -Value { $MockedList } + + + $MockedArray = @() + $MockedArray += $MockedList + $MockedArray += $MockedList + + Mock -CommandName Get-VMCService -MockWith { $object } + + Context "Sanity checking" { + $command = Get-Command -Name $functionName + + defParam $command 'Name' + } + + Context "Behavior testing" { + It "calls get-service to com.vmware.vmc.orgs" { + { Get-VMCOrg -name $OrgName } | Should Not Throw + Assert-MockCalled -CommandName Get-VMCService -Times 1 -Scope It -ParameterFilter { $name -eq $Service } + } + # Testing a single SDDC response + It "gets the orgs via list method and returns the properties" { + $object = [PSCustomObject]@{} + $object | Add-Member -MemberType ScriptMethod -Name "list" -Value { $MockedList } + $(Get-VMCOrg -name $OrgName).display_name | Should -be $display_name + $(Get-VMCOrg -name $OrgName).name | Should -be $OrgName + $(Get-VMCOrg -name $OrgName).user_name | Should -be $user_name + $(Get-VMCOrg -name $OrgName).created | Should -be $created + $(Get-VMCOrg -name $OrgName).id | Should -be $id + } + # Testing the multiple SDDC response + It "calls the Connect-CisServer" { + $object = [PSCustomObject]@{} + $object | Add-Member -MemberType ScriptMethod -Name "list" -Value { $MockedArray } + { Get-VMCOrg -name $OrgName } | Should Not Throw + + $(Get-VMCOrg -name $OrgName)[0].display_name | Should -be $display_name + $(Get-VMCOrg -name $OrgName)[0].name | Should -be $OrgName + $(Get-VMCOrg -name $OrgName)[0].user_name | Should -be $user_name + $(Get-VMCOrg -name $OrgName)[0].created | Should -be $created + $(Get-VMCOrg -name $OrgName)[0].id | Should -be $id + + $(Get-VMCOrg -name $OrgName)[1].display_name | Should -be $display_name + $(Get-VMCOrg -name $OrgName)[1].name | Should -be $OrgName + $(Get-VMCOrg -name $OrgName)[1].user_name | Should -be $user_name + $(Get-VMCOrg -name $OrgName)[1].created | Should -be $created + $(Get-VMCOrg -name $OrgName)[1].id | Should -be $id + } + } +}