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:
Takuya Shibata 2018-02-07 02:31:30 +09:00 committed by Aditya Patwardhan
parent 99a7d38cae
commit 22014a923a

View file

@ -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"
}
}