Add set-Date test

this one is a bit tricky, unless you're elevated you can't set the date
however, if you are not elevated you should get an error. This file
does one or the other based on whether you're elevated
This commit is contained in:
James Truher 2016-08-23 17:08:15 -07:00
parent feae8e4b2d
commit e639240ecb

View file

@ -0,0 +1,26 @@
# 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" {
BeforeAll {
if ( $IsWindows ) {
$identity = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$windowsPrincipal = new-object 'Security.Principal.WindowsPrincipal' $identity
if ($windowsPrincipal.IsInRole("Administrators") -eq 1) { $IsElevated = $true } else { $IsElevated = $false }
}
else {
if ( (whoami) -match "root" ) {
$IsElevated = $true
}
else {
$IsElevated = $false
}
}
}
It "Set-Date should be able to set the date in an elevated context" -Skip:(! $IsElevated) {
{ get-date | set-date } | Should not throw
}
It "Set-Date should produce an error in a non-elevated context" -Skip:($IsElevated) {
{ get-date |set-date} | should throw
}
}