/
githubmirror
/
PowerShell
Обзор
Документация
Войти
/
githubmirror
/
PowerShell
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/powershell/Modules/Microsoft.PowerShell.Utility/Unblock-File.Tests.ps1
128 строк
5 KB
xtqqczze
Use correct casing for cmdlet name and cmdlet parameter name in *.ps1 files (#12584)
07 май 2020, 15:00
Не верифицирован
07 май 2020, 15:00
f438220
Код
Авторство
О чём код?
# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. Describe "Unblock-File" -Tags "CI" { Context "Windows and macOS" { BeforeAll { if ($IsWindows) { function Test-UnblockFile { { Get-Content -Path $testfilepath -Stream Zone.Identifier -ErrorAction Stop | Out-Null } | Should -Throw -ErrorId "GetContentReaderFileNotFoundError,Microsoft.PowerShell.Commands.GetContentCommand" } function Block-File { param($path) Set-Content -Value "[ZoneTransfer]`r`nZoneId=4" -Path $path -Stream Zone.Identifier } } else { function Test-UnblockFile { $result = (xattr $testfilepath | Select-String 'com.apple.com.quarantine') $result | Should -BeNullOrEmpty } function Block-File { param($path) Set-Content -Path $path -Value 'test' xattr -w com.apple.quarantine '0081;5dd5c373;Microsoft Edge;1A9A933D-619A-4036-BAF3-17A7966A1BA8' $path } } if ( $IsLinux ) { $origDefaults = $PSDefaultParameterValues.Clone() $PSDefaultParameterValues['it:skip'] = $true } else { $testfilepath = Join-Path -Path $TestDrive -ChildPath testunblockfile.ttt } } AfterAll { if ( $IsLinux ){ $global:PSDefaultParameterValues = $origDefaults } } BeforeEach { Block-File -Path $testfilepath } It "With '-Path': no file exist" { { Unblock-File -Path nofileexist.ttt -ErrorAction Stop } | Should -Throw -ErrorId "FileNotFound,Microsoft.PowerShell.Commands.UnblockFileCommand" } It "With '-LiteralPath': no file exist" { { Unblock-File -LiteralPath nofileexist.ttt -ErrorAction Stop } | Should -Throw -ErrorId "FileNotFound,Microsoft.PowerShell.Commands.UnblockFileCommand" } It "With '-Path': file exist" { Unblock-File -Path $testfilepath Test-UnblockFile # If a file is not blocked we silently return without an error. { Unblock-File -Path $testfilepath -ErrorAction Stop } | Should -Not -Throw } It "With '-LiteralPath': file exist" { Unblock-File -LiteralPath $testfilepath Test-UnblockFile } It "Write an error if a file is read only" { $TestFile = Join-Path $TestDrive "testfileunlock.ps1" Block-File -Path $TestFile Set-ItemProperty -Path $TestFile -Name IsReadOnly -Value $true $TestFileCreated = Get-ChildItem $TestFile $TestFileCreated.IsReadOnly | Should -BeTrue if ($IsWindows) { $expectedError = "RemoveItemUnableToAccessFile,Microsoft.PowerShell.Commands.UnblockFileCommand" } else { $expectedError = "UnblockError,Microsoft.PowerShell.Commands.UnblockFileCommand" } { Unblock-File -LiteralPath $TestFile -ErrorAction Stop } | Should -Throw -ErrorId $expectedError } } Context "Linux" { BeforeAll { if ( ! $IsLinux ) { $origDefaults = $PSDefaultParameterValues.Clone() $PSDefaultParameterValues['it:skip'] = $true } else { $testfilepath = Join-Path -Path $TestDrive -ChildPath testunblockfile.ttt $null = New-Item -Path $testfilepath -ItemType File } } AfterAll { if ( ! $IsLinux ){ $global:PSDefaultParameterValues = $origDefaults } } It "With '-Path': no file exist" { { Unblock-File -Path nofileexist.ttt -ErrorAction Stop } | Should -Throw -ErrorId "FileNotFound,Microsoft.PowerShell.Commands.UnblockFileCommand" } It "With '-LiteralPath': no file exist" { { Unblock-File -LiteralPath nofileexist.ttt -ErrorAction Stop } | Should -Throw -ErrorId "FileNotFound,Microsoft.PowerShell.Commands.UnblockFileCommand" } It "With '-LiteralPath': file exist" { { Unblock-File -LiteralPath $testfilepath -ErrorAction Stop } | Should -Throw -ErrorId "LinuxNotSupported,Microsoft.PowerShell.Commands.UnblockFileCommand" } It "With '-Path': file exist" { { Unblock-File -Path $testfilepath -ErrorAction Stop } | Should -Throw -ErrorId "LinuxNotSupported,Microsoft.PowerShell.Commands.UnblockFileCommand" } } }