Migrated to Pester 5.1

Migrated to netcoreapp3.1
This commit is contained in:
Dimitar Milov
2021-02-16 19:10:43 +02:00
parent 5426af92b7
commit ef804e6a05
24 changed files with 187 additions and 168 deletions

View File

@@ -17,7 +17,7 @@ $PSModuleRoot = $PSModule.ModuleBase
$subModuleRoot = $PSModuleRoot $subModuleRoot = $PSModuleRoot
if (($PSVersionTable.Keys -contains "PSEdition") -and ($PSVersionTable.PSEdition -ne 'Desktop')) { if (($PSVersionTable.Keys -contains "PSEdition") -and ($PSVersionTable.PSEdition -ne 'Desktop')) {
$subModuleRoot = Join-Path -Path $PSModuleRoot -ChildPath 'netcoreapp2.0' $subModuleRoot = Join-Path -Path $PSModuleRoot -ChildPath 'netcoreapp3.1'
} }
else { else {
$subModuleRoot = Join-Path -Path $PSModuleRoot -ChildPath 'net45' $subModuleRoot = Join-Path -Path $PSModuleRoot -ChildPath 'net45'
@@ -1365,7 +1365,7 @@ function Add-ExternalDomainIdentitySource {
-BaseDNGroups 'CN=Users,DC=sof-powercli,DC=vmware,DC=com' ` -BaseDNGroups 'CN=Users,DC=sof-powercli,DC=vmware,DC=com' `
-Username 'sofPowercliAdmin' ` -Username 'sofPowercliAdmin' `
-Password '$up3R$Tr0Pa$$w0rD' ` -Password '$up3R$Tr0Pa$$w0rD' `
-ServerType 'OpenLDAP' -ServerType 'ActiveDirectory'
Adds External Identity Source Adds External Identity Source
#> #>
@@ -1445,7 +1445,7 @@ function Add-ExternalDomainIdentitySource {
ValueFromPipeline=$false, ValueFromPipeline=$false,
ValueFromPipelineByPropertyName=$false, ValueFromPipelineByPropertyName=$false,
HelpMessage='External domain server type')] HelpMessage='External domain server type')]
[ValidateSet('ActiveDirectory','OpenLdap','NIS')] [ValidateSet('ActiveDirectory')]
[string] [string]
$DomainServerType = 'ActiveDirectory', $DomainServerType = 'ActiveDirectory',
@@ -1609,7 +1609,7 @@ function Add-LDAPIdentitySource {
ValueFromPipeline=$false, ValueFromPipeline=$false,
ValueFromPipelineByPropertyName=$false, ValueFromPipelineByPropertyName=$false,
HelpMessage='Ldap Server type')] HelpMessage='Ldap Server type')]
[ValidateSet('ActiveDirectory','OpenLdap','NIS')] [ValidateSet('ActiveDirectory')]
[string] [string]
$ServerType, $ServerType,

View File

@@ -4,7 +4,7 @@
<RootNamespace>VMware.vSphere.LsClient</RootNamespace> <RootNamespace>VMware.vSphere.LsClient</RootNamespace>
<AssemblyName>VMware.vSphere.LsClient</AssemblyName> <AssemblyName>VMware.vSphere.LsClient</AssemblyName>
<Description>vSphere Lookup Service API client.</Description> <Description>vSphere Lookup Service API client.</Description>
<TargetFrameworks>net45;netcoreapp2.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp3.1</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net45'"> <ItemGroup Condition="'$(TargetFramework)' == 'net45'">
@@ -16,7 +16,7 @@
<PackageReference Include="System.ServiceModel.Security" Version="4.4.0" /> <PackageReference Include="System.ServiceModel.Security" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0'"> <ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
<PackageReference Include="VMware.System.Private.ServiceModel" Version="4.4.4" /> <PackageReference Include="VMware.System.Private.ServiceModel" Version="4.4.4" />
</ItemGroup> </ItemGroup>

View File

