private Updater CreateVersionUpdater(IFileSystem mockFileSystem) { var projectFileFileFinder = new ProjectFileFinder(mockFileSystem); var dockerFileFileFinder = new DockerFileFinder(mockFileSystem); var environmentFileFileFinder = new EnvironmentFileFinder(mockFileSystem); var dockerComposeFileFileFinder = new DockerComposeFileFinder(mockFileSystem); return(new Updater(_dotNetVersionUpdater, new PhysicalConsole(), projectFileFileFinder, dockerFileFileFinder, environmentFileFileFinder, dockerComposeFileFileFinder, mockFileSystem)); }
public void ShouldNotFindAnyDockerFiles() { var mockFileSystem = new MockFileSystem(new Dictionary <string, MockFileData> { { $"C:{OS.Slash}dev{OS.Slash}solutionfolder{OS.Slash}src{OS.Slash}srcprojectfolder{OS.Slash}srcproject.txt", new MockFileData("") }, { $"C:{OS.Slash}dev{OS.Slash}solutionfolder{OS.Slash}tests{OS.Slash}testprojectfolder{OS.Slash}testproject.cs", new MockFileData("") }, { $"C:{OS.Slash}dev{OS.Slash}solutionfolder{OS.Slash}other{OS.Slash}random{OS.Slash}folder{OS.Slash}otherproj.vb", new MockFileData("") } }); var fileFinder = new EnvironmentFileFinder(mockFileSystem); var results = fileFinder.Search($"C:{OS.Slash}dev{OS.Slash}solutionfolder{OS.Slash}").ToList(); Assert.That(results.Count, Is.EqualTo(0)); }
public void ShouldFindAllEnvironmentFilesInSpecifiedDirectory() { var mockFileSystem = new MockFileSystem(new Dictionary <string, MockFileData> { { $"C:{OS.Slash}dev{OS.Slash}solutionfolder{OS.Slash}src{OS.Slash}srcprojectfolder{OS.Slash}.env", new MockFileData("") }, { $"C:{OS.Slash}dev{OS.Slash}solutionfolder{OS.Slash}tests{OS.Slash}testprojectfolder{OS.Slash}.Env", new MockFileData("") }, { $"C:{OS.Slash}dev{OS.Slash}solutionfolder{OS.Slash}other{OS.Slash}random{OS.Slash}folder{OS.Slash}.ENV", new MockFileData("") }, { $"C:{OS.Slash}dev{OS.Slash}solutionfolder{OS.Slash}other{OS.Slash}random{OS.Slash}test{OS.Slash}test.env", new MockFileData("") } }); var fileFinder = new EnvironmentFileFinder(mockFileSystem); var results = fileFinder.Search($"C:{OS.Slash}dev{OS.Slash}solutionfolder{OS.Slash}").ToList(); Assert.That(results.Count, Is.EqualTo(4)); Assert.That(results.First().Name, Is.EqualTo(".env")); Assert.That(results[1].Name, Is.EqualTo(".Env")); Assert.That(results[2].Name, Is.EqualTo(".ENV")); Assert.That(results[3].Name, Is.EqualTo("test.env")); }
public async Task <int> OnExecute(CommandLineApplication app, IConsole console) { if (string.IsNullOrWhiteSpace(Path)) { Path = Directory.GetCurrentDirectory(); } if (!Directory.Exists(Path)) { console.WriteLine("Supplied Path does not exist. Aborting"); return(await Task.FromResult(-1)); } console.WriteLine($"Starting updating of {Path}"); var projectFileFileFinder = new ProjectFileFinder(_fileSystem); var dockerFileFinder = new DockerFileFinder(_fileSystem); var environmentFileFinder = new EnvironmentFileFinder(_fileSystem); var fileUpdater = new FileUpdater(console); var dockerFiles = dockerFileFinder.Search(Path); var projectFiles = projectFileFileFinder.Search(Path); var envFiles = environmentFileFinder.Search(Path); //TODO: inject the version updater based on the version the user wants var dotNetVersionUpdater = new Version2Point1Updater(); fileUpdater.UpdateProjectFiles(projectFiles, dotNetVersionUpdater); fileUpdater.UpdateDockerFiles(dockerFiles, dotNetVersionUpdater); fileUpdater.UpdateEnvironmentFiles(envFiles, dotNetVersionUpdater); if (Test) { var dotnet = new DotNet(); dotnet.Test(); } return(await Task.FromResult(0)); }