99 lines
3.3 KiB
PowerShell
99 lines
3.3 KiB
PowerShell
Describe "Import-Alias DRT Unit Tests" -Tags DRT{
|
|
$testAliasDirectory = Join-Path -Path $TestDrive -ChildPath ImportAliasTestDirectory
|
|
$testAliases = "TestAliases"
|
|
$fulltestpath = Join-Path -Path $testAliasDirectory -ChildPath $testAliases
|
|
|
|
BeforeEach {
|
|
New-Item -Path $testAliasDirectory -ItemType Directory -Force
|
|
remove-item alias:abcd* -force
|
|
remove-item alias:ijkl* -force
|
|
set-alias abcd01 efgh01
|
|
set-alias abcd02 efgh02
|
|
set-alias abcd03 efgh03
|
|
set-alias abcd04 efgh04
|
|
set-alias ijkl01 mnop01
|
|
set-alias ijkl02 mnop02
|
|
set-alias ijkl03 mnop03
|
|
set-alias ijkl04 mnop04
|
|
}
|
|
|
|
AfterEach {
|
|
Remove-Item -Path $testAliasDirectory -Recurse -Force
|
|
}
|
|
|
|
It "Import-Alias Resolve To Multiple will throw PSInvalidOperationException" {
|
|
try {
|
|
Import-Alias *
|
|
Throw "Execution OK"
|
|
}
|
|
catch {
|
|
$_.FullyQualifiedErrorId | Should be "NotSupported,Microsoft.PowerShell.Commands.ImportAliasCommand"
|
|
}
|
|
}
|
|
|
|
It "Import-Alias From Exported Alias File Aliases Already Exist should throw SessionStateException skip now as bug#777" -Skip:$true{
|
|
{Export-Alias $fulltestpath abcd*}| Should Not Throw
|
|
try {
|
|
Import-Alias $fulltestpath
|
|
Throw "Execution OK"
|
|
}
|
|
catch {
|
|
$_.FullyQualifiedErrorId | Should be "AliasAlreadyExists,Microsoft.PowerShell.Commands.ImportAliasCommand"
|
|
}
|
|
}
|
|
|
|
It "Import-Alias Into Invalid Scope should throw PSArgumentException"{
|
|
{Export-Alias $fulltestpath abcd*}| Should Not Throw
|
|
try {
|
|
Import-Alias $fulltestpath -scope bogus
|
|
Throw "Execution OK"
|
|
}
|
|
catch {
|
|
$_.FullyQualifiedErrorId | Should be "Argument,Microsoft.PowerShell.Commands.ImportAliasCommand"
|
|
}
|
|
}
|
|
|
|
It "Import-Alias From Exported Alias File Aliases Already Exist using force should not throw"{
|
|
{Export-Alias $fulltestpath abcd*}| Should Not Throw
|
|
{Import-Alias $fulltestpath -Force}| Should Not Throw
|
|
}
|
|
}
|
|
|
|
Describe "Import-Alias" {
|
|
$newLine=[Environment]::NewLine
|
|
$testAliasDirectory = Join-Path -Path $TestDrive -ChildPath ImportAliasTestDirectory
|
|
$testAliases = "pesteralias.txt"
|
|
$pesteraliasfile = Join-Path -Path $testAliasDirectory -ChildPath $testAliases
|
|
|
|
BeforeEach {
|
|
New-Item -Path $testAliasDirectory -ItemType Directory -Force
|
|
|
|
$pesteraliascontent ='# Alias File'+$newLine
|
|
$pesteraliascontent+='# Exported by : alex'+$newLine
|
|
$pesteraliascontent+='# Date/Time : Thursday, 12 November 2015 21:55:08'+$newLine
|
|
$pesteraliascontent+='# Computer : archvm'+$newLine+'"pesterecho","echo","","None"'
|
|
$pesteraliascontent > $pesteraliasfile
|
|
}
|
|
|
|
AfterEach {
|
|
Remove-Item -Path $testAliasDirectory -Recurse -Force
|
|
}
|
|
|
|
It "Should be able to import an alias file successfully" {
|
|
{ Import-Alias $pesteraliasfile } | Should Not throw
|
|
}
|
|
|
|
It "Should be able to import file via the Import-Alias alias of ipal" {
|
|
{ ipal $pesteraliasfile } | Should Not throw
|
|
}
|
|
|
|
It "Should be able to import an alias file and perform imported aliased echo cmd" {
|
|
(Import-Alias $pesteraliasfile)
|
|
(pesterecho pestertesting) | Should Be "pestertesting"
|
|
}
|
|
|
|
It "Should be able to use ipal alias to import an alias file and perform cmd" {
|
|
(ipal $pesteraliasfile)
|
|
(pesterecho pestertesting) | Should be "pestertesting"
|
|
}
|
|
}
|