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)
207builder.Services.AddSingleton<IDevTunnelClient>(client); 227Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.CreateTunnelAsync) && call.TunnelId == "mytunnel"); 228Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.GetPortListAsync) && call.TunnelId == "mytunnel.eun1"); 229Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.CreatePortAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber == 5001); 230Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.DeletePortAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber == 6000); 249builder.Services.AddSingleton<IDevTunnelClient>(client); 267Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.CreateTunnelAsync) && call.TunnelId == "mytunnel"); 268Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.GetPortListAsync) && call.TunnelId == "mytunnel.eun1"); 269Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.CreatePortAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber == 5001); 270Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.DeletePortAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber == 6000); 290builder.Services.AddSingleton<IDevTunnelClient>(client); 315Assert.Equal(nameof(IDevTunnelClient.GetTunnelAsync), call.Method); 321Assert.Equal(nameof(IDevTunnelClient.GetAccessAsync), call.Method); 327Assert.Equal(nameof(IDevTunnelClient.GetAccessAsync), call.Method); 350builder.Services.AddSingleton<IDevTunnelClient>(client); 374Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.GetTunnelAsync) && call.TunnelId == "mytunnel.eun1"); 375Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.GetAccessAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber is null); 376Assert.Contains(calls, call => call.Method == nameof(IDevTunnelClient.GetAccessAsync) && call.TunnelId == "mytunnel.eun1" && call.PortNumber == 5001); 724builder.Services.AddSingleton<IDevTunnelClient>(client); 830builder.Services.AddSingleton<IDevTunnelClient>(new TestDevTunnelClient());
TestDevTunnelMonitor.cs (1)
23_builder.Services.AddSingleton<IDevTunnelClient>(Client);