2016-05-18 22:58:59 +02:00
|
|
|
Describe 'build.psm1 and powershell.exe' {
|
2016-02-04 02:29:27 +01:00
|
|
|
Context '$env:DEVPATH assemblies loading' {
|
|
|
|
It 'has $env:DEVPATH set' {
|
|
|
|
$env:DEVPATH | Should Not Be $null
|
|
|
|
}
|
|
|
|
|
|
|
|
It 'loads System.Management.Automation.dll' {
|
|
|
|
[psobject].Assembly.Location | Should Be (
|
|
|
|
Join-Path $env:DEVPATH System.Management.Automation.dll)
|
|
|
|
}
|
|
|
|
|
|
|
|
It 'loads Microsoft.PowerShell.Commands.Management.dll' {
|
|
|
|
[Microsoft.PowerShell.Commands.GetChildItemCommand].Assembly.Location | Should Be (
|
|
|
|
Join-Path $env:DEVPATH Microsoft.PowerShell.Commands.Management.dll)
|
|
|
|
}
|
|
|
|
|
|
|
|
It 'loads Microsoft.PowerShell.Commands.Utility.dll' {
|
|
|
|
[Microsoft.PowerShell.Commands.UtilityResources].Assembly.Location | Should Be (
|
|
|
|
Join-Path $env:DEVPATH Microsoft.PowerShell.Commands.Utility.dll)
|
|
|
|
}
|
|
|
|
|
|
|
|
It 'loads Microsoft.PowerShell.ConsoleHost.dll' {
|
|
|
|
[Microsoft.PowerShell.ConsoleShell].Assembly.Location | Should Be (
|
|
|
|
Join-Path $env:DEVPATH Microsoft.PowerShell.ConsoleHost.dll)
|
|
|
|
}
|
|
|
|
|
|
|
|
It 'loads Microsoft.PowerShell.Security.dll' {
|
|
|
|
[Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase].Assembly.Location | Should Be (
|
|
|
|
Join-Path $env:DEVPATH Microsoft.PowerShell.Security.dll)
|
|
|
|
}
|
2016-06-17 23:03:28 +02:00
|
|
|
|
|
|
|
It 'loads Microsoft.PowerShell.Workflow.ServiceCore.dll' {
|
2016-06-28 02:31:59 +02:00
|
|
|
workflow wfTest { Split-Path $pwd }
|
|
|
|
wfTest | Should Not Be $null ## Also trigger the loading of ServiceCore.dll
|
2016-06-17 23:03:28 +02:00
|
|
|
[Microsoft.PowerShell.Workflow.PSWorkflowJob].Assembly.Location | Should Be (
|
|
|
|
Join-Path $env:DEVPATH Microsoft.PowerShell.Workflow.ServiceCore.dll)
|
|
|
|
}
|
2016-02-04 02:29:27 +01:00
|
|
|
}
|
2016-05-18 22:58:59 +02:00
|
|
|
}
|
2016-06-16 21:38:28 +02:00
|
|
|
|
|
|
|
Describe 'Modules for the packge' {
|
|
|
|
Context '$env:DEVPATH Modules loading' {
|
|
|
|
|
|
|
|
$originalPSModulePath = $env:PSModulePath
|
|
|
|
try
|
|
|
|
{
|
|
|
|
# load all modules only from $env:DEVPATH !!!
|
|
|
|
$env:PSModulePath = "$($env:DEVPATH)\Modules"
|
|
|
|
|
|
|
|
It 'loads Microsoft.PowerShell.LocalAccounts' {
|
|
|
|
try
|
|
|
|
{
|
2016-06-17 04:19:25 +02:00
|
|
|
Import-Module Microsoft.PowerShell.LocalAccounts -ErrorAction Stop
|
2016-06-16 21:38:28 +02:00
|
|
|
Get-LocalUser | Should Not Be $null
|
|
|
|
}
|
|
|
|
finally
|
|
|
|
{
|
|
|
|
Remove-Module -ErrorAction SilentlyContinue Microsoft.PowerShell.LocalAccounts
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
It 'loads Microsoft.PowerShell.Archive' {
|
|
|
|
try
|
|
|
|
{
|
2016-06-17 04:19:25 +02:00
|
|
|
Import-Module Microsoft.PowerShell.LocalAccounts -ErrorAction Stop
|
2016-06-16 21:38:28 +02:00
|
|
|
Set-Content -Path TestDrive:\1.txt -Value ''
|
|
|
|
Compress-Archive -Path TestDrive:\1.txt -DestinationPath TestDrive:\1.zip
|
|
|
|
Get-ChildItem -Path TestDrive:\1.zip | Should Not Be $null
|
|
|
|
}
|
|
|
|
finally
|
|
|
|
{
|
|
|
|
Remove-Module -ErrorAction SilentlyContinue Microsoft.PowerShell.Archive
|
|
|
|
}
|
|
|
|
}
|
2016-06-17 04:19:25 +02:00
|
|
|
|
|
|
|
It 'loads PsScheduledJob' {
|
|
|
|
try
|
|
|
|
{
|
|
|
|
Import-Module PsScheduledJob -ErrorAction Stop
|
|
|
|
New-ScheduledJobOption | Should Not Be $null
|
|
|
|
}
|
|
|
|
finally
|
|
|
|
{
|
|
|
|
Remove-Module -ErrorAction SilentlyContinue PsScheduledJob
|
|
|
|
}
|
|
|
|
}
|
2016-06-16 21:38:28 +02:00
|
|
|
}
|
|
|
|
finally
|
|
|
|
{
|
|
|
|
$env:PSModulePath = $originalPSModulePath
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|