mirror of
https://github.com/PowerShell/PowerShell
synced 2026-06-08 12:12:50 +00:00
Move misplaced test file to tests directory (#14908)
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# Licensed under the MIT License.
|
||||
|
||||
Describe "Import PowerShell provider" -Tags "CI" {
|
||||
BeforeAll {
|
||||
$testModulePath = Join-Path $TestDrive "ReproModule"
|
||||
New-Item -Path $testModulePath -ItemType Directory > $null
|
||||
|
||||
New-ModuleManifest -Path "$testModulePath/ReproModule.psd1" -RootModule 'testmodule.dll'
|
||||
|
||||
$testBinaryModulePath = Join-Path $testModulePath "testmodule.dll"
|
||||
$binaryModule = @'
|
||||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Management.Automation;
|
||||
using System.Management.Automation.Provider;
|
||||
|
||||
namespace module {
|
||||
[CmdletProvider(
|
||||
"SamplePrv",
|
||||
ProviderCapabilities.ShouldProcess)]
|
||||
public class SampleProvider : ContainerCmdletProvider {
|
||||
protected override bool IsValidPath(string path) {
|
||||
return true;
|
||||
}
|
||||
|
||||
protected override bool ItemExists(string path) {
|
||||
return path == "test.txt";
|
||||
}
|
||||
|
||||
protected override void GetItem(string path) {
|
||||
Item resultItem;
|
||||
if (path == "test.txt") {
|
||||
resultItem = new Item { Name = "test.txt" };
|
||||
} else {
|
||||
throw new Exception("Item not found.");
|
||||
}
|
||||
|
||||
WriteItemObject(resultItem, path, false);
|
||||
}
|
||||
|
||||
protected override Collection<PSDriveInfo> InitializeDefaultDrives() {
|
||||
var drive = new PSDriveInfo(
|
||||
"defaultSampleDrive",
|
||||
ProviderInfo,
|
||||
"/",
|
||||
"Sample default drive",
|
||||
null);
|
||||
var result = new Collection<PSDriveInfo> {drive};
|
||||
return result;
|
||||
}
|
||||
|
||||
private class Item {
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
'@
|
||||
Add-Type -OutputAssembly $testBinaryModulePath -TypeDefinition $binaryModule
|
||||
|
||||
$pwsh = "$PSHOME\pwsh"
|
||||
}
|
||||
|
||||
It "Import a PowerShell provider with correct name" {
|
||||
$result = & $pwsh -NoProfile -Command "Import-Module -Name $testModulePath; (Get-Item ReproModule\SamplePrv::test.txt).PSPath"
|
||||
$result | Should -BeExactly "ReproModule\SamplePrv::test.txt"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user