Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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"
}
}