public async Task RunAsync_InstallsCrd_Async() { var kubernetes = new Mock <KubernetesClient>(MockBehavior.Strict); kubernetes .Setup(k => k.InstallOrUpgradeCustomResourceDefinitionAsync(It.IsAny <V1CustomResourceDefinition>(), TimeSpan.FromMinutes(1), default)) .Returns <V1CustomResourceDefinition, TimeSpan, CancellationToken>( (crd, timeout, ct) => { return(Task.FromResult(crd)); }); var builder = new HostBuilder(); builder.ConfigureServices( (services) => { services.AddSingleton <IConsole, TestConsole>(); services.AddSingleton <KubernetesClient>(kubernetes.Object); services.AddLogging(); services.AddSingleton <ExtensionsInstaller>(); }); var host = builder.Build(); await ExtensionsInstaller.RunAsync(host); kubernetes.Verify(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) => ExtensionsInstaller.InstallServicesInAssembly(services, _configuration);