Files
csharp/src/KubernetesClient/FileUtils.cs

34 lines
808 B
C#
Raw Normal View History

using System.IO.Abstractions;
namespace k8s
{
public static class FileUtils
{
2021-08-10 10:40:40 -07:00
private static readonly IFileSystem RealFileSystem = new FileSystem();
private static IFileSystem currentFileSystem = null;
public static void InjectFilesystem(IFileSystem fs)
{
currentFileSystem = fs;
}
public static IFileSystem FileSystem()
{
2021-08-10 10:40:40 -07:00
return currentFileSystem != null ? currentFileSystem : RealFileSystem;
}
public sealed class InjectedFileSystem : IDisposable
{
public InjectedFileSystem(IFileSystem fs)
{
InjectFilesystem(fs);
}
public void Dispose()
{
InjectFilesystem(null);
}
}
}
}