public async Task fast_path_commands_over_proxy_can_be_handled() { var connector = new StdIoKernelConnector(new[] { Dotnet.Path.FullName, typeof(App.Program).Assembly.Location, "stdio", "--default-kernel", "csharp", }); using var kernel = await connector.ConnectKernelAsync(new KernelInfo ("proxy")); var markedCode = "var x = 12$$34;"; MarkupTestFile.GetLineAndColumn(markedCode, out var code, out var line, out var column); var result = await kernel.SendAsync(new RequestHoverText(code, new LinePosition(line, column))); var events = result.KernelEvents.ToSubscribedList(); events .Should() .EventuallyContainSingle <HoverTextProduced>(); }
protected override Task <KernelConnectorBase> CreateConnectorAsync(StdioConnectionTestConfiguration configuration) { var command = new List <string> { configuration.Command }; if (configuration.Args?.Length > 0) { command.AddRange(configuration.Args); } var connector = new StdIoKernelConnector(command.ToArray(), configuration.WorkingDirectory); return(Task.FromResult <KernelConnectorBase>(connector)); }
public async Task it_can_reuse_connection_for_multiple_proxy_kernel() { // setup connection using var connector = new StdIoKernelConnector(new[] { Dotnet.Path.FullName, typeof(App.Program).Assembly.Location, "stdio", "--default-kernel", "csharp", }); // use same connection to create 2 proxy kernel using var localKernel1 = await connector.ConnectKernelAsync(new KernelInfo ("kernel1")); using var localKernel2 = await connector.ConnectKernelAsync(new KernelInfo ("kernel2")); var kernelCommand1 = new SubmitCode("(1+1).Display(\"text/plain\")"); var kernelCommand2 = new SubmitCode("(3+3).Display(\"text/plain\")"); var res1 = await localKernel1.SendAsync(kernelCommand1); var res2 = await localKernel2.SendAsync(kernelCommand2); var kernelEvents1 = res1.KernelEvents.ToSubscribedList(); var kernelEvents2 = res2.KernelEvents.ToSubscribedList(); kernelEvents1.Should().ContainSingle <CommandSucceeded>().Which.Command.As <SubmitCode>().Code.Should() .Be(kernelCommand1.Code); kernelEvents1.Should().ContainSingle <DisplayedValueProduced>().Which.FormattedValues.Should().ContainSingle(f => f.Value == "2"); kernelEvents2.Should().ContainSingle <CommandSucceeded>().Which.Command.As <SubmitCode>().Code.Should() .Be(kernelCommand2.Code); kernelEvents2.Should().ContainSingle <DisplayedValueProduced>().Which.FormattedValues.Should().ContainSingle(f => f.Value == "6"); }