public async Task be_healthy_when_connection_to_sftp_is_successful_using_private_key() { string privateKey = File.ReadAllText("id_rsa"); var webHostBuilder = new WebHostBuilder() .ConfigureServices(services => { services.AddHealthChecks() .AddSftpHealthCheck(setup => { var cfg = new SftpConfigurationBuilder("localhost", 22, "foo") .AddPrivateKeyAuthentication(privateKey, "beatpulse") .Build(); setup.AddHost(cfg); }, tags: new string[] { "sftp" }); }) .Configure(app => { app.UseHealthChecks("/health", new HealthCheckOptions() { Predicate = r => r.Tags.Contains("sftp") }); }); using var server = new TestServer(webHostBuilder); var response = await server.CreateRequest("/health") .GetAsync(); response.EnsureSuccessStatusCode(); }
public async Task be_unhealthy_when_connection_to_sftp_is_using_wrong_password() { var webHostBuilder = new WebHostBuilder() .ConfigureServices(services => { services.AddHealthChecks() .AddSftpHealthCheck(setup => { var cfg = new SftpConfigurationBuilder("localhost", 22, "foo") .AddPasswordAuthentication("wrongpass") .Build(); setup.AddHost(cfg); }, tags: new string[] { "sftp" }); }) .Configure(app => { app.UseHealthChecks("/health", new HealthCheckOptions() { Predicate = r => r.Tags.Contains("sftp") }); }); using var server = new TestServer(webHostBuilder); var response = await server.CreateRequest("/health") .GetAsync(); response.StatusCode.Should().Be(HttpStatusCode.ServiceUnavailable); }
public async Task be_healthy_when_connection_to_sftp_is_successful_using_password_authentication() { var webHostBuilder = new WebHostBuilder() .ConfigureServices(services => { services.AddHealthChecks() .AddSftpHealthCheck(setup => { var cfg = new SftpConfigurationBuilder("localhost", 22, "foo") .AddPasswordAuthentication("pass") .Build(); setup.AddHost(cfg); }, tags: new string[] { "sftp" }, timeout: TimeSpan.FromSeconds(5)); }) .Configure(app => { app.UseHealthChecks("/health", new HealthCheckOptions() { Predicate = r => r.Tags.Contains("sftp") }); }); using var server = new TestServer(webHostBuilder); var response = await server.CreateRequest("/health") .GetAsync(); response.EnsureSuccessStatusCode(); }
public async Task be_healthy_when_connection_to_sftp_is_successful_using_private_key() { string privateKey = File.ReadAllText("id_rsa"); var webHostBuilder = new WebHostBuilder() .UseStartup <DefaultStartup>() .UseBeatPulse() .ConfigureServices(services => { services.AddBeatPulse(setup => { setup.AddSftpLiveness(options => { var sftpConfiguration = new SftpConfigurationBuilder("localhost", 22, "foo") .AddPrivateKeyAuthentication(privateKey, "beatpulse") .Build(); options.AddHost(sftpConfiguration); }); }); }); var server = new TestServer(webHostBuilder); var response = await server.CreateRequest(BeatPulseKeys.BEATPULSE_DEFAULT_PATH) .GetAsync(); response.EnsureSuccessStatusCode(); }
public async Task be_unhealthy_when_connection_to_sftp_is_using_wrong_password() { var webHostBuilder = new WebHostBuilder() .UseStartup <DefaultStartup>() .UseBeatPulse() .ConfigureServices(services => { services.AddBeatPulse(setup => { setup.AddSftpLiveness(options => { var sftpConfiguration = new SftpConfigurationBuilder("localhost", 22, "foo") .AddPasswordAuthentication("wrongpass") .Build(); options.AddHost(sftpConfiguration); }); }); }); var server = new TestServer(webHostBuilder); var response = await server.CreateRequest(BeatPulseKeys.BEATPULSE_DEFAULT_PATH) .GetAsync(); response.StatusCode.Should().Be(HttpStatusCode.ServiceUnavailable); }
public async Task be_healthy_with_one_valid_authorization() { string privateKey = File.ReadAllText("id_rsa"); var webHostBuilder = new WebHostBuilder() .UseStartup <DefaultStartup>() .ConfigureServices(services => { services.AddHealthChecks() .AddSftpHealthCheck(setup => { var cfg = new SftpConfigurationBuilder("localhost", 22, "foo") .AddPasswordAuthentication("wrongpass") .AddPrivateKeyAuthentication(privateKey, "beatpulse") .Build(); setup.AddHost(cfg); }, tags: new string[] { "sftp" }); }) .Configure(app => { app.UseHealthChecks("/health", new HealthCheckOptions() { Predicate = r => r.Tags.Contains("sftp") }); }); var server = new TestServer(webHostBuilder); var response = await server.CreateRequest("/health") .GetAsync(); response.EnsureSuccessStatusCode(); }