public async Task <HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = new CancellationToken()) { try { _logger.LogInformation("Performing TalentLMS API connection health check"); await _talentLmsApiService.ListAllUsersAsync(); // TODO: degraded if there is no users? return(HealthCheckResult.Healthy()); } catch (Exception e) { _logger.LogError(e, "TalentLMS API connection health check failed"); return(HealthCheckResult.Unhealthy(e.Message)); } }
public static async Task DeleteAllUsersAsync(this ITalentLmsApiService service) { var adminUserId = Environment.GetEnvironmentVariable(TalentLmsTestEnv.UserIdEnvKey); if (string.IsNullOrWhiteSpace(adminUserId)) { throw new InvalidOperationException($"{TalentLmsTestEnv.UserIdEnvKey} env variable is not set"); } var users = await service.ListAllUsersAsync(); foreach (var user in users) { if (!adminUserId.Equals(user.Id)) { await service.DeleteUserAsync(user.Id, adminUserId); } } }