From 31ec32896f9fdfb496e21ada33ff11356db134cb Mon Sep 17 00:00:00 2001 From: JumpingYang001 Date: Tue, 22 Mar 2016 20:13:57 -0700 Subject: [PATCH] Update Fact Skip for not work tests for FileSystemProvider xunit test --- test/csharp/test_FileSystemProvider.cs | 75 +++++++++++++++++++------- 1 file changed, 55 insertions(+), 20 deletions(-) diff --git a/test/csharp/test_FileSystemProvider.cs b/test/csharp/test_FileSystemProvider.cs index bb317ace02..fd6488c180 100644 --- a/test/csharp/test_FileSystemProvider.cs +++ b/test/csharp/test_FileSystemProvider.cs @@ -1,16 +1,42 @@ using Xunit; using System; using System.Collections.ObjectModel; +using System.Globalization; using System.IO; +using System.Linq; using System.Management.Automation; +using System.Management.Automation.Host; +using System.Management.Automation.Internal; +using System.Management.Automation.Internal.Host; using System.Management.Automation.Provider; +using System.Management.Automation.Runspaces; +using Microsoft.PowerShell; using Microsoft.PowerShell.Commands; +using Microsoft.PowerShell.Linux.Host; namespace PSTests { [Collection("AssemblyLoadContext")] public static class FileSystemProviderTests { + private static ProviderInfo GetProvider() + { + CultureInfo currentCulture = CultureInfo.CurrentCulture; + PSHost hostInterface = new DefaultHost(currentCulture,currentCulture); + RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create(); + InitialSessionState iss = InitialSessionState.CreateDefault2(); + + AutomationEngine engine = new AutomationEngine(hostInterface, runspaceConfiguration, iss); + ExecutionContext executionContext = new ExecutionContext(engine, hostInterface, iss); + SessionStateInternal sessionState = new SessionStateInternal(executionContext); + + SessionStateProviderEntry providerEntry = new SessionStateProviderEntry("FileSystem",typeof(FileSystemProvider), null); + sessionState.AddSessionStateEntry(providerEntry); + ProviderInfo matchingProvider = sessionState.ProviderList.ToList()[0]; + + return matchingProvider; + } + [Fact] public static void TestCreateJunctionFails() { @@ -34,48 +60,57 @@ namespace PSTests Assert.NotEqual(FileSystemProvider.Mode(PSObject.AsPSObject(fileSystemObject)),String.Empty); } - [Fact] + [Fact(Skip = "Need mock")] public static void TestGetProperty() { - //FileSystemProvider fileSystemProvider = new FileSystemProvider(); - //fileSystemProvider.GetProperty(@"/", new Collection(){"Attributes"}); + string path = @"/filesystemobject1"; + FileSystemProvider fileSystemProvider = new FileSystemProvider(); + ProviderInfo providerInfoToSet = GetProvider(); + fileSystemProvider.SetProviderInformation(providerInfoToSet); + FileInfo fileSystemObject1 = new FileInfo(path); + fileSystemProvider.SetProperty(path, PSObject.AsPSObject(fileSystemObject1)); + fileSystemProvider.GetProperty(path, new Collection(){"Attributes"}); } - [Fact] + [Fact(Skip = "Need mock")] public static void TestSetProperty() { - //FileSystemProvider fileSystemProvider = new FileSystemProvider(); - //fileSystemProvider.SetProperty(@"/root", PSObject.AsPSObject(propertyToSet)); + string path = @"/filesystemobject1"; + FileSystemProvider fileSystemProvider = new FileSystemProvider(); + ProviderInfo providerInfoToSet = GetProvider(); + fileSystemProvider.SetProviderInformation(providerInfoToSet); + FileInfo fileSystemObject1 = new FileInfo(path); + fileSystemProvider.SetProperty(@"/root", PSObject.AsPSObject(fileSystemObject1)); } - [Fact] + [Fact(Skip = "Need mock")] public static void TestClearProperty() { - // FileSystemProvider fileSystemProvider = new FileSystemProvider(); - // fileSystemProvider.ClearProperty(@"/test", new Collection(){"Attributes"}); + FileSystemProvider fileSystemProvider = new FileSystemProvider(); + fileSystemProvider.ClearProperty(@"/test", new Collection(){"Attributes"}); } - [Fact] + [Fact(Skip = "Need mock")] public static void TestGetContentReader() { - // FileSystemProvider fileSystemProvider = new FileSystemProvider(); - // IContentReader contentReader = fileSystemProvider.GetContentReader(@"/test"); - // Assert.NotNull(contentReader); + FileSystemProvider fileSystemProvider = new FileSystemProvider(); + IContentReader contentReader = fileSystemProvider.GetContentReader(@"/test"); + Assert.NotNull(contentReader); } - [Fact] + [Fact(Skip = "Need mock")] public static void TestGetContentWriter() { - // FileSystemProvider fileSystemProvider = new FileSystemProvider(); - // IContentWriter contentWriter = fileSystemProvider.GetContentWriter(@"/test"); - // Assert.NotNull(contentWriter); + FileSystemProvider fileSystemProvider = new FileSystemProvider(); + IContentWriter contentWriter = fileSystemProvider.GetContentWriter(@"/test"); + Assert.NotNull(contentWriter); } - [Fact] + [Fact(Skip = "Need mock")] public static void TestClearContent() { - //FileSystemProvider fileSystemProvider = new FileSystemProvider(); - //fileSystemProvider.ClearContent(@"/test"); + FileSystemProvider fileSystemProvider = new FileSystemProvider(); + fileSystemProvider.ClearContent(@"/test"); } } }