MockConsole.ps1
class MockConsole { static [string] $MetasysHostPrompt = "Metasys Host" static [string] $UserNamePrompt = "UserName" static [string] $PasswordPrompt = "Password" static [string] $PathPrompt = "Path" static [String] $DefaultMetasysHost = "testhost" static [String] $DefaultUserName = "testuser" static [SecureString] $DefaultPassword = (ConvertTo-SecureString "testpassword" -AsPlainText) static [string] $DefaultPath = "/objects" [Hashtable]$Inputs = @{ } MockConsole() { $this.Inputs[[MockConsole]::MetasysHostPrompt] = [MockConsole]::DefaultMetasysHost $this.Inputs[[MockConsole]::UserNamePrompt] = [MockConsole]::DefaultUserName $this.Inputs[[MockConsole]::PasswordPrompt] = [MockConsole]::DefaultPassword $this.Inputs[[MockConsole]::PathPrompt] = [MockConsole]::DefaultPath } MockConsole([String]$SiteHost = $DefaultSiteHost, [string]$UserName = $DefaultUserName, [SecureString]$Password = $DefaultPassword) { $this.Inputs[[MockConsole]::MetasysHostPrompt] = $SiteHost $this.Inputs[[MockConsole]::UserNamePrompt] = $UserName $this.Inputs[[MockConsole]::PasswordPrompt] = $Password } [void] SetResponse([string]$Prompt, [object]$Response) { $this.Inputs[$Prompt] = $Response } [string] GetResponse([string]$Prompt) { return $this.Inputs[$Prompt] } [Object] ReadHost([String]$Prompt) { return $this.Inputs[$Prompt] } [String]GetUserName() { return $this.Inputs[[MockConsole]::UserNamePrompt] } [String]GetPasswordAsPlainText() { return $this.Inputs[[MockConsole]::PasswordPrompt] | ConvertFrom-SecureString -AsPlainText } [SecureString]GetPassword() { return $this.Inputs[[MockConsole]::PasswordPrompt] } [String]GetMetasysHost() { return $this.Inputs[[MockConsole]::MetasysHostPrompt] } } |