42 lines
1.9 KiB
PowerShell
42 lines
1.9 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 "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
|
|||
|
}
|
|||
|
}
|
|||
|
}
|