Use 'RequireAdminOnWindows' tag in Set-Date tests (#6034)
* Use 'RequireAdminOnWindows' tag instead of 'Test-IsElevated' function. * Fix incorrect condition of user privilege in Linux/macOS CI
This commit is contained in:
parent
99a7d38cae
commit
22014a923a
|
@ -1,22 +1,20 @@
|
|||
# first check to see which platform we're on. If we're on windows we should be able
|
||||
# to be sure whether we're running elevated. If we're on Linux, we can use whoami to
|
||||
# determine whether we're elevated
|
||||
Describe "Set-Date" -Tag "CI" {
|
||||
BeforeAll {
|
||||
$IsElevated = Test-IsElevated
|
||||
}
|
||||
|
||||
It "Set-Date should be able to set the date in an elevated context" -Skip:(! $IsElevated) {
|
||||
Describe "Set-Date for admin" -Tag @('CI', 'RequireAdminOnWindows') {
|
||||
# Currently, CI tests on Linux/macOS are always run as normal user. So we need to skip these tests on non-Windows platform.
|
||||
# CI tests in root privilege on Linux/macOS is not supported.
|
||||
# See : https://github.com/PowerShell/PowerShell/issues/5645
|
||||
It "Set-Date should be able to set the date in an elevated context" -Skip:(!$IsWindows) {
|
||||
{ Get-Date | Set-Date } | Should Not Throw
|
||||
}
|
||||
|
||||
It "Set-Date should be able to set the date with -Date parameter" -Skip:(! $IsElevated) {
|
||||
It "Set-Date should be able to set the date with -Date parameter" -Skip:(!$IsWindows) {
|
||||
$target = Get-Date
|
||||
$expected = $target
|
||||
Set-Date -Date $target | Should Be $expected
|
||||
}
|
||||
}
|
||||
|
||||
It "Set-Date should produce an error in a non-elevated context" -Skip:($IsElevated) {
|
||||
Describe "Set-Date" -Tag 'CI' {
|
||||
It "Set-Date should produce an error in a non-elevated context" {
|
||||
{ Get-Date | Set-Date } | ShouldBeErrorId "System.ComponentModel.Win32Exception,Microsoft.PowerShell.Commands.SetDateCommand"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue