Skip to content

Commit

Permalink
Ansible.ModuleUtils.FileUtil - Add ability to test non file system pr…
Browse files Browse the repository at this point in the history
…ovider paths (ansible#39200)
  • Loading branch information
jborean93 committed Apr 24, 2018
1 parent 19d229a commit b6afe69
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
Expand Up @@ -19,6 +19,10 @@ Function Test-AnsiblePath {
$file_attributes = [System.IO.File]::GetAttributes($Path)
} catch [System.IO.FileNotFoundException], [System.IO.DirectoryNotFoundException] {
return $false
} catch [NotSupportedException] {
# When testing a path like Cert:\LocalMachine\My, System.IO.File will
# not work, we just revert back to using Test-Path for this
return Test-Path -Path $Path
}

if ([Int32]$file_attributes -eq -1) {
Expand Down
Expand Up @@ -62,6 +62,7 @@ Assert-Equals -actual $actual -expected $true

# Test-AnsiblePath Normal file
$actual = Test-AnsiblePath -Path C:\Windows\System32\kernel32.dll
Assert-Equals -actual $actual -expected $true

# Test-AnsiblePath fails with wildcard
$failed = $false
Expand All @@ -73,6 +74,18 @@ try {
}
Assert-Equals -actual $failed -expected $true

# Test-AnsiblePath on non file PS Provider object
$actual = Test-AnsiblePath -Path Cert:\LocalMachine\My
Assert-Equals -actual $actual -expected $true

# Test-AnsiblePath on environment variable
$actual = Test-AnsiblePath -Path env:SystemDrive
Assert-Equals -actual $actual -expected $true

# Test-AnsiblePath on environment variable that does not exist
$actual = Test-AnsiblePath -Path env:FakeEnvValue
Assert-Equals -actual $actual -expected $false

# Get-AnsibleItem doesn't exist with -ErrorAction SilentlyContinue param
$actual = Get-AnsibleItem -Path C:\fakefile -ErrorAction SilentlyContinue
Assert-Equals -actual $actual -expected $null
Expand Down

0 comments on commit b6afe69

Please sign in to comment.