From 17f3be07b9cd4738b4bcbab1b1ec72f42d73bbcd Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Wed, 1 Jul 2020 16:55:11 +0300 Subject: [PATCH] Create get-new-tool-versions.Tests.ps1 --- .../get-new-tool-versions.Tests.ps1 | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 get-new-tool-versions/get-new-tool-versions.Tests.ps1 diff --git a/get-new-tool-versions/get-new-tool-versions.Tests.ps1 b/get-new-tool-versions/get-new-tool-versions.Tests.ps1 new file mode 100644 index 0000000..b9802ce --- /dev/null +++ b/get-new-tool-versions/get-new-tool-versions.Tests.ps1 @@ -0,0 +1,64 @@ +#Requires -Modules Pester + +Import-Module (Join-Path $PSScriptRoot "helpers.psm1") -Force + +Describe "Format-Versions" { + It "Clean versions" { + $actualOutput = Format-Versions -Versions @("14.2.0", "1.14.0") + $expectedOutput = @("14.2.0", "1.14.0") + $actualOutput | Should -Be $expectedOutput + } + + It "Versions with prefixes" { + $actualOutput = Format-Versions -Versions @("v14.2.0", "go1.14.0") + $expectedOutput = @("14.2.0", "1.14.0") + $actualOutput | Should -Be $expectedOutput + } + + It "Skip beta and rc versions" { + $actualOutput = Format-Versions -Versions @("14.2.0-beta", "v1.14.0-rc-1") + $expectedOutput = @() + $actualOutput | Should -Be $expectedOutput + } + + It "Short version" { + $actualOutput = Format-Versions -Versions @("14.2", "v2.0") + $expectedOutput = @("14.2.0", "2.0.0") + $actualOutput | Should -Be $expectedOutput + } + + It "Skip versions with 1 digin" { + $actualOutput = Format-Versions -Versions @("14", "v2") + $expectedOutput = @() + $actualOutput | Should -Be $expectedOutput + } +} + +Describe "Filter-Versions" { + $inputVersions = @("8.2.1", "9.3.3", "10.0.2", "10.0.3", "10.5.6", "12.4.3", "12.5.1", "14.2.0") + + It "Include filter" { + $includeFilters = @("8.*", "14.*") + $actualOutput = Filter-Versions -Versions $inputVersions -IncludeFilters $includeFilters + $expectedOutput = @("8.2.1", "14.2.0") + $actualOutput | Should -Be $expectedOutput + } + + It "Exclude filter" { + $includeFilters = @("10.*", "12.*") + $excludeFilters = @("10.0.*", "12.4.3") + $actualOutput = Filter-Versions -Versions $inputVersions -IncludeFilters $includeFilters -ExcludeFilters $excludeFilters + $expectedOutput = @("10.5.6", "12.5.1") + $actualOutput | Should -Be $expectedOutput + } +} + +Describe "Get-VersionsToBuild" { + It "Substract versions correctly" { + $distInput = @("14.2.0", "14.3.0", "14.4.0", "14.4.1") + $manifestInput = @("12.0.0", "14.2.0", "14.4.0") + $actualOutput = Get-VersionsToBuild -VersionsFromDist $distInput -VersionsFromManifest $manifestInput + $expectedOutput = @("14.3.0", "14.4.1") + $actualOutput | Should -Be $expectedOutput + } +} \ No newline at end of file