diff --git a/tests/Go.Tests.ps1 b/tests/Go.Tests.ps1 index 5badc6f..cf8196b 100644 --- a/tests/Go.Tests.ps1 +++ b/tests/Go.Tests.ps1 @@ -1,7 +1,9 @@ Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1") Import-Module (Join-Path $PSScriptRoot "../helpers/common-helpers.psm1") -BeforeAll { +Describe "Go" { + + BeforeAll { Set-Location -Path "source" $sourceLocation = Get-Location @@ -18,7 +20,6 @@ BeforeAll { } } -Describe "Go" { It "is available" { "go version" | Should -ReturnZeroExitCode } @@ -44,12 +45,25 @@ Describe "Go" { } It "cached version is used without downloading" { + + if ($env:RUNNER_TYPE -eq "self-hosted") { + # Get the installed version of Go + $goVersion = Invoke-Expression "go version" + # Check if Go is installed + $goVersion | Should -Not -BeNullOrEmpty + # Check if the installed version of Go is the expected version + $installedVersion = $goVersion -split " " | Select-Object -Index 2 + $installedVersion = $installedVersion -replace "go", "" -replace "v", "" + $expectedVersion = $env:VERSION -replace ".0", "" + $installedVersion | Should -BeLike "$expectedVersion*" + }else { # Analyze output of previous steps to check if Go was consumed from cache or downloaded $useGoLogFile = Get-UseGoLogs $useGoLogFile | Should -Exist $useGoLogContent = Get-Content $useGoLogFile -Raw $useGoLogContent | Should -Match "Found in cache" - } + } +} It "Run simple code" { @@ -81,4 +95,4 @@ Describe "Go" { if ($IsWindows) { $compiledPackageName += ".exe" } (Resolve-Path "./$compiledPackageName").Path | Should -ReturnZeroExitCode } -} \ No newline at end of file +}