Skip to content

Commit 7617003

Browse files
committed
feat: update TestHostHelper to support optional host startup in testsfix: stabilize latest CI regressions after test host refactor
- add an opt-in startHost switch to TestHostHelper - run HealthChecks.UI tests without eagerly starting the host to avoid background hosted-service disposal failures - restore new TestServer(host.Services) in the failing docker-backed test suites (AWS SNS/SQS, ClickHouse, Elasticsearch, InfluxDB, MongoDB, RabbitMQ) - keep and validate the Azure Service Bus cancellation fix for net8/net10 Refs: - https://github.com/DotNetDiag/HealthChecks/actions/runs/23973841398 - https://github.com/DotNetDiag/HealthChecks/actions/runs/23973841421 - https://github.com/DotNetDiag/HealthChecks/actions/runs/23973841432 - https://github.com/DotNetDiag/HealthChecks/actions/runs/23973841392 - https://github.com/DotNetDiag/HealthChecks/actions/runs/23973841458 - https://github.com/DotNetDiag/HealthChecks/actions/runs/23973841427 - https://github.com/DotNetDiag/HealthChecks/actions/runs/23973841406 - https://github.com/DotNetDiag/HealthChecks/actions/runs/23973841462 - https://github.com/DotNetDiag/HealthChecks/actions/runs/23973841438 - https://github.com/DotNetDiag/HealthChecks/actions/runs/23973841414 Related: - Xabaril#2433 - Xabaril#2432
1 parent 03883e7 commit 7617003

21 files changed

Lines changed: 84 additions & 79 deletions

File tree

test/HealthChecks.Aws.Sns.Tests/Functional/SnsHealthCheckTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public async Task be_healthy_if_aws_sns_topic_is_available()
3131
});
3232
}));
3333

34-
var server = host.GetTestServer();
34+
using var server = new TestServer(host.Services);
3535
using var response = await server.CreateRequest("/health").GetAsync();
3636

3737
response.StatusCode.ShouldBe(HttpStatusCode.OK);
@@ -63,7 +63,7 @@ public async Task be_unhealthy_if_aws_sns_topic_does_not_exist()
6363
});
6464
}));
6565

66-
var server = host.GetTestServer();
66+
using var server = new TestServer(host.Services);
6767
using var response = await server.CreateRequest("/health").GetAsync();
6868

6969
response.StatusCode.ShouldBe(HttpStatusCode.ServiceUnavailable);

test/HealthChecks.Aws.Sqs.Tests/Functional/SqsHealthCheckTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public async Task be_healthy_if_aws_sqs_queue_is_available()
3131
});
3232
}));
3333

34-
var server = host.GetTestServer();
34+
using var server = new TestServer(host.Services);
3535
using var response = await server.CreateRequest("/health").GetAsync();
3636

3737
response.StatusCode.ShouldBe(HttpStatusCode.OK);
@@ -63,7 +63,7 @@ public async Task be_unhealthy_if_aws_sqs_queue_does_not_exist()
6363
});
6464
}));
6565

66-
var server = host.GetTestServer();
66+
using var server = new TestServer(host.Services);
6767
using var response = await server.CreateRequest("/health").GetAsync();
6868

6969
response.StatusCode.ShouldBe(HttpStatusCode.ServiceUnavailable);

test/HealthChecks.ClickHouse.Tests/Functional/ClickHouseHealthCheckTests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public async Task be_healthy_if_ClickHouse_is_available()
3131
});
3232
}));
3333

34-
var server = host.GetTestServer();
34+
using var server = new TestServer(host.Services);
3535

3636
using var response = await server.CreateRequest("/health").GetAsync();
3737

@@ -55,7 +55,7 @@ public async Task be_unhealthy_if_sql_query_is_not_valid()
5555
});
5656
}));
5757

58-
var server = host.GetTestServer();
58+
using var server = new TestServer(host.Services);
5959

