Xabaril/AspNetCore.Diagnostics.HealthChecks

Ability to run all tests locally

Open

#2,335 建立於 2024年12月5日

在 GitHub 查看
 (6 留言) (1 反應) (1 負責人)C# (3,776 star) (737 fork)batch import
Ups for grabsgood first issuehelp wanted

描述

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

貢獻者指南