From 50c3e5bfc84ce482873a34164c41527d6b7fe313 Mon Sep 17 00:00:00 2001 From: quoctruong91 Date: Tue, 12 Jul 2016 15:19:14 -0700 Subject: [PATCH] Fix Install PackageProvider failure because we are not running on administrator --- .../Utility/Platform/AdminPrivilege.cs | 6 +++++- .../Modules/PackageManagement/Get-Package.Tests.ps1 | 3 +-- .../Install-PackageProvider.Tests.ps1 | 12 ++++++------ .../Modules/PackageManagement/Nuget.Tests.ps1 | 4 ++-- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/Microsoft.PackageManagement/Utility/Platform/AdminPrivilege.cs b/src/Microsoft.PackageManagement/Utility/Platform/AdminPrivilege.cs index c65ae1af7..7c2b928e5 100644 --- a/src/Microsoft.PackageManagement/Utility/Platform/AdminPrivilege.cs +++ b/src/Microsoft.PackageManagement/Utility/Platform/AdminPrivilege.cs @@ -27,10 +27,14 @@ namespace Microsoft.PackageManagement.Internal.Utility.Platform { /// public static bool IsElevated { get { +#if LINUX + return string.Equals(System.Environment.GetEnvironmentVariable("SUDO_UID"), "1000"); +#else var id = WindowsIdentity.GetCurrent(); var principal = new WindowsPrincipal(id); return principal.IsInRole(WindowsBuiltInRole.Administrator); +#endif } } } -} \ No newline at end of file +} diff --git a/test/powershell/Modules/PackageManagement/Get-Package.Tests.ps1 b/test/powershell/Modules/PackageManagement/Get-Package.Tests.ps1 index 3d2e18d05..650330b04 100644 --- a/test/powershell/Modules/PackageManagement/Get-Package.Tests.ps1 +++ b/test/powershell/Modules/PackageManagement/Get-Package.Tests.ps1 @@ -27,7 +27,6 @@ Describe "Get-package" -Tags @('BVT', 'DRT'){ Describe "Get-package with version parameter - valid scenarios" -Tags @('BVT', 'DRT'){ $destination = Join-Path $TestDrive GetPackageTests - $destination > C:\test.txt It "Get-package supports -AllVersions parameter" -Skip { $outputWithAllVersions = (Get-Package -providername Programs,Msi -AllVersions) @@ -80,4 +79,4 @@ Describe "Get-package with version parameter - Error scenarios" -Tags @('BVT', ' $ERROR[0].FullyQualifiedErrorId | should be "VersionRangeAndRequiredVersionCannotBeSpecifiedTogether,Microsoft.PowerShell.PackageManagement.Cmdlets.GetPackage" } -} \ No newline at end of file +} diff --git a/test/powershell/Modules/PackageManagement/Install-PackageProvider.Tests.ps1 b/test/powershell/Modules/PackageManagement/Install-PackageProvider.Tests.ps1 index e5561ca4c..317b88272 100644 --- a/test/powershell/Modules/PackageManagement/Install-PackageProvider.Tests.ps1 +++ b/test/powershell/Modules/PackageManagement/Install-PackageProvider.Tests.ps1 @@ -742,38 +742,38 @@ Describe "install-packageprovider Error Cases" -Tags @('BVT', 'DRT') { It "EXPECTED: returns an error when asking for a provider that does not exist" { $Error.Clear() - install-packageprovider -name NOT_EXISTS -warningaction:silentlycontinue -ea silentlycontinue + install-packageprovider -name NOT_EXISTS -Scope CurrentUser -warningaction:silentlycontinue -ea silentlycontinue $ERROR[0].FullyQualifiedErrorId | should be "NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider" } It "EXPECTED: returns an error when asking for a provider with RequiredVersoin and MinimumVersion" { $Error.Clear() - install-packageprovider -name NOT_EXISTS -RequiredVersion 1.0 -MinimumVersion 2.0 -warningaction:silentlycontinue -ea silentlycontinue + install-packageprovider -name NOT_EXISTS -Scope CurrentUser -RequiredVersion 1.0 -MinimumVersion 2.0 -warningaction:silentlycontinue -ea silentlycontinue $ERROR[0].FullyQualifiedErrorId | should be "VersionRangeAndRequiredVersionCannotBeSpecifiedTogether,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider" } It "EXPECTED: returns an error when asking for a provider with RequiredVersoin and MaximumVersion" { $Error.Clear() - install-packageprovider -name NOT_EXISTS -RequiredVersion 1.0 -MaximumVersion 2.0 -warningaction:silentlycontinue -ea silentlycontinue + install-packageprovider -name NOT_EXISTS -Scope CurrentUser -RequiredVersion 1.0 -MaximumVersion 2.0 -warningaction:silentlycontinue -ea silentlycontinue $ERROR[0].FullyQualifiedErrorId | should be "VersionRangeAndRequiredVersionCannotBeSpecifiedTogether,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider" } It "EXPECTED: returns an error when asking for a provider with a MinimumVersion greater than MaximumVersion" { $Error.Clear() - install-packageprovider -name nuget -MaximumVersion 1.0 -MinimumVersion 2.0 -warningaction:silentlycontinue -ea silentlycontinue + install-packageprovider -name nuget -Scope CurrentUser -MaximumVersion 1.0 -MinimumVersion 2.0 -warningaction:silentlycontinue -ea silentlycontinue $ERROR[0].FullyQualifiedErrorId | should be "NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider" } It "EXPECTED: returns an error when asking for a provider with MinimumVersion that does not exist" { $Error.Clear() - install-packageprovider -name gistprovider -MinimumVersion 20.2 -warningaction:silentlycontinue -ea silentlycontinue + install-packageprovider -name gistprovider -MinimumVersion 20.2 -warningaction:silentlycontinue -Scope CurrentUser -ea silentlycontinue $ERROR[0].FullyQualifiedErrorId | should be "NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider" } It "EXPECTED: returns an error when asking for a provider with MaximumVersion that does not exist" { $Error.Clear() - install-packageprovider -name gistprovider -MaximumVersion 0.1 -warningaction:silentlycontinue -ea silentlycontinue + install-packageprovider -name gistprovider -Scope CurrentUser -MaximumVersion 0.1 -warningaction:silentlycontinue -ea silentlycontinue $ERROR[0].FullyQualifiedErrorId | should be "NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider" } } diff --git a/test/powershell/Modules/PackageManagement/Nuget.Tests.ps1 b/test/powershell/Modules/PackageManagement/Nuget.Tests.ps1 index 031c3735e..1aa9a96a6 100644 --- a/test/powershell/Modules/PackageManagement/Nuget.Tests.ps1 +++ b/test/powershell/Modules/PackageManagement/Nuget.Tests.ps1 @@ -548,7 +548,7 @@ Describe Save-Package -Tags @('BVT', 'DRT'){ it "EXPECTED: Saves 'Zlib' Package To Packages Directory" { $version = "1.2.8.8" $expectedPackages = @("zlib", "zlib.v120.windesktop.msvcstl.dyn.rt-dyn", "zlib.v140.windesktop.msvcstl.dyn.rt-dyn") - $newDestination = "$env:tmp\nugetinstallation" + $newDestination = Join-Path $TestDrive "nugetinstallation" try { $packages = Save-Package -Name "zlib" -ProviderName $nuget -Source $source -RequiredVersion $version -ForceBootstrap -Path $destination @@ -1639,4 +1639,4 @@ Describe Test-Proxy -Tags @('BVT', 'DRT') { } } -} \ No newline at end of file +}