6060
using var response = await server.CreateRequest("/health").GetAsync();
6161

@@ -82,7 +82,7 @@ public async Task be_unhealthy_if_ClickHouse_is_not_available()
8282
});
8383
}));
8484

85-
var server = host.GetTestServer();
85+
using var server = new TestServer(host.Services);
8686

8787
using var response = await server.CreateRequest("/health").GetAsync();
8888

@@ -111,7 +111,7 @@ public async Task be_healthy_if_ClickHouse_is_available_by_iServiceProvider_regi
111111
});
112112
}));
113113

114-
var server = host.GetTestServer();
114+
using var server = new TestServer(host.Services);
115115

116116
using var response = await server.CreateRequest("/health").GetAsync();
117117

@@ -144,7 +144,7 @@ public async Task be_unhealthy_if_ClickHouse_is_not_available_registered()
144144
});
145145
}));
146146

147-
var server = host.GetTestServer();
147+
using var server = new TestServer(host.Services);
148148

149149
using var response = await server.CreateRequest("/health").GetAsync();
150150

@@ -175,7 +175,7 @@ public async Task unhealthy_check_log_detailed_messages()
175175
});
176176
}));
177177

178-
var server = host.GetTestServer();
178+
using var server = new TestServer(host.Services);
179179

180180
using var response = await server.CreateRequest("/health").GetAsync();
181181

test/HealthChecks.Elasticsearch.Tests/Functional/ElasticsearchAuthenticationTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public async Task be_healthy_if_elasticsearch_is_using_valid_api_key()
3838
new HealthCheckOptions { Predicate = r => r.Tags.Contains("elasticsearch") });
3939
}));
4040

41-
var server = host.GetTestServer();
41+
using var server = new TestServer(host.Services);
4242

4343
var response = await server.CreateRequest("/health")
4444
.GetAsync();
@@ -73,7 +73,7 @@ public async Task be_healthy_if_elasticsearch_is_using_valid_user_and_password()
7373
new HealthCheckOptions { Predicate = r => r.Tags.Contains("elasticsearch") });
7474
}));
7575

76-
var server = host.GetTestServer();
76+
using var server = new TestServer(host.Services);
7777

7878
var response = await server.CreateRequest("/health")
7979
.GetAsync();

test/HealthChecks.Elasticsearch.Tests/Functional/ElasticsearchHealthCheckTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public async Task be_healthy_if_elasticsearch_is_available()
2323
});
2424
}));
2525

26-
var server = host.GetTestServer();
26+
using var server = new TestServer(host.Services);
2727

2828
using var response = await server.CreateRequest("/health").GetAsync();
2929

@@ -47,7 +47,7 @@ public async Task be_unhealthy_if_elasticsearch_is_not_available()
4747
});
4848
}));
4949

50-
var server = host.GetTestServer();
50+
using var server = new TestServer(host.Services);
5151

5252
using var response = await server.CreateRequest("/health").GetAsync();
5353

test/HealthChecks.InfluxDB.Tests/Functional/InfluxDBHealthCheckTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public async Task be_healthy_if_influxdb_is_available()
2222
});
2323
}));
2424

25-
var server = host.GetTestServer();
25+
using var server = new TestServer(host.Services);
2626

2727
using var response = await server.CreateRequest("/health").GetAsync();
2828

@@ -47,7 +47,7 @@ public async Task be_unhealthy_if_influxdb_is_unavailable()
4747
});
4848
}));
4949

50-
var server = host.GetTestServer();
50+
using var server = new TestServer(host.Services);
5151

5252
using var response = await server.CreateRequest("/health").GetAsync();
5353

test/HealthChecks.MongoDb.Tests/Functional/MongoDbHealthCheckTests.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public async Task be_healthy_listing_all_databases_if_mongodb_is_available()
2626
});
2727
}));
2828

29-
var server = host.GetTestServer();
29+
using var server = new TestServer(host.Services);
3030

