RamblingCookieMonster / PSDepend

PowerShell Dependency Handler
MIT License
285 stars 76 forks source link

Adding check for empty string as well as null #102

Open reubenmiller opened 5 years ago

reubenmiller commented 5 years ago

When using the -Credentials parameter when calling Invoke-PSDepend for dependencies that don't require credentials, would result in the erroneous warning WARNING: No credential found for the specified name . Was the dependency misconfigured?

Example

Invoke-PSDepend -Path "./depends.psd1" -Install -Import -Credentials @{
  "repo1WithCredential" = (Get-Credential)
}

File depends.psd1

@{
    "PSModule1" = @{

        "Name"           = "PSModule1"
        "Version"        = "1.0.0"
        "DependencyType" = "PSGalleryModule"
        "Credential"     = "repo1WithCredential"
        "Parameters"     = @{
            "Repository" = "repo1WithCredential"
        }
    }
    "PSModule2" = @{
        "Name"           = "PSModule2"
        "Version"        = "2.1.0"
        "DependencyType" = "PSGalleryModule"
        "Parameters"     = @{
            "Repository" = "repo2WithoutCredential"
        }

Would generate the warning when processing the PSModule2 dependency.

WARNING: No credential found for the specified name . Was the dependency misconfigured?

Fix

The -Name parameter in Resolve-Credential is cast from $null to an empty string "". So now both null and an empty string are checked.

reubenmiller commented 5 years ago

Resolves $null credential issue referenced at the end of #94