60 lines
2.3 KiB
PowerShell
60 lines
2.3 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 = ""
|
|
$currentErrorActionPreference = $ErrorActionPreference
|
|
$ErrorActionPreference = "stop"
|
|
|
|
Describe "Update-Borg" {
|
|
Mock -CommandName Write-Host -MockWith {}
|
|
Mock -CommandName Write-Error -MockWith {}
|
|
|
|
$packageData = New-PackageMetadataObject
|
|
$packageData.DisableMicroserviceNewRelic = $false
|
|
$appPackage1 = New-DummyPackageInstallationData -PackageName "app.package1" -PackageVersion "1.0.0" -IsFullScale
|
|
$appPackage2 = New-DummyPackageInstallationData -PackageName "app.package2" -PackageVersion "1.0.0" -IsFullScale
|
|
|
|
$packageArray = @($appPackage1, $appPackage2)
|
|
|
|
$packageData.AppPackagesToInstall = $packageArray
|
|
$packageData.EnvironmentLabel = "UnitTest"
|
|
|
|
Mock -CommandName Update-PlatformElementInventory -MockWith {
|
|
# No third case necessary; This function doesn't return. Just does its thing silently.
|
|
write-host "params: $borgUri, $ApiKey"
|
|
|
|
if ($BorgUri -like "*Fake*"){
|
|
throw "Got a fake URI"
|
|
} elseif ($ApiKey -like "*Fake*"){
|
|
throw "Got a fake API key"
|
|
}
|
|
}
|
|
|
|
Context "When Given Invalid Borg Connection Info" {
|
|
It "Writes an Error on a bad URI" {
|
|
{ Update-Borg -BorgApiKey "ValidKey" -BorgUri "FakeUri" -PackageMetadata $packageData } | Should -Not -Throw
|
|
}
|
|
|
|
It "Writes an Error given an empty URI"{
|
|
Update-Borg -BorgApiKey "ValidKey" -BorgUri "" -PackageMetadata $packageData
|
|
|
|
Assert-MockCalled -CommandName Write-Error -Scope Context -Times 1
|
|
}
|
|
|
|
It "Writes an Error on a bad API Key"{
|
|
{ Update-Borg -BorgApiKey "FakeKey" -BorgUri "ValidUri" -PackageMetadata $packageData } | Should -Not -Throw
|
|
|
|
}
|
|
}
|
|
|
|
Context "When Given Valid Info"{
|
|
It "Updates Borg" {
|
|
Update-Borg -BorgApiKey "ValidKey" -BorgUri "ValidUri" -PackageMetadata $packageData
|
|
|
|
Assert-MockCalled -CommandName Write-Host -Times 1 -ParameterFilter {$object -eq "BoRG successfully updated."}
|
|
}
|
|
}
|
|
} |