2 implementations of IDevTunnelClient
Aspire.Hosting.DevTunnels (1)
DevTunnelCliClient.cs (1)
12internal sealed class DevTunnelCliClient : IDevTunnelClient
Aspire.Hosting.DevTunnels.Tests (1)
TestDevTunnelClient.cs (1)
10internal sealed class TestDevTunnelClient(Version? cliVersion = null) : IDevTunnelClient
35 references to IDevTunnelClient
Aspire.Hosting.DevTunnels (9)
DevTunnelLoginManager.cs (2)
11IDevTunnelClient devTunnelClient, 18private readonly IDevTunnelClient _devTunnelClient = devTunnelClient;
DevTunnelMonitor.cs (2)
26private readonly IDevTunnelClient _client; 55_client = services.GetRequiredService<IDevTunnelClient>();
DevTunnelResourceBuilderExtensions.cs (5)
85builder.Services.TryAddSingleton<IDevTunnelClient, DevTunnelCliClient>(); 123var devTunnelClient = e.Services.GetRequiredService<IDevTunnelClient>(); 962var devTunnelClient = context.Services.GetRequiredService<IDevTunnelClient>();
Aspire.Hosting.DevTunnels.Tests (26)
DevTunnelCliVersionValidationTests.cs (1)
30.AddSingleton<IDevTunnelClient>(devTunnelClient)
DevTunnelMonitorTests.cs (4)
26Assert.All(test.Client.Calls, c => Assert.Equal(nameof(IDevTunnelClient.GetAccessAsync), c.Method)); 41Assert.Single(test.Client.Calls, c => c.Method == nameof(IDevTunnelClient.GetTunnelAsync)); 429Assert.Single(test.Client.Calls, c => c.Method == nameof(IDevTunnelClient.GetTunnelAsync)); 545Assert.Equal(3, test.Client.Calls.Count(c => c.Method == nameof(IDevTunnelClient.GetTunnelAsync)));
DevTunnelResourceBuilderExtensionsTests.cs (20)
218builder.Services.AddSingleton<IDevTunnelClient>(client); 240Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.CreateTunnelAsync) && call.TunnelId == "mytunnel"); 241Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.GetPortListAsync) && call.TunnelId == "mytunnel.eun1"); 242Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.CreatePortAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber == 5001); 243Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.DeletePortAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber == 6000); 262builder.Services.AddSingleton<IDevTunnelClient>(client); 282Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.CreateTunnelAsync) && call.TunnelId == "mytunnel"); 283Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.GetPortListAsync) && call.TunnelId == "mytunnel.eun1"); 284Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.CreatePortAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber == 5001); 285Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.DeletePortAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber == 6000); 305builder.Services.AddSingleton<IDevTunnelClient>(client); 332Assert.Equal(nameof(IDevTunnelClient.GetTunnelAsync), call.Method); 338Assert.Equal(nameof(IDevTunnelClient.GetAccessAsync), call.Method); 344Assert.Equal(nameof(IDevTunnelClient.GetAccessAsync), call.Method); 367builder.Services.AddSingleton<IDevTunnelClient>(client); 393Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.GetTunnelAsync) && call.TunnelId == "mytunnel.eun1"); 394Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.GetAccessAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber is null); 395Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.GetAccessAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber == 5001); 765builder.Services.AddSingleton<IDevTunnelClient>(client); 871builder.Services.AddSingleton<IDevTunnelClient>(new TestDevTunnelClient());
TestDevTunnelMonitor.cs (1)
23_builder.Services.AddSingleton<IDevTunnelClient>(Client);