Xabaril/AspNetCore.Diagnostics.HealthChecks

Ability to run all tests locally

Open

#2,335 opened on Dec 5, 2024

View on GitHub
 (6 comments) (1 reaction) (1 assignee)C# (3,776 stars) (737 forks)batch import
Ups for grabsgood first issuehelp wanted

Description

Some of our tests depend on external services, And they can not run locally unless we manually perform some work.

We configured CI to run these external services.

For example, Milvus uses the docker compose file.

https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks/blob/78d664e13e0fc27c1b79b1706849315cfe87dbab/.github/workflows/healthchecks_milvus_ci.yml#L33-L40

Elasticsearch is configured by services in actions.

https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks/blob/78d664e13e0fc27c1b79b1706849315cfe87dbab/.github/workflows/healthchecks_elasticsearch_ci.yml#L30-L38

We should change these tests to use TestContainer like the Aspire team did.

Update

We migrate the HealthChecks.Redis tests to Testcontainer in #2345. Let's use that PR as a sample and migrate the other tests.

Check Lists

  • HealthChecks.ApplicationStatus
  • HealthChecks.ArangoDb
  • HealthChecks.Aws.S3
  • HealthChecks.Aws.SecretsManager
  • HealthChecks.Aws.Sns
  • HealthChecks.Aws.Sqs
  • HealthChecks.Aws.SystemsManager
  • HealthChecks.Azure.Data.Tables
  • HealthChecks.Azure.IoTHub
  • HealthChecks.Azure.KeyVault.Secrets
  • HealthChecks.Azure.Messaging.EventHubs
  • HealthChecks.Azure.Storage.Blobs
  • HealthChecks.Azure.Storage.Files.Shares
  • HealthChecks.Azure.Storage.Queues
  • HealthChecks.AzureApplicationInsights
  • HealthChecks.AzureDigitalTwin
  • HealthChecks.AzureKeyVault
  • HealthChecks.AzureSearch
  • HealthChecks.AzureServiceBus
  • HealthChecks.ClickHouse (#2412)
  • HealthChecks.Consul
  • HealthChecks.CosmosDb
  • HealthChecks.Dapr
  • HealthChecks.DynamoDb
  • HealthChecks.Elasticsearch
  • HealthChecks.EventStore
  • HealthChecks.EventStore.gRPC
  • HealthChecks.Gcp.CloudFirestore
  • HealthChecks.Gremlin
  • HealthChecks.Hangfire
  • HealthChecks.IbmMQ
  • HealthChecks.InfluxDB
  • HealthChecks.Kafka(#2365)
  • HealthChecks.Kubernetes
  • HealthChecks.Milvus (#2360)
  • HealthChecks.MongoDb (#2351)
  • HealthChecks.MySql (#2353)
  • HealthChecks.Nats
  • HealthChecks.Network
  • HealthChecks.NpgSql (#2349)
  • HealthChecks.OpenIdConnectServer
  • HealthChecks.Oracle
  • HealthChecks.Prometheus.Metrics
  • HealthChecks.Publisher.ApplicationInsights
  • HealthChecks.Publisher.CloudWatch
  • HealthChecks.Publisher.Datadog
  • HealthChecks.Publisher.Prometheus
  • HealthChecks.Publisher.Seq
  • HealthChecks.Qdrant (#2362)
  • HealthChecks.Rabbitmq (#2352)
  • HealthChecks.Rabbitmq.v6 (#2352)
  • HealthChecks.RavenDB (#2408)
  • HealthChecks.Redis (#2345)
  • HealthChecks.SendGrid
  • HealthChecks.SignalR
  • HealthChecks.Solr
  • HealthChecks.Sqlite
  • HealthChecks.SqlServer (#2348)
  • HealthChecks.SurrealDb (#2402))
  • HealthChecks.System
  • HealthChecks.UI
  • HealthChecks.UI.Client
  • HealthChecks.UI.Core
  • HealthChecks.UI.Data
  • HealthChecks.UI.InMemory.Storage
  • HealthChecks.UI.K8s.Operator
  • HealthChecks.UI.MySql.Storage
  • HealthChecks.UI.PostgreSQL.Storage
  • HealthChecks.UI.SQLite.Storage
  • HealthChecks.UI.SqlServer.Storage
  • HealthChecks.Uris

CC @adamsitnik @eerhardt @unaizorrilla

Contributor guide