Example #1
0
            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*");
            }
Example #2
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 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);
        }
Example #3
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);
        }
Example #5
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);
        }
Example #6
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);
        }
Example #7
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));
        }
Example #8
0
        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);
        }