public void TestGetHelpMaml() { FileSystemProvider fileSystemProvider = new FileSystemProvider(); Assert.Equal(fileSystemProvider.GetHelpMaml(String.Empty,String.Empty),String.Empty); Assert.Equal(fileSystemProvider.GetHelpMaml("helpItemName",String.Empty),String.Empty); Assert.Equal(fileSystemProvider.GetHelpMaml(String.Empty,"path"),String.Empty); }
public void TestGetProperty() { FileSystemProvider fileSystemProvider = new FileSystemProvider(); ProviderInfo providerInfoToSet = GetProvider(); fileSystemProvider.SetProviderInformation(providerInfoToSet); fileSystemProvider.Context = new CmdletProviderContext(GetExecutionContext()); PSObject pso=new PSObject(); pso.AddOrSetProperty("IsReadOnly",false); fileSystemProvider.SetProperty(testPath, pso); fileSystemProvider.GetProperty(testPath, new Collection<string>(){"IsReadOnly"}); FileInfo fileSystemObject1 = new FileInfo(testPath); PSObject psobject1=PSObject.AsPSObject(fileSystemObject1); foreach(PSPropertyInfo property in psobject1.Properties) { if(property.Name == "IsReadOnly") { Assert.Equal(property.Value,false); } } }
public void TestGetContentWriter() { FileSystemProvider fileSystemProvider = new FileSystemProvider(); ProviderInfo providerInfoToSet = GetProvider(); fileSystemProvider.SetProviderInformation(providerInfoToSet); fileSystemProvider.Context = new CmdletProviderContext(GetExecutionContext()); IContentWriter contentWriter = fileSystemProvider.GetContentWriter(testPath); contentWriter.Write(new List<string>(){"contentWriterTestContent"}); contentWriter.Close(); Assert.Equal(File.ReadAllText(testPath), testContent+@"contentWriterTestContent"+ System.Environment.NewLine); }
public void TestClearContent() { FileSystemProvider fileSystemProvider = new FileSystemProvider(); ProviderInfo providerInfoToSet = GetProvider(); fileSystemProvider.SetProviderInformation(providerInfoToSet); fileSystemProvider.Context = new CmdletProviderContext(GetExecutionContext()); fileSystemProvider.ClearContent(testPath); Assert.Empty(File.ReadAllText(testPath)); }
public void TestGetContentReader() { FileSystemProvider fileSystemProvider = new FileSystemProvider(); ProviderInfo providerInfoToSet = GetProvider(); fileSystemProvider.SetProviderInformation(providerInfoToSet); fileSystemProvider.Context = new CmdletProviderContext(GetExecutionContext()); IContentReader contentReader = fileSystemProvider.GetContentReader(testPath); Assert.Equal(contentReader.Read(1)[0],testContent); contentReader.Close(); }
public void TestClearProperty() { FileSystemProvider fileSystemProvider = new FileSystemProvider(); ProviderInfo providerInfoToSet = GetProvider(); fileSystemProvider.SetProviderInformation(providerInfoToSet); fileSystemProvider.Context = new CmdletProviderContext(GetExecutionContext()); fileSystemProvider.ClearProperty(testPath, new Collection<string>(){"Attributes"}); }
internal static int WNetAddConnection2(ref FileSystemProvider.NetResource netResource, byte[] password, string username, int flags) { return 0; }
public static Hashtable Invoke(System.Management.Automation.PowerShell ps, FileSystemProvider fileSystemContext, CmdletProviderContext cmdletContext, bool shouldHaveOutput) { bool useFileSystemProviderContext = (cmdletContext == null); if (useFileSystemProviderContext) { Dbg.Diagnostics.Assert(fileSystemContext != null, "The caller should verify FileSystemProvider context."); } Collection<Hashtable> output; try { output = ps.Invoke<Hashtable>(); } catch (Exception e) { if (useFileSystemProviderContext) { fileSystemContext.WriteError(new ErrorRecord(e, "CopyFileRemoteExecutionError", ErrorCategory.InvalidOperation, ps)); ps.Commands.Clear(); } else { cmdletContext.WriteError(new ErrorRecord(e, "CopyFileRemoteExecutionError", ErrorCategory.InvalidOperation, ps)); ps.Commands.Clear(); } return null; } if (ps.HadErrors) { foreach (var error in ps.Streams.Error) { if (useFileSystemProviderContext) { fileSystemContext.WriteError(error); } else { cmdletContext.WriteError(error); } } } ps.Commands.Clear(); if (shouldHaveOutput) { if (output.Count != 1 || output[0].GetType() != typeof(Hashtable)) { // unexpected output Dbg.Diagnostics.Assert(output[0] != null, "Expected an output from the remote call."); return null; } return (Hashtable)output[0]; } return null; }
public static Hashtable Invoke(System.Management.Automation.PowerShell ps, FileSystemProvider fileSystemContext, CmdletProviderContext cmdletContext) { return Invoke(ps, fileSystemContext, cmdletContext, true); }