public void GivenEnvironmentAndReporterItCanPrintOutInstructionToAddPath() { var fakeReporter = new FakeReporter(); var osxEnvironmentPath = new OSXEnvironmentPath( @"~/executable/path", @"/Users/name/executable/path", fakeReporter, new FakeEnvironmentProvider( new Dictionary <string, string> { { "PATH", "" } }), FakeFile.Empty); osxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); // similar to https://code.visualstudio.com/docs/setup/mac fakeReporter.Message.Should().Be( $"Cannot find the tools executable path. Please ensure /Users/name/executable/path is added to your PATH.{Environment.NewLine}" + $"If you are using bash, You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + $"# Add .NET Core SDK tools{Environment.NewLine}" + $"export PATH=\"$PATH:/Users/name/executable/path\"{Environment.NewLine}" + $"EOF"); }
public void GivenEnvironmentAndReporterItPrintsNothingWhenenvironmentExists() { var fakeReporter = new FakeReporter(); var linuxEnvironmentPath = new LinuxEnvironmentPath( @"executable\path", fakeReporter, new FakeEnvironmentProvider( new Dictionary <string, string> { { "PATH", @"executable\path" } }), FakeFile.Empty); linuxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); fakeReporter.Message.Should().BeEmpty(); }
public void GivenEnvironmentAndReporterItPrintsNothingWhenenvironmentExists(string existingPath) { var fakeReporter = new FakeReporter(); var osxEnvironmentPath = new OSXEnvironmentPath( @"~/executable/path", @"/Users/name/executable/path", fakeReporter, new FakeEnvironmentProvider( new Dictionary <string, string> { { "PATH", existingPath } }), FakeFile.Empty); osxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); fakeReporter.Message.Should().BeEmpty(); }
public void GivenAddPackageExecutablePathToUserPathJustRunItPrintsInstructionToLogout() { var fakeReporter = new FakeReporter(); var linuxEnvironmentPath = new LinuxEnvironmentPath( @"executable\path", fakeReporter, new FakeEnvironmentProvider( new Dictionary <string, string> { { "PATH", @"" } }), FakeFile.Empty); linuxEnvironmentPath.AddPackageExecutablePathToUserPath(); linuxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); fakeReporter.Message.Should().Be("Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed."); }