@@ -4,7 +4,7 @@
<RootNamespace>VMware.vSphere.SsoAdmin.Utils</RootNamespace> <RootNamespace>VMware.vSphere.SsoAdmin.Utils</RootNamespace>
<AssemblyName>VMware.vSphere.SsoAdmin.Utils</AssemblyName> <AssemblyName>VMware.vSphere.SsoAdmin.Utils</AssemblyName>
<Description>vSphere Lookup SsoAdmin utility types.</Description> <Description>vSphere Lookup SsoAdmin utility types.</Description>
<TargetFrameworks>net45;netcoreapp2.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp3.1</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net45'"> <ItemGroup Condition="'$(TargetFramework)' == 'net45'">
@@ -17,7 +17,7 @@
<PackageReference Include="Microsoft.PowerShell.5.ReferenceAssemblies" Version="1.0.0" /> <PackageReference Include="Microsoft.PowerShell.5.ReferenceAssemblies" Version="1.0.0" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0'"> <ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
<PackageReference Include="Microsoft.WSMan.Runtime" Version="6.1.0" /> <PackageReference Include="Microsoft.WSMan.Runtime" Version="6.1.0" />
<PackageReference Include="VMware.System.Private.ServiceModel" Version="4.4.4" /> <PackageReference Include="VMware.System.Private.ServiceModel" Version="4.4.4" />
</ItemGroup> </ItemGroup>

View File

@@ -693,6 +693,7 @@ namespace VMware.vSphere.SsoAdminClient
} }
} }
try {
authorizedInvocationContext. authorizedInvocationContext.
InvokeOperation(() => InvokeOperation(() =>
_ssoAdminBindingClient.RegisterLdapAsync( _ssoAdminBindingClient.RegisterLdapAsync(
@@ -709,6 +710,9 @@ namespace VMware.vSphere.SsoAdminClient
username = authenticationUserName, username = authenticationUserName,
password = authenticationPassword password = authenticationPassword
})).Wait(); })).Wait();
} catch (AggregateException e) {
throw e.InnerException;
}
} }
public IEnumerable<IdentitySource> GetDomains() { public IEnumerable<IdentitySource> GetDomains() {

View File

@@ -4,14 +4,14 @@
<RootNamespace>VMware.vSphere.SsoAdminClient</RootNamespace> <RootNamespace>VMware.vSphere.SsoAdminClient</RootNamespace>
<AssemblyName>VMware.vSphere.SsoAdminClient</AssemblyName> <AssemblyName>VMware.vSphere.SsoAdminClient</AssemblyName>
<Description>SSO Admin API client.</Description> <Description>SSO Admin API client.</Description>
<TargetFrameworks>net45;netcoreapp2.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp3.1</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net45' "> <PropertyGroup Condition=" '$(TargetFramework)' == 'net45' ">
<DefineConstants>$(DefineConstants);NET45</DefineConstants> <DefineConstants>$(DefineConstants);NET45</DefineConstants>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' "> <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
<DefineConstants>$(DefineConstants);NETCORE20</DefineConstants> <DefineConstants>$(DefineConstants);NETCORE20</DefineConstants>
</PropertyGroup> </PropertyGroup>
@@ -24,7 +24,7 @@
<PackageReference Include="System.ServiceModel.Security" Version="4.4.0" /> <PackageReference Include="System.ServiceModel.Security" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0'"> <ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
<PackageReference Include="VMware.System.Private.ServiceModel" Version="4.4.4" /> <PackageReference Include="VMware.System.Private.ServiceModel" Version="4.4.4" />
</ItemGroup> </ItemGroup>

View File

@@ -98,7 +98,7 @@ param($OutputFolder)
"VMware.vSphere.SsoAdmin.Utils.dll") "VMware.vSphere.SsoAdmin.Utils.dll")
$netcoreTarget = Join-Path $OutputFolder "netcoreapp2.0" $netcoreTarget = Join-Path $OutputFolder "netcoreapp3.1"
$net45Target = Join-Path $OutputFolder "net45" $net45Target = Join-Path $OutputFolder "net45"
Copy-Item -Path $netcoreLsSource -Destination $netcoreTarget -Force Copy-Item -Path $netcoreLsSource -Destination $netcoreTarget -Force

View File

