bin/PSDropbin.Tests.ps1
if(!(Test-Path variable:PsDropbinTesting)) { try { $sessionName = "$PSCommandPath Session" $testSession = New-PSSession -Name $sessionName -SessionOption (New-PSSessionOption -NoMachineProfile) -EnableNetworkAccess Context "Invoking a new session" { Invoke-Command -Session $testSession -ArgumentList $PSCommandPath -ScriptBlock { param($PSCommandPath) New-Variable PSDropbinTesting -Scope Global -Value $True -Visibility Public Import-Module Pester Invoke-Pester $PSCommandPath; }; } } finally { if(Test-Path variable:testSession) { remove-PSSession $testSession; } } return; } else { $sut = $PSCommandPath.Replace(".Tests", "").Replace(".ps1", ".psd1"); #Write-Output "`$PSCommandPath = '$PSCommandPath'" #Write-Output "`$sut = '$sut'" Try { $dropbinModule = Import-Module $sut -Verbose -PassThru $originalLocation = Get-Location Describe "PSDropbin" { It "Does the PSDropbin module load successfully" { $dropboxProvider = (Get-PSProvider Dropbox) Write-Debug $dropboxProvider if($dropboxProvider -eq $null) { throw "Not yet loaded" }; Get-PSDrive Drpbx | Should Be "Drpbx" } It "Try Test-Path and Set-Location on the default drive's Public folder" { #$dropbox = New-PSDrive -PSProvider Dropbox -Name Drpbx -Root "/" -ErrorAction Stop Test-Path "Drpbx:\Public" | Should Be $true Set-Location "Drpbx:\Public" $pwd | should be "Drpbx:\Public" } It "Try Test-Path and Set-Location on the default drives root folder" { Test-Path "Drpbx:\" | Should Be $true Set-Location "Drpbx:\" $pwd | should be "Drpbx:\" } It "Verify Set-Location works on the root of a Dropbin drive." { Try { $dropbox = New-PSDrive -PSProvider Dropbox -Name DrpbxTemp -Root "/" $currentPath = $pwd; Set-Location DrpbxTemp:\ | should not throw $pwd | should be "DrpbxTemp:\" } Finally { if($dropbox) { Set-Location $currentPath; Remove-PSDrive $dropbox; } } } It "Verify test-path returns false for non-existen path." { $doesExist = Test-Path "drpbx:\ThisPathDoesNotExist" $doesExist | Should Be $false } It "Verify test-path returns true for existing path." { $doesExist = Test-Path "drpbx:\Public" $doesExist | Should Be $true } } } Finally { If($dropbinModule) { Set-Location $originalLocation Remove-Module $dropbinModule } } } |