Skip to content

Commit

Permalink
Huh..
Browse files Browse the repository at this point in the history
  • Loading branch information
ethanbergstrom committed Jan 29, 2024
1 parent 2204186 commit 2121dd0
Showing 1 changed file with 28 additions and 29 deletions.
57 changes: 28 additions & 29 deletions tests/AnyPackage.Homebrew.Unit.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
param()

BeforeAll {
$AnyPackageProvider = 'AnyPackage.Homebrew'
Import-Module $AnyPackageProvider -Force
Import-Module AnyPackage.Homebrew -Force
}

Describe 'basic package search operations' {
Expand All @@ -13,15 +12,15 @@ Describe 'basic package search operations' {
$source = 'homebrew/core'
}
It 'searches for the latest version of a package' {
Find-Package -Provider $AnyPackageProvider -Name $package -Source $source | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Find-Package -Name $package -Source $source | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
}
Context 'cask' {
BeforeAll {
$package = 'vlc'
}
It 'searches for the latest version of a package' {
Find-Package -Provider $AnyPackageProvider -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Find-Package -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
}
}
Expand All @@ -34,16 +33,16 @@ Describe 'DSC-compliant package installation and uninstallation' {
}

It 'searches for a specific version of a package' {
Find-Package -Provider $AnyPackageProvider -Name $package -Source $source | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Find-Package -Name $package -Source $source | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
It 'silently installs a specific version of a package' {
Install-Package -Provider $AnyPackageProvider -Name $package -Source $source -Force | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Install-Package -Name $package -Source $source -Force | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
It 'finds the locally installed package just installed' {
Get-Package -Provider $AnyPackageProvider -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Get-Package -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
It 'silently uninstalls the locally installed package just installed' {
Uninstall-Package -Provider $AnyPackageProvider -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Uninstall-Package -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
}
Context 'cask' {
Expand All @@ -52,16 +51,16 @@ Describe 'DSC-compliant package installation and uninstallation' {
}

It 'searches for a specific version of a package' {
Find-Package -Provider $AnyPackageProvider -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Find-Package -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
It 'silently installs a specific version of a package' {
Install-Package -Provider $AnyPackageProvider -Name $package -Force | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Install-Package -Name $package -Force | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
It 'finds the locally installed package just installed' {
Get-Package -Provider $AnyPackageProvider -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Get-Package -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
It 'silently uninstalls the locally installed package just installed' {
Uninstall-Package -Provider $AnyPackageProvider -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Uninstall-Package -Name $package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
}
}
Expand All @@ -74,10 +73,10 @@ Describe 'pipeline-based package installation and uninstallation' {
}

It 'searches for and silently installs the latest version of a package' {
Find-Package -Provider $AnyPackageProvider -Name $package -Source $source | Install-Package -Force | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Find-Package -Name $package -Source $source | Install-Package -Force | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
It 'finds and silently uninstalls the locally installed package just installed' {
Get-Package -Provider $AnyPackageProvider -Name $package | Uninstall-Package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Get-Package -Name $package | Uninstall-Package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
}
Context 'cask' {
Expand All @@ -86,10 +85,10 @@ Describe 'pipeline-based package installation and uninstallation' {
}

It 'searches for and silently installs the latest version of a package' {
Find-Package -Provider $AnyPackageProvider -Name $package | Install-Package -Force | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Find-Package -Name $package | Install-Package -Force | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
It 'finds and silently uninstalls the locally installed package just installed' {
Get-Package -Provider $AnyPackageProvider -Name $package | Uninstall-Package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Get-Package -Name $package | Uninstall-Package | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
}
}
Expand All @@ -103,13 +102,13 @@ Describe 'version tests' {
}

It 'retrieves and correctly filters to a specific version' {
Find-Package -Provider $AnyPackageProvider -Name $package -Source $source -Version "[$version]" | Where-Object {$_.Name -contains $package} | Should -HaveCount 1
Find-Package -Name $package -Source $source -Version "[$version]" | Where-Object {$_.Name -contains $package} | Should -HaveCount 1
}
It 'retrieves and correctly filters versions above a valid minimum' {
Find-Package -Provider $AnyPackageProvider -Name $package -Source $source -Version "[$version,]" | Where-Object {$_.Name -contains $package} | Should -HaveCount 1
Find-Package -Name $package -Source $source -Version "[$version,]" | Where-Object {$_.Name -contains $package} | Should -HaveCount 1
}
It 'retrieves and correctly filters versions below an invalid maximum' {
Find-Package -Provider $AnyPackageProvider -Name $package -Source $source -Version "[,$version]" -ErrorAction SilentlyContinue | Where-Object {$_.Name -contains $package} | Should -HaveCount 0
Find-Package -Name $package -Source $source -Version "[,$version]" -ErrorAction SilentlyContinue | Where-Object {$_.Name -contains $package} | Should -HaveCount 0
}
}
Context 'cask' {
Expand All @@ -119,13 +118,13 @@ Describe 'version tests' {
}

It 'retrieves and correctly filters to a specific version' {
Find-Package -Provider $AnyPackageProvider -Name $package -Version "[$version]" | Where-Object {$_.Name -contains $package} | Should -HaveCount 1
Find-Package -Name $package -Version "[$version]" | Where-Object {$_.Name -contains $package} | Should -HaveCount 1
}
It 'retrieves and correctly filters versions above a valid minimum' {
Find-Package -Provider $AnyPackageProvider -Name $package -Version "[$version,]" | Where-Object {$_.Name -contains $package} | Should -HaveCount 1
Find-Package -Name $package -Version "[$version,]" | Where-Object {$_.Name -contains $package} | Should -HaveCount 1
}
It 'retrieves and correctly filters versions below an invalid maximum' {
Find-Package -Provider $AnyPackageProvider -Name $package -Version $version -ErrorAction SilentlyContinue | Where-Object {$_.Name -contains $package} | Should -HaveCount 0
Find-Package -Name $package -Version $version -ErrorAction SilentlyContinue | Where-Object {$_.Name -contains $package} | Should -HaveCount 0
}
}
}
Expand All @@ -136,24 +135,24 @@ Describe "multi-source support" {
$altSourceLocation = 'https://github.com/pyroscope-io/homebrew-brew'
$package = 'pyroscope'

Unregister-PackageSource -Name $altSourceName -Provider $AnyPackageProvider -ErrorAction SilentlyContinue
Unregister-PackageSource -Name $altSourceName -ErrorAction SilentlyContinue
}
AfterAll {
Unregister-PackageSource -Name $altSourceName -Provider $AnyPackageProvider -ErrorAction SilentlyContinue
Unregister-PackageSource -Name $altSourceName -ErrorAction SilentlyContinue
}

It 'refuses to register a source with no location' {
Register-PackageSource -Name $altSourceName -Provider $AnyPackageProvider -ErrorAction SilentlyContinue | Where-Object {$_.Name -eq $altSourceName} | Should -BeNullOrEmpty
Register-PackageSource -Name $altSourceName -ErrorAction SilentlyContinue | Where-Object {$_.Name -eq $altSourceName} | Should -BeNullOrEmpty
}
It 'registers an alternative package source' {
Register-PackageSource -Name $altSourceName -Provider $AnyPackageProvider -Location $altSourceLocation | Where-Object {$_.Name -eq $altSourceName} | Should -Not -BeNullOrEmpty
Register-PackageSource -Name $altSourceName -Location $altSourceLocation | Where-Object {$_.Name -eq $altSourceName} | Should -Not -BeNullOrEmpty
}
It 'searches for and installs the latest version of a package from an alternate source' {
Find-Package -Provider $AnyPackageProvider -Name $package -Source $altSourceName | Install-Package -Force | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
Find-Package -Name $package -Source $altSourceName | Install-Package -Force | Where-Object {$_.Name -contains $package} | Should -Not -BeNullOrEmpty
}
It 'unregisters an alternative package source' {
Unregister-PackageSource -Name $altSourceName -Provider $AnyPackageProvider
Get-PackageSource -Provider $AnyPackageProvider | Where-Object {$_.Name -eq $altSourceName} | Should -BeNullOrEmpty
Unregister-PackageSource -Name $altSourceName
Get-PackageSource | Where-Object {$_.Name -eq $altSourceName} | Should -BeNullOrEmpty
}
}

0 comments on commit 2121dd0

Please sign in to comment.