3131
using var response = await server.CreateRequest("/health").GetAsync();
3232

@@ -54,7 +54,7 @@ public async Task be_healthy_on_specified_database_if_mongodb_is_available_and_d
5454
});
5555
}));
5656

57-
var server = host.GetTestServer();
57+
using var server = new TestServer(host.Services);
5858

5959
using var response = await server.CreateRequest("/health").GetAsync();
6060

@@ -82,7 +82,7 @@ public async Task be_healthy_on_connectionstring_specified_database_if_mongodb_i
8282
});
8383
}));
8484

85-
var server = host.GetTestServer();
85+
using var server = new TestServer(host.Services);
8686

8787
using var response = await server.CreateRequest("/health").GetAsync();
8888

@@ -110,7 +110,7 @@ public async Task be_healthy_on_connectionstring_specified_database_if_mongodb_i
110110
});
111111
}));
112112

113-
var server = host.GetTestServer();
113+
using var server = new TestServer(host.Services);
114114

115115
using var response = await server.CreateRequest("/health").GetAsync();
116116

@@ -139,7 +139,7 @@ public async Task be_healthy_on_connectionstring_specified_database_if_mongodb_i
139139
});
140140
}));
141141

142-
var server = host.GetTestServer();
142+
using var server = new TestServer(host.Services);
143143

144144
using var response = await server.CreateRequest("/health").GetAsync();
145145

@@ -165,7 +165,7 @@ public async Task be_unhealthy_listing_all_databases_if_mongodb_is_not_available
165165
});
166166
}));
167167

168-
var server = host.GetTestServer();
168+
using var server = new TestServer(host.Services);
169169

170170
using var response = await server.CreateRequest("/health").GetAsync();
171171

@@ -193,7 +193,7 @@ public async Task be_unhealthy_on_specified_database_if_mongodb_is_not_available
193193
});
194194
}));
195195

196-
var server = host.GetTestServer();
196+
using var server = new TestServer(host.Services);
197197

198198
using var response = await server.CreateRequest("/health").GetAsync();
199199

test/HealthChecks.RabbitMQ.Tests/Functional/RabbitHealthCheckTests.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public async Task be_healthy_if_rabbitmq_is_available()
2626
});
2727
}));
2828

29-
var server = host.GetTestServer();
29+
using var server = new TestServer(host.Services);
3030

3131
using var response = await server.CreateRequest("/health").GetAsync();
3232

@@ -54,7 +54,7 @@ public async Task be_unhealthy_if_rabbitmq_is_not_available()
5454
});
5555
}));
5656

57-
var server = host.GetTestServer();
57+
using var server = new TestServer(host.Services);
5858

5959
using var response = await server.CreateRequest("/health").GetAsync();
6060

@@ -94,7 +94,7 @@ public async Task be_healthy_if_rabbitmq_is_available_using_iconnection()
9494
});
9595
}));
9696

97-
var server = host.GetTestServer();
97+
using var server = new TestServer(host.Services);
9898

9999
using var response = await server.CreateRequest("/health").GetAsync();
100100

@@ -131,7 +131,7 @@ public async Task be_healthy_if_rabbitmq_is_available_using_iconnection_in_servi
131131
});
132132
}));
133133

134-
var server = host.GetTestServer();
134+
using var server = new TestServer(host.Services);
135135

136136
using var response = await server.CreateRequest("/health").GetAsync();
137137

@@ -167,7 +167,7 @@ public async Task be_not_crash_on_startup_when_rabbitmq_is_down_at_startup()
167167
});
168168
}));
169169

170-
var server = host.GetTestServer();
170+
using var server = new TestServer(host.Services);
171171

172172
using var response1 = await server.CreateRequest("/health").GetAsync();
173173
response1.StatusCode.ShouldBe(HttpStatusCode.ServiceUnavailable);
@@ -201,7 +201,7 @@ public async Task two_rabbitmq_health_check()
201201
});
202202
}));
203203

