37 references to OutputKind
Aspire.Hosting.DevTunnels (11)
DevTunnelMonitor.cs (5)
511case DevTunnelOutputParser.OutputKind.Port when run.ExpectedPorts.ContainsValue(output.Port): 515case DevTunnelOutputParser.OutputKind.Ready: 521case DevTunnelOutputParser.OutputKind.Connected: 529case DevTunnelOutputParser.OutputKind.Disconnected: 533case DevTunnelOutputParser.OutputKind.Unrecognized when canWarn:
DevTunnelOutputParser.cs (6)
104return new(OutputKind.Ready); 116"restored" or "connected" => new(OutputKind.Connected), 117"closed" or "lost" or "disconnected" => new(OutputKind.Disconnected), 159return new(OutputKind.Port, port, uri); 181return new(OutputKind.Unrecognized); 225internal readonly record struct Output(OutputKind Kind, int Port = 0, Uri? Uri = null);
Aspire.Hosting.DevTunnels.Tests (26)
DevTunnelOutputParserTests.cs (26)
24new DevTunnelOutputParser.Output(DevTunnelOutputParser.OutputKind.Connected), 25new DevTunnelOutputParser.Output(DevTunnelOutputParser.OutputKind.Disconnected) 38Assert.Equal(new(DevTunnelOutputParser.OutputKind.Port, 3000, new("https://abc-3000.usw2.devtunnels.ms/")), parser.Parse(url)); 45Assert.Equal(new(DevTunnelOutputParser.OutputKind.Port, 3000, new("https://abc-3000.usw2.devtunnels.ms/")), 57Assert.Equal(new(DevTunnelOutputParser.OutputKind.Port, 3000, new("https://abc-3000.usw2.devtunnels.ms/")), 70Assert.Equal(new(DevTunnelOutputParser.OutputKind.Ready), new DevTunnelOutputParser("mytunnel").Parse(line)); 78Assert.Equal(new(DevTunnelOutputParser.OutputKind.Ready), parser.Parse("mytunnel.usw2")); 91Assert.Equal(new(DevTunnelOutputParser.OutputKind.Disconnected), 102Assert.Equal(new(DevTunnelOutputParser.OutputKind.Disconnected), parser.Parse("closed.")); 110Assert.Equal(new(DevTunnelOutputParser.OutputKind.Port, 3000, new("https://abc-3000.usw2.devtunnels.ms/")), 113Assert.Equal(new(DevTunnelOutputParser.OutputKind.Ready), parser.Parse("mytunnel.usw2")); 121Assert.Equal(new(DevTunnelOutputParser.OutputKind.Port, 3000, new("https://abc-3000.usw2.devtunnels.ms/")), 123Assert.Equal(new(DevTunnelOutputParser.OutputKind.Ready), parser.Parse("Ready to accept connections")); 124Assert.Equal(new(DevTunnelOutputParser.OutputKind.Ready), parser.Parse("for tunnel: mytunnel.usw2")); 128[InlineData("Connection to host tunnel relay restored.", DevTunnelOutputParser.OutputKind.Connected)] 129[InlineData("Connection to host tunnel relay closed. Another host for the tunnel has connected.", DevTunnelOutputParser.OutputKind.Disconnected)] 130[InlineData("Connection to host tunnel relay lost; reconnecting.", DevTunnelOutputParser.OutputKind.Disconnected)] 131[InlineData("Unexpected future CLI output", DevTunnelOutputParser.OutputKind.Unrecognized)] 132[InlineData("Ready to accept connections for tunnel: other.usw2", DevTunnelOutputParser.OutputKind.Unrecognized)] 133[InlineData("Hosting port: 65536", DevTunnelOutputParser.OutputKind.Unrecognized)] 136Assert.Equal(new((DevTunnelOutputParser.OutputKind)kind), new DevTunnelOutputParser("mytunnel").Parse(text)); 150Assert.Equal(new(DevTunnelOutputParser.OutputKind.Unrecognized), parser.Parse("Connect via browser: " + url)); 158Assert.Equal(new(DevTunnelOutputParser.OutputKind.Unrecognized), parser.Parse("Unknown message")); 159Assert.Equal(new(DevTunnelOutputParser.OutputKind.Unrecognized), 167Assert.Equal(new(DevTunnelOutputParser.OutputKind.Unrecognized), parser.Parse("Hosting port" + new string(':', 5000))); 168Assert.Equal(new(DevTunnelOutputParser.OutputKind.Ready), parser.Parse("Ready to accept connections."));