ps/Modules/Alkami.PowerShell.Common/Public/Backup-ORBLogFiles.tests.ps1

42 lines
1.9 KiB
PowerShell
Raw Normal View History

2023-05-30 22:51:22 -07:00
. $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 "Backup-ORBLogFiles" {
$logDirectory = "TestDrive:\orblogs"
Mock -CommandName Write-Warning -ModuleName $moduleForMock {}
Mock -CommandName Get-OrbLogsPath -ModuleName $moduleForMock { return "TestDrive:\orblogs\" }
function Invoke-CallZippy {}
Mock -CommandName Get-7ZipPath -ModuleName $moduleForMock { return Invoke-CallZippy }
Mock -CommandName invoke-callzippy -ModuleName $moduleForMock {}
Mock -CommandName Write-Host -ModuleName $moduleForMock {}
Mock -CommandName Write-Verbose -ModuleName $moduleForMock {}
Mock -CommandName Test-Path -ModuleName $moduleForMock { return $true }
New-item -Path $logDirectory -ItemType Directory
Context "Ensure correct log folder is archived" {
New-item -Path "$logDirectory\alkami.ms.log" -ItemType File
$logfile = Get-item "$logDirectory\alkami.ms.log"
It "Writes host of logfile to compress" {
Backup-ORBLogFiles
Assert-MockCalled -CommandName "Write-Host" -ParameterFilter { $Object -eq $logfile.FullName } -ModuleName $moduleForMock
}
It "Creates Archive folder in correct place" {
Backup-ORBLogFiles
Assert-MockCalled -ModuleName $moduleForMock -CommandName "Test-Path" -ParameterFilter { $Path -eq "$logDirectory\Archive" }
}
Remove-Item -Path $logfile
}
Context "Does not archive if files don't exist" {
It "Does not invoke call zippy" {
Backup-ORBLogFiles
Assert-MockCalled -CommandName "Write-Host" -ParameterFilter { $Object -eq "Invoking 7zip" } -ModuleName $moduleForMock -Times 0
}
}
}