@@ -38,11 +38,11 @@ Describe "Connect-SsoAdminServer and Disconnect-SsoAdminServer Tests" {
-SkipCertificateCheck -SkipCertificateCheck
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.GetType().FullName | Should Be 'VMware.vSphere.SsoAdminClient.DataTypes.SsoAdminServer' $actual.GetType().FullName | Should -Be 'VMware.vSphere.SsoAdminClient.DataTypes.SsoAdminServer'
$actual.IsConnected | Should Be $true $actual.IsConnected | Should -Be $true
$actual.Name | Should Be $VcAddress $actual.Name | Should -Be $VcAddress
$global:DefaultSsoAdminServers | Should Contain $actual $global:DefaultSsoAdminServers | Should -Contain $actual
} }
It 'Connect-SsoAdminServer throws error on invalid password' { It 'Connect-SsoAdminServer throws error on invalid password' {
@@ -82,8 +82,8 @@ Describe "Connect-SsoAdminServer and Disconnect-SsoAdminServer Tests" {
$expected | Disconnect-SsoAdminServer $expected | Disconnect-SsoAdminServer
# Assert # Assert
$global:DefaultSsoAdminServers | Should Not Contain $expected $global:DefaultSsoAdminServers | Should -Not -Contain $expected
$expected.IsConnected | Should Be $false $expected.IsConnected | Should -Be $false
} }
It 'Diconnect-SsoAdminServer disconnects the currently connected SSO in case there is 1 SSO server' { It 'Diconnect-SsoAdminServer disconnects the currently connected SSO in case there is 1 SSO server' {
@@ -98,8 +98,8 @@ Describe "Connect-SsoAdminServer and Disconnect-SsoAdminServer Tests" {
Disconnect-SsoAdminServer -server $expected Disconnect-SsoAdminServer -server $expected
# Assert # Assert
$global:DefaultSsoAdminServers | Should Not Contain $expected $global:DefaultSsoAdminServers | Should -Not -Contain $expected
$expected.IsConnected | Should Be $false $expected.IsConnected | Should -Be $false
} }
It 'Diconnect-SsoAdminServer does not disconnect if connected to more than 1 SSO server' { It 'Diconnect-SsoAdminServer does not disconnect if connected to more than 1 SSO server' {
@@ -118,13 +118,13 @@ Describe "Connect-SsoAdminServer and Disconnect-SsoAdminServer Tests" {
# Act # Act
# Assert # Assert
$connection2 | Should Be $connection1 $connection2 | Should -Be $connection1
$connection2.RefCount | Should Be 2 $connection2.RefCount | Should -Be 2
Disconnect-SsoAdminServer Disconnect-SsoAdminServer
$connection2.IsConnected | Should -Contain $true $connection2.IsConnected | Should -Contain $true
$connection2.RefCount | Should Be 1 $connection2.RefCount | Should -Be 1
} }
It 'Diconnect-SsoAdminServer does disconnect via pipeline if connected to more than 1 SSO server' { It 'Diconnect-SsoAdminServer does disconnect via pipeline if connected to more than 1 SSO server' {
@@ -143,9 +143,9 @@ Describe "Connect-SsoAdminServer and Disconnect-SsoAdminServer Tests" {
# Act # Act
$connection1, $connection2 | Disconnect-SsoAdminServer $connection1, $connection2 | Disconnect-SsoAdminServer
# Assert # Assert
$global:DefaultSsoAdminServers.Count | Should Be 0 $global:DefaultSsoAdminServers.Count | Should -Be 0
$connection1.IsConnected | Should Be $false $connection1.IsConnected | Should -Be $false
$connection2.IsConnected | Should Be $false $connection2.IsConnected | Should -Be $false
} }
It 'Disconnects disconnected object' { It 'Disconnects disconnected object' {
@@ -163,8 +163,8 @@ Describe "Connect-SsoAdminServer and Disconnect-SsoAdminServer Tests" {
Should Not Throw Should Not Throw
# Assert # Assert
$global:DefaultSsoAdminServers | Should Not Contain $expected $global:DefaultSsoAdminServers | Should -Not -Contain $expected
$expected.IsConnected | Should Be $false $expected.IsConnected | Should -Be $false
} }
It 'Disconnects DefaultSsoAdminServers when * is specified on -Server parameter' { It 'Disconnects DefaultSsoAdminServers when * is specified on -Server parameter' {
@@ -180,8 +180,8 @@ Describe "Connect-SsoAdminServer and Disconnect-SsoAdminServer Tests" {
# Assert # Assert
$global:DefaultSsoAdminServers.Count | Should Be 0 $global:DefaultSsoAdminServers.Count | Should -Be 0
$expected.IsConnected | Should Be $false $expected.IsConnected | Should -Be $false
} }
It 'Disconnects server specified as string that is equal to VC Address' { It 'Disconnects server specified as string that is equal to VC Address' {
@@ -197,8 +197,8 @@ Describe "Connect-SsoAdminServer and Disconnect-SsoAdminServer Tests" {
# Assert # Assert
$global:DefaultSsoAdminServers.Count | Should Be 0 $global:DefaultSsoAdminServers.Count | Should -Be 0
$expected.IsConnected | Should Be $false $expected.IsConnected | Should -Be $false
} }
It 'Disconnect-SsoAdminServer fails when string that does not match any servers is specified' { It 'Disconnect-SsoAdminServer fails when string that does not match any servers is specified' {
@@ -210,13 +210,13 @@ Describe "Connect-SsoAdminServer and Disconnect-SsoAdminServer Tests" {
-SkipCertificateCheck -SkipCertificateCheck
# Act # Act
{ Disconnect-SsoAdminServer -Server "testserver" } | Should Throw { Disconnect-SsoAdminServer -Server "testserver" } | Should -Throw
# Assert # Assert
$global:DefaultSsoAdminServers.Count | Should Be 1 $global:DefaultSsoAdminServers.Count | Should -Be 1
$global:DefaultSsoAdminServers[0] | Should Be $expected $global:DefaultSsoAdminServers[0] | Should -Be $expected
$expected.IsConnected | Should Be $true $expected.IsConnected | Should -Be $true
# Cleanup # Cleanup
Disconnect-SsoAdminServer -Server $expected Disconnect-SsoAdminServer -Server $expected

View File

@@ -42,10 +42,10 @@ Describe "Get-SsoGroup Tests" {
$actual = Get-SsoGroup $actual = Get-SsoGroup
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.Count | Should BeGreaterThan 0 $actual.Count | Should -BeGreaterThan 0
$actual[0].Name | Should Not Be $null $actual[0].Name | Should -Not -Be $null
$actual[0].Domain | Should Be 'localos' $actual[0].Domain | Should -Be 'localos'
} }
It 'Gets groups for default domain' { It 'Gets groups for default domain' {
@@ -64,10 +64,10 @@ Describe "Get-SsoGroup Tests" {
-Domain $newPersonUser.Domain -Domain $newPersonUser.Domain
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.Count | Should BeGreaterThan 0 $actual.Count | Should -BeGreaterThan 0
$actual[0].Name | Should Not Be $null $actual[0].Name | Should -Not -Be $null
$actual[0].Domain | Should Be $newPersonUser.Domain $actual[0].Domain | Should -Be $newPersonUser.Domain
# Cleanup # Cleanup
Remove-SsoPersonUser -User $newPersonUser Remove-SsoPersonUser -User $newPersonUser

View File

@@ -42,9 +42,9 @@ Describe "Get-IdentitySource Tests" {
$actual = Get-IdentitySource $actual = Get-IdentitySource
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.Count | Should BeGreaterThan 1 $actual.Count | Should -BeGreaterThan 1
$actual[0].NAme | Should Be 'localos' $actual[0].NAme | Should -Be 'localos'
} }
It 'Gets localos only identity source' { It 'Gets localos only identity source' {
@@ -52,9 +52,9 @@ Describe "Get-IdentitySource Tests" {
$actual = Get-IdentitySource -Localos $actual = Get-IdentitySource -Localos
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.Count | Should Be 1 $actual.Count | Should -Be 1
$actual[0].NAme | Should Be 'localos' $actual[0].Name | Should -Be 'localos'
} }
It 'Gets all available identity sources' { It 'Gets all available identity sources' {
@@ -62,10 +62,10 @@ Describe "Get-IdentitySource Tests" {
$actual = Get-IdentitySource -Localos -System $actual = Get-IdentitySource -Localos -System
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.Count | Should Be 2 $actual.Count | Should -Be 2
$actual[0].Name | Should Be 'localos' $actual[0].Name | Should -Be 'localos'
$actual[0].Name | Should Not Be $null $actual[0].Name | Should -Not -Be $null
} }
} }
} }

View File

@@ -42,7 +42,7 @@ Describe "LockoutPolicy Tests" {
$actual = Get-SsoLockoutPolicy $actual = Get-SsoLockoutPolicy
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
} }
} }
@@ -60,11 +60,11 @@ Describe "LockoutPolicy Tests" {
-MaxFailedAttempts $expectedMaxFailedAttempts -MaxFailedAttempts $expectedMaxFailedAttempts
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.AutoUnlockIntervalSec | Should Be $expectedAutoUnlockIntervalSec $actual.AutoUnlockIntervalSec | Should -Be $expectedAutoUnlockIntervalSec
$actual.MaxFailedAttempts | Should Be $expectedMaxFailedAttempts $actual.MaxFailedAttempts | Should -Be $expectedMaxFailedAttempts
$actual.FailedAttemptIntervalSec | Should Be $lockoutPolicyToUpdate.FailedAttemptIntervalSec $actual.FailedAttemptIntervalSec | Should -Be $lockoutPolicyToUpdate.FailedAttemptIntervalSec
$actual.Description | Should Be $lockoutPolicyToUpdate.Description $actual.Description | Should -Be $lockoutPolicyToUpdate.Description
# Cleanup # Cleanup
$lockoutPolicyToUpdate | Set-SsoLockoutPolicy $lockoutPolicyToUpdate | Set-SsoLockoutPolicy

View File

@@ -40,8 +40,8 @@ Describe "Lookup Service Client Integration Tests" {
$actual = $script:lsClient.GetSsoAdminEndpointUri() $actual = $script:lsClient.GetSsoAdminEndpointUri()
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.ToString().StartsWith("https://$VCAddress/sso-adminserver/sdk/") | Should Be $true $actual.ToString().StartsWith("https://$VCAddress/sso-adminserver/sdk/") | Should -Be $true
} }
It 'Gets STS API Url' { It 'Gets STS API Url' {
@@ -49,8 +49,8 @@ Describe "Lookup Service Client Integration Tests" {
$actual = $script:lsClient.GetStsEndpointUri() $actual = $script:lsClient.GetStsEndpointUri()
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.ToString().StartsWith("https://$VCAddress/sts/STSService") | Should Be $true $actual.ToString().StartsWith("https://$VCAddress/sts/STSService") | Should -Be $true
} }
} }
} }

View File

@@ -42,7 +42,7 @@ Describe "PasswordPolicy Tests" {
$actual = Get-SsoPasswordPolicy $actual = Get-SsoPasswordPolicy
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
} }
} }
@@ -60,18 +60,18 @@ Describe "PasswordPolicy Tests" {
-PasswordLifetimeDays $expectedPasswordLifetimeDays -PasswordLifetimeDays $expectedPasswordLifetimeDays
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.MaxLength | Should Be $expectedMaxLength $actual.MaxLength | Should -Be $expectedMaxLength
$actual.PasswordLifetimeDays | Should Be $expectedPasswordLifetimeDays $actual.PasswordLifetimeDays | Should -Be $expectedPasswordLifetimeDays
$actual.Description | Should Be $passwordPolicyToUpdate.Description $actual.Description | Should -Be $passwordPolicyToUpdate.Description
$actual.ProhibitedPreviousPasswordsCount | Should Be $passwordPolicyToUpdate.ProhibitedPreviousPasswordsCount $actual.ProhibitedPreviousPasswordsCount | Should -Be $passwordPolicyToUpdate.ProhibitedPreviousPasswordsCount
$actual.MinLength | Should Be $passwordPolicyToUpdate.MinLength $actual.MinLength | Should -Be $passwordPolicyToUpdate.MinLength
$actual.MaxIdenticalAdjacentCharacters | Should Be $passwordPolicyToUpdate.MaxIdenticalAdjacentCharacters $actual.MaxIdenticalAdjacentCharacters | Should -Be $passwordPolicyToUpdate.MaxIdenticalAdjacentCharacters
$actual.MinNumericCount | Should Be $passwordPolicyToUpdate.MinNumericCount $actual.MinNumericCount | Should -Be $passwordPolicyToUpdate.MinNumericCount
$actual.MinSpecialCharCount | Should Be $passwordPolicyToUpdate.MinSpecialCharCount $actual.MinSpecialCharCount | Should -Be $passwordPolicyToUpdate.MinSpecialCharCount
$actual.MinAlphabeticCount | Should Be $passwordPolicyToUpdate.MinAlphabeticCount $actual.MinAlphabeticCount | Should -Be $passwordPolicyToUpdate.MinAlphabeticCount
$actual.MinUppercaseCount | Should Be $passwordPolicyToUpdate.MinUppercaseCount $actual.MinUppercaseCount | Should -Be $passwordPolicyToUpdate.MinUppercaseCount
$actual.MinLowercaseCount | Should Be $passwordPolicyToUpdate.MinLowercaseCount $actual.MinLowercaseCount | Should -Be $passwordPolicyToUpdate.MinLowercaseCount
# Cleanup # Cleanup
$passwordPolicyToUpdate | Set-SsoPasswordPolicy $passwordPolicyToUpdate | Set-SsoPasswordPolicy
@@ -89,18 +89,18 @@ Describe "PasswordPolicy Tests" {
-MinUppercaseCount $expectedMinUppercaseCount -MinUppercaseCount $expectedMinUppercaseCount
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.Description | Should Be $expectedDescription $actual.Description | Should -Be $expectedDescription
$actual.MinUppercaseCount | Should Be $expectedMinUppercaseCount $actual.MinUppercaseCount | Should -Be $expectedMinUppercaseCount
$actual.MaxLength | Should Be $passwordPolicyToUpdate.MaxLength $actual.MaxLength | Should -Be $passwordPolicyToUpdate.MaxLength
$actual.PasswordLifetimeDays | Should Be $passwordPolicyToUpdate.PasswordLifetimeDays $actual.PasswordLifetimeDays | Should -Be $passwordPolicyToUpdate.PasswordLifetimeDays
$actual.ProhibitedPreviousPasswordsCount | Should Be $passwordPolicyToUpdate.ProhibitedPreviousPasswordsCount $actual.ProhibitedPreviousPasswordsCount | Should -Be $passwordPolicyToUpdate.ProhibitedPreviousPasswordsCount
$actual.MinLength | Should Be $passwordPolicyToUpdate.MinLength $actual.MinLength | Should -Be $passwordPolicyToUpdate.MinLength
$actual.MaxIdenticalAdjacentCharacters | Should Be $passwordPolicyToUpdate.MaxIdenticalAdjacentCharacters $actual.MaxIdenticalAdjacentCharacters | Should -Be $passwordPolicyToUpdate.MaxIdenticalAdjacentCharacters
$actual.MinNumericCount | Should Be $passwordPolicyToUpdate.MinNumericCount $actual.MinNumericCount | Should -Be $passwordPolicyToUpdate.MinNumericCount
$actual.MinSpecialCharCount | Should Be $passwordPolicyToUpdate.MinSpecialCharCount $actual.MinSpecialCharCount | Should -Be $passwordPolicyToUpdate.MinSpecialCharCount
$actual.MinAlphabeticCount | Should Be $passwordPolicyToUpdate.MinAlphabeticCount $actual.MinAlphabeticCount | Should -Be $passwordPolicyToUpdate.MinAlphabeticCount
$actual.MinLowercaseCount | Should Be $passwordPolicyToUpdate.MinLowercaseCount $actual.MinLowercaseCount | Should -Be $passwordPolicyToUpdate.MinLowercaseCount
# Cleanup # Cleanup
$passwordPolicyToUpdate | Set-SsoPasswordPolicy $passwordPolicyToUpdate | Set-SsoPasswordPolicy

View File

@@ -63,14 +63,14 @@ Describe "PersonUser Tests" {
$script:usersToCleanup += $actual $script:usersToCleanup += $actual
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.GetType().FullName | Should Be 'VMware.vSphere.SsoAdminClient.DataTypes.PersonUser' $actual.GetType().FullName | Should -Be 'VMware.vSphere.SsoAdminClient.DataTypes.PersonUser'
$actual.Name | Should Be $expectedUserName $actual.Name | Should -Be $expectedUserName
$actual.Domain | Should Not Be $null $actual.Domain | Should -Not -Be $null
$actual.Description | Should Be $expectedDescription $actual.Description | Should -Be $expectedDescription
$actual.FirstName | Should Be $expectedFirstName $actual.FirstName | Should -Be $expectedFirstName
$actual.LastName | Should Be $expectedLastName $actual.LastName | Should -Be $expectedLastName
$actual.EmailAddress | Should Be $expectedEmailAddress $actual.EmailAddress | Should -Be $expectedEmailAddress
} }
It 'Creates person user without details' { It 'Creates person user without details' {
@@ -92,14 +92,14 @@ Describe "PersonUser Tests" {
$script:usersToCleanup += $actual $script:usersToCleanup += $actual
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.GetType().FullName | Should Be 'VMware.vSphere.SsoAdminClient.DataTypes.PersonUser' $actual.GetType().FullName | Should -Be 'VMware.vSphere.SsoAdminClient.DataTypes.PersonUser'
$actual.Name | Should Be $expectedUserName $actual.Name | Should -Be $expectedUserName
$actual.Domain | Should Not Be $null $actual.Domain | Should -Not -Be $null
$actual.Description | Should Be $null $actual.Description | Should -Be $null
$actual.FirstName | Should Be $null $actual.FirstName | Should -Be $null
$actual.LastName | Should Be $null $actual.LastName | Should -Be $null
$actual.EmailAddress | Should Be $null $actual.EmailAddress | Should -Be $null
} }
} }
@@ -116,10 +116,10 @@ Describe "PersonUser Tests" {
$actual = Get-SsoPersonUser $actual = Get-SsoPersonUser
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.Count | Should BeGreaterThan 0 $actual.Count | Should -BeGreaterThan 0
$actual[0].Name | Should Not Be $null $actual[0].Name | Should -Not -Be $null
$actual[0].Domain | Should Be 'localos' $actual[0].Domain | Should -Be 'localos'
} }
It 'Gets person users by name (exact match) and domain filters' { It 'Gets person users by name (exact match) and domain filters' {
@@ -153,10 +153,10 @@ Describe "PersonUser Tests" {
-Server $connection -Server $connection
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.Name | Should Be $expectedUserName $actual.Name | Should -Be $expectedUserName
$actual.Domain | Should Not Be $null $actual.Domain | Should -Not -Be $null
$actual.Domain | Should Be $personUserToSearch.Domain $actual.Domain | Should -Be $personUserToSearch.Domain
} }
It 'Gets person users by name (* wildcard match) and domain filters' { It 'Gets person users by name (* wildcard match) and domain filters' {
@@ -190,10 +190,10 @@ Describe "PersonUser Tests" {
-Server $connection -Server $connection
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.Count | Should Be 2 $actual.Count | Should -Be 2
$actual.Name | Should Contain $expectedUserName $actual.Name | Should -Contain $expectedUserName
$actual.Name | Should Contain $secondUserName $actual.Name | Should -Contain $secondUserName
} }
It 'Gets person users by name (? wildcard match) and domain filters' { It 'Gets person users by name (? wildcard match) and domain filters' {
@@ -227,10 +227,10 @@ Describe "PersonUser Tests" {
-Server $connection -Server $connection
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.Count | Should Be 2 $actual.Count | Should -Be 2
$actual.Name | Should Contain $expectedUserName $actual.Name | Should -Contain $expectedUserName
$actual.Name | Should Contain $secondUserName $actual.Name | Should -Contain $secondUserName
} }
It 'Gets person users by unexisting name does not return' { It 'Gets person users by unexisting name does not return' {
@@ -258,7 +258,7 @@ Describe "PersonUser Tests" {
-Server $connection -Server $connection
# Assert # Assert
$actual | Should Be $null $actual | Should -Be $null
} }
} }
@@ -292,7 +292,7 @@ Describe "PersonUser Tests" {
-Add -Add
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
} }
It 'Removes person user from group' { It 'Removes person user from group' {
@@ -329,7 +329,7 @@ Describe "PersonUser Tests" {
-Remove -Remove
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
} }
It 'Resets person user password' { It 'Resets person user password' {
@@ -356,7 +356,7 @@ Describe "PersonUser Tests" {
-NewPassword $newPassword -NewPassword $newPassword
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
} }
It 'Unlocks not locked person user' { It 'Unlocks not locked person user' {
@@ -382,7 +382,7 @@ Describe "PersonUser Tests" {
-Unlock -Unlock
# Assert # Assert
$actual | Should Be $null $actual | Should -Be $null
} }
} }
@@ -407,12 +407,12 @@ Describe "PersonUser Tests" {
Remove-SsoPersonUser -User $personUserToRemove Remove-SsoPersonUser -User $personUserToRemove
# Assert # Assert
$personUserToRemove | Should Not Be $null $personUserToRemove | Should -Not -Be $null
$userFromServer = Get-SsoPersonUser ` $userFromServer = Get-SsoPersonUser `
-Name $personUserToRemove.Name ` -Name $personUserToRemove.Name `
-Domain $personUserToRemove.Domain ` -Domain $personUserToRemove.Domain `
-Server $connection -Server $connection
$userFromServer | Should Be $null $userFromServer | Should -Be $null
} }
} }
} }

