node-versions/tests/Node.Tests.ps1

53 lines
2.0 KiB
PowerShell
Raw Normal View History

Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1")
2020-08-24 17:07:31 +00:00
BeforeAll {
function Get-UseNodeLogs {
2024-06-27 12:32:01 +00:00
# if ($env:SELF_HOSTED_RUNNER -eq 'true') {
2024-06-27 12:05:23 +00:00
# Set the correct path for your self-hosted runner
2024-06-27 12:32:01 +00:00
# $logsFolderPath = "C:\Users\runneradmin\runners\_diag\pages"
#} else {
2024-06-27 12:05:23 +00:00
# GitHub Windows images don't have `HOME` variable
$homeDir = $env:HOME ?? $env:HOMEDRIVE
$logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages" -Resolve
2024-06-27 12:32:01 +00:00
$useNodeLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
2024-06-26 09:13:49 +00:00
$logContent = Get-Content $_.Fullname -Raw
return $logContent -match "setup-node@v"
} | Select-Object -First 1
return $useNodeLogFile.Fullname
}
}
2020-08-24 17:07:31 +00:00
Describe "Node.js" {
It "is available" {
"node --version" | Should -ReturnZeroExitCode
}
It "version is correct" {
$versionOutput = Invoke-Expression "node --version"
2020-08-24 17:07:31 +00:00
$versionOutput | Should -Match $env:VERSION
}
It "is used from tool-cache" {
$nodePath = (Get-Command "node").Path
$nodePath | Should -Not -BeNullOrEmpty
2020-08-24 08:10:43 +00:00
# GitHub Windows images don't have `AGENT_TOOLSDIRECTORY` variable
$toolcacheDir = $env:AGENT_TOOLSDIRECTORY ?? $env:RUNNER_TOOL_CACHE
$expectedPath = Join-Path -Path $toolcacheDir -ChildPath "node"
$nodePath.startsWith($expectedPath) | Should -BeTrue -Because "'$nodePath' is not started with '$expectedPath'"
}
2024-06-26 12:26:28 +00:00
It "cached version is used without downloading" {
2024-06-26 12:14:26 +00:00
# Set a custom variable to check for architecture and OS
2024-06-27 12:05:23 +00:00
2024-06-26 12:14:26 +00:00
# Analyze output of previous steps to check if Node.js was consumed from cache or downloaded
$useNodeLogFile = Get-UseNodeLogs
$useNodeLogFile | Should -Exist
$useNodeLogContent = Get-Content $useNodeLogFile -Raw
}
2024-06-25 09:45:20 +00:00
It "Run simple code" {
"node ./simple-test.js" | Should -ReturnZeroExitCode
}
2024-06-25 06:45:12 +00:00
}