204-
var server = host.GetTestServer();
204+
using var server = new TestServer(host.Services);
205205

206206
using var response1 = await server.CreateRequest("/health1").GetAsync();
207207
using var response2 = await server.CreateRequest("/health2").GetAsync();
@@ -228,7 +228,7 @@ public async Task no_connection_registered()
228228
});
229229
}));
230230

231-
var server = host.GetTestServer();
231+
using var server = new TestServer(host.Services);
232232

233233
using var response1 = await server.CreateRequest("/health").GetAsync();
234234
response1.StatusCode.ShouldBe(HttpStatusCode.ServiceUnavailable);

test/HealthChecks.RabbitMQ.v6.Tests/Functional/RabbitHealthCheckTests.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public async Task be_healthy_if_rabbitmq_is_available()
2424
});
2525
}));
2626

27-
var server = host.GetTestServer();
27+
using var server = new TestServer(host.Services);
2828

2929
using var response = await server.CreateRequest("/health").GetAsync();
3030

@@ -50,7 +50,7 @@ public async Task be_healthy_if_rabbitmq_is_available_using_ssloption()
5050
});
5151
}));
5252

53-
var server = host.GetTestServer();
53+
using var server = new TestServer(host.Services);
5454

5555
using var response = await server.CreateRequest("/health").GetAsync();
5656

@@ -74,7 +74,7 @@ public async Task be_unhealthy_if_rabbitmq_is_not_available()
7474
});
7575
}));
7676

77-
var server = host.GetTestServer();
77+
using var server = new TestServer(host.Services);
7878

7979
using var response = await server.CreateRequest("/health").GetAsync();
8080

@@ -108,7 +108,7 @@ public async Task be_healthy_if_rabbitmq_is_available_using_iconnectionfactory()
108108
});
109109
}));
110110

111-
var server = host.GetTestServer();
111+
using var server = new TestServer(host.Services);
112112

113113
using var response = await server.CreateRequest("/health").GetAsync();
114114

@@ -145,7 +145,7 @@ public async Task be_healthy_if_rabbitmq_is_available_using_iconnection()
145145
});
146146
}));
147147

148-
var server = host.GetTestServer();
148+
using var server = new TestServer(host.Services);
149149

150150
using var response = await server.CreateRequest("/health").GetAsync();
151151

@@ -171,7 +171,7 @@ public async Task be_healthy_if_rabbitmq_is_available_and_specify_default_sslopt
171171
});
172172
}));
173173

174-
var server = host.GetTestServer();
174+
using var server = new TestServer(host.Services);
175175

176176
using var response = await server.CreateRequest("/health").GetAsync();
177177

@@ -205,7 +205,7 @@ public async Task be_not_crash_on_startup_when_rabbitmq_is_down_at_startup()
205205
});
206206
}));
207207

208-
var server = host.GetTestServer();
208+
using var server = new TestServer(host.Services);
209209

210210
using var response1 = await server.CreateRequest("/health").GetAsync();
211211
response1.StatusCode.ShouldBe(HttpStatusCode.ServiceUnavailable);
@@ -232,7 +232,7 @@ public async Task be_healthy_if_rabbitmq_is_available_using_iServiceProvider()
232232
});
233233
}));
234234

235-
var server = host.GetTestServer();
235+
using var server = new TestServer(host.Services);
236236

237237
using var response = await server.CreateRequest("/health").GetAsync();
238238

@@ -264,7 +264,7 @@ public async Task two_rabbitmq_health_check()
264264
});
265265
}));
266266

267-
var server = host.GetTestServer();
267+
using var server = new TestServer(host.Services);
268268

269269
using var response1 = await server.CreateRequest("/health1").GetAsync();
270270
using var response2 = await server.CreateRequest("/health2").GetAsync();

0 commit comments

Comments
 (0)