48 lines
2.5 KiB
PowerShell
48 lines
2.5 KiB
PowerShell
. $PSScriptRoot\..\..\Load-PesterModules.ps1
|
|
$here = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
$sut = (Split-Path -Leaf $MyInvocation.MyCommand.Path) -replace '\.tests\.', '.'
|
|
$functionPath = Join-Path -Path $here -ChildPath $sut
|
|
Write-Host "Overriding SUT: $functionPath"
|
|
Import-Module $functionPath -Force
|
|
$moduleForMock = ""
|
|
|
|
Describe "Main" {
|
|
|
|
$FAKE_ALKAMI_INSTALLATION_DRIVE = "A:"
|
|
$FAKE_SYSTEM_DRIVE = "T:"
|
|
Mock -CommandName Get-LogLeadName -ModuleName $moduleForMock -MockWith {}
|
|
Mock -CommandName Write-Host -ModuleName $moduleForMock -MockWith {}
|
|
Mock -CommandName Write-Warning -ModuleName $moduleForMock -MockWith {}
|
|
Mock -CommandName Write-Error -ModuleName $moduleForMock -MockWith {}
|
|
Mock -CommandName Get-EnvironmentVariable -ModuleName $moduleForMock -MockWith {}
|
|
|
|
Context "Happy_Path" {
|
|
It "Should_call_Get-LogLeadName" {
|
|
$result = Get-AlkamiInstallationDrive
|
|
Assert-MockCalled -CommandName Get-LogLeadName -Times 1 -Scope It
|
|
}
|
|
|
|
It "Should_get_ALKAMI_INSTALLATION_DRIVE_env_var" {
|
|
Mock -CommandName Get-EnvironmentVariable -ModuleName $moduleForMock -ParameterFilter { $Name -eq 'ALKAMI_INSTALLATION_DRIVE' } -MockWith { return $FAKE_ALKAMI_INSTALLATION_DRIVE }
|
|
|
|
$result = Get-AlkamiInstallationDrive
|
|
Assert-MockCalled -CommandName Get-EnvironmentVariable -Times 1 -Exactly -Scope It
|
|
Assert-MockCalled -CommandName Get-EnvironmentVariable -ParameterFilter { $Name -eq 'ALKAMI_INSTALLATION_DRIVE' } -Times 1 -Scope It
|
|
Assert-MockCalled -CommandName Get-EnvironmentVariable -ParameterFilter { $Name -eq 'SystemDrive' } -Times 0 -Exactly -Scope It
|
|
$result | Should -Be $FAKE_ALKAMI_INSTALLATION_DRIVE
|
|
}
|
|
|
|
}
|
|
Context "Unhappy_Path" {
|
|
It "Uses_SystemDrive_When_ALKAMI_INSTALLATION_DRIVE_is_nullorempty" {
|
|
Mock -CommandName Get-EnvironmentVariable -ModuleName $moduleForMock -ParameterFilter { $Name -eq 'ALKAMI_INSTALLATION_DRIVE' } -MockWith { return $null }
|
|
Mock -CommandName Get-EnvironmentVariable -ModuleName $moduleForMock -ParameterFilter { $Name -eq 'SystemDrive' } -MockWith { return $FAKE_SYSTEM_DRIVE }
|
|
|
|
$result = Get-AlkamiInstallationDrive
|
|
Assert-MockCalled -CommandName Get-EnvironmentVariable -Times 2 -Exactly -Scope It
|
|
Assert-MockCalled -CommandName Get-EnvironmentVariable -ParameterFilter { $Name -eq 'SystemDrive' } -Times 1 -Exactly -Scope It
|
|
$result | Should -Be $FAKE_SYSTEM_DRIVE
|
|
}
|
|
|
|
}
|
|
} |