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

贡献者指南