View File

@@ -17,20 +17,35 @@ param(
) )
function Test-PesterIsAvailable() { function Test-PesterIsAvailable() {
$pesterModule = Get-Module Pester -List $pesterModules = Get-Module Pester -ListAvailable
if ($pesterModule -eq $null) { $pesterModule = $null
throw "Pester Module is not available" # Search for Pester 4.X
foreach ($p in $pesterModules) {
if ($p.Version -ge [version]"5.0.0") {
$pesterModule = $p
break
} }
}
if ($pesterModule -eq $null) {
throw "Pester Module version 5.X is not available"
}
Import-Module -Name $pesterModule.Name -RequiredVersion $pesterModule.RequiredVersion
} }
Test-PesterIsAvailable Test-PesterIsAvailable
Invoke-Pester ` $testsData = @{
-Script @{
Path = $PSScriptRoot
Parameters = @{
VcAddress = $VcAddress VcAddress = $VcAddress
User = $User User = $User
Password = $Password Password = $Password
} }
}
$pesterContainer = New-PesterContainer -Path $PSScriptRoot -Data $testsData
$pesterConfiguration = [PesterConfiguration]::Default
$pesterConfiguration.Run.Path = $PSScriptRoot
$pesterConfiguration.Run.Container = $pesterContainer
Invoke-Pester -Configuration $pesterConfiguration

View File

@@ -42,9 +42,9 @@ Describe "TokenLifetime Tests" {
$actual = Get-SsoTokenLifetime $actual = Get-SsoTokenLifetime
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.MaxHoKTokenLifetime | Should BeGreaterThan 0 $actual.MaxHoKTokenLifetime | Should -BeGreaterThan 0
$actual.MaxBearerTokenLifetime | Should BeGreaterThan 0 $actual.MaxBearerTokenLifetime | Should -BeGreaterThan 0
} }
} }
@@ -62,9 +62,9 @@ Describe "TokenLifetime Tests" {
-MaxBearerTokenLifetime $expectedMaxBearerTokenLifetime -MaxBearerTokenLifetime $expectedMaxBearerTokenLifetime
# Assert # Assert
$actual | Should Not Be $null $actual | Should -Not -Be $null
$actual.MaxHoKTokenLifetime | Should Be $expectedMaxHoKTokenLifetime $actual.MaxHoKTokenLifetime | Should -Be $expectedMaxHoKTokenLifetime
$actual.MaxBearerTokenLifetime | Should Be $expectedMaxBearerTokenLifetime $actual.MaxBearerTokenLifetime | Should -Be $expectedMaxBearerTokenLifetime
# Cleanup # Cleanup
$tokenLifetimeToUpdate | Set-SsoTokenLifetime ` $tokenLifetimeToUpdate | Set-SsoTokenLifetime `