public async Task Errors_are_written_to_std_out() { var root = new DirectoryInfo(Directory.GetDirectoryRoot(Directory.GetCurrentDirectory())); var directoryAccessor = new InMemoryDirectoryAccessor(root, root) { ("doc.md", @" This is some sample code: ```cs --source-file Program.cs ``` ") }; var console = new TestConsole(); await VerifyCommand.Do( new VerifyOptions(root), console, () => directoryAccessor, PackageRegistry.CreateForTryMode(root)); console.Out .ToString() .Should() .Match($"*{root}doc.md*Line 3:*{root}Program.cs (in project UNKNOWN)*File not found: ./Program.cs*No project file or package specified*"); }
public async Task When_the_template_is_installed_verify_works() { var baseDirectory = Create.EmptyWorkspace().Directory; var outputDirectory = baseDirectory.CreateSubdirectory("outputTemplate"); await InstallTemplateAndCreateProject(baseDirectory, outputDirectory); var dotnet = new Dotnet(outputDirectory); //The template targets 3.0 hence verify should run against 3.0 and not 2.1.503 used in the solution directory await dotnet.New("global.json", "--sdk-version 3.0.100-preview6-012264"); var console = new TestConsole(); var directoryAccessor = new FileSystemDirectoryAccessor(outputDirectory); var resultCode = await VerifyCommand.Do( new VerifyOptions(outputDirectory), console, () => directoryAccessor, PackageRegistry.CreateForTryMode(outputDirectory)); console.Out .ToString() .EnforceLF() .Trim() .Should() .Match( $"{outputDirectory}{Path.DirectorySeparatorChar}Readme.md*Line *:*{outputDirectory}{Path.DirectorySeparatorChar}Program.cs (in project {outputDirectory}{Path.DirectorySeparatorChar}{outputDirectory.Name}.csproj)*".EnforceLF()); resultCode.Should().Be(0); }
public async Task Demo_sources_pass_verification() { var console = new TestConsole(); var demoSourcesDir = new DirectoryInfo(@"c:\dev\agent\docs\gettingstarted"); var packageFile = demoSourcesDir.Subdirectory("Snippets") .File("Snippets.csproj"); _output.WriteLine(demoSourcesDir.FullName); _output.WriteLine(packageFile.FullName); await DemoCommand.Do(new DemoOptions(output : demoSourcesDir), console); var resultCode = await VerifyCommand.Do( new VerifyOptions(dir : demoSourcesDir), console, () => new FileSystemDirectoryAccessor(demoSourcesDir), new PackageRegistry(), new StartupOptions(package : packageFile.FullName)); _output.WriteLine(console.Out.ToString()); _output.WriteLine(console.Error.ToString()); resultCode.Should().Be(0); }
public async Task When_the_template_is_installed_verify_works() { var baseDirectory = Create.EmptyWorkspace().Directory; var outputDirectory = baseDirectory.CreateSubdirectory("outputTemplate"); await InstallTemplateAndCreateProject(baseDirectory, outputDirectory); var console = new TestConsole(); var directoryAccessor = new FileSystemDirectoryAccessor(outputDirectory); var resultCode = await VerifyCommand.Do( new VerifyOptions(outputDirectory), console, () => directoryAccessor, PackageRegistry.CreateForTryMode(outputDirectory)); console.Out .ToString() .EnforceLF() .Trim() .Should() .Match( $"{outputDirectory}{Path.DirectorySeparatorChar}Readme.md*Line 24:*{outputDirectory}{Path.DirectorySeparatorChar}Program.cs (in project {outputDirectory}{Path.DirectorySeparatorChar}{outputDirectory.Name}.csproj)*".EnforceLF()); resultCode.Should().Be(0); }
public async Task Demo_returns_an_error_if_the_output_directory_is_not_empty() { var console = new TestConsole(); var outputDirectory = Create.EmptyWorkspace().Directory; File.WriteAllText(Path.Combine(outputDirectory.FullName, "a file.txt"), ""); await DemoCommand.Do( new DemoOptions(output : outputDirectory), console, startServer : (options, context) => { }); var resultCode = await VerifyCommand.Do( new VerifyOptions(new FileSystemDirectoryAccessor(outputDirectory)), console); resultCode.Should().NotBe(0); }
public async Task Demo_project_passes_verification() { var console = new TestConsole(); var outputDirectory = Create.EmptyWorkspace().Directory; var packageFile = outputDirectory.Subdirectory("Snippets") .File("Snippets.csproj"); await DemoCommand.Do(new DemoOptions(output : outputDirectory), console); var resultCode = await VerifyCommand.Do( new VerifyOptions(new FileSystemDirectoryAccessor(outputDirectory)), console, startupOptions : new StartupOptions(package: packageFile.FullName)); _output.WriteLine(console.Out.ToString()); _output.WriteLine(console.Error.ToString()); resultCode.Should().Be(0); }
public async Task Demo_starts_the_server_if_there_are_no_errors() { var console = new TestConsole(); var outputDirectory = Create.EmptyWorkspace().Directory; StartupOptions startupOptions = null; await DemoCommand.Do( new DemoOptions(output : outputDirectory), console, (options, context) => startupOptions = options); await VerifyCommand.Do( new VerifyOptions(new FileSystemDirectoryAccessor(outputDirectory)), console); _output.WriteLine(console.Out.ToString()); _output.WriteLine(console.Error.ToString()); startupOptions.Uri.Should().Be(new Uri("QuickStart.md", UriKind.Relative)); }
public async Task Demo_sources_pass_verification() { var console = new TestConsole(); var demoSourcesDir = Create.EmptyWorkspace().Directory; var packageFile = demoSourcesDir.Subdirectory("Snippets") .File("Snippets.csproj"); _output.WriteLine(demoSourcesDir.FullName); _output.WriteLine(packageFile.FullName); await DemoCommand.Do(new DemoOptions(output : demoSourcesDir), console); var resultCode = await VerifyCommand.Do( new VerifyOptions(new FileSystemDirectoryAccessor(demoSourcesDir)), console); _output.WriteLine(console.Out.ToString()); _output.WriteLine(console.Error.ToString()); resultCode.Should().Be(0); }