@{scriptBlock={New-PSSession-SSHConnection@{UserName="UserName";KeyFilePath="path"}};testName='SSHConnection parmeter hashtable must contain the ComputerName parameter'}
@{scriptBlock={New-PSSession-SSHConnection@{ComputerName="computerA";hostname="computerB"}};testName='SSHConnection parameter hashtable cannot contain both ComputerName and HostName parameters'}
@{scriptBlock={New-PSSession-SSHConnection@{keyfilepath="pathA";IdentityFilePath="pathB"}};testName='SSHConnection parameter hashtable cannot contain both KeyFilePath and IdentityFilePath parameters'}
Describe"SSHConnection parameter hashtable type conversions"-Tags'Feature','Slow'{
BeforeAll{
# Port 49151 is IANA reserved, so it should not be in use. If type conversion fails
# then New-PSSession will throw before even attempting to open the session.
$TestCasesSSHConnection=@(
@{scriptBlock={New-PSSession-ErrorActionStop-SSHConnection@{Port=49151;ComputerName=[psobject]'localhost'}};testName='SSHConnection can convert PSObject to string'}
@{scriptBlock={New-PSSession-ErrorActionStop-SSHConnection@{Port=[psobject]49151;ComputerName='localhost'}};testName='SSHConnection can convert PSObject to int'}