Skip to content

Commit 0740972

Browse files
committed
Add HealthCheck E2E tests
1 parent 127ffd6 commit 0740972

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

test/WebJobs.Script.Tests.Integration/WebHostEndToEnd/SamplesEndToEndTests_CSharp.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,37 @@ public async Task HostPing_Succeeds(string method)
316316
Assert.Equal("no-store, no-cache", cacheHeader);
317317
}
318318

319+
[Theory]
320+
[InlineData("/runtime/health")]
321+
[InlineData("/runtime/health/live")]
322+
[InlineData("/runtime/health/ready")]
323+
public async Task HealthCheck_AdminToken_Succeeds(string uri)
324+
{
325+
// token specified as bearer token
326+
HttpRequestMessage request = new(HttpMethod.Get, uri);
327+
string token = _fixture.Host.GenerateAdminJwtToken();
328+
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
329+
HttpResponseMessage response = await _fixture.Host.HttpClient.SendAsync(request);
330+
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
331+
332+
string body = await response.Content.ReadAsStringAsync();
333+
Assert.Equal("{\"status\":\"Healthy\"}", body);
334+
}
335+
336+
[Theory]
337+
[InlineData("/runtime/health")]
338+
[InlineData("/runtime/health/live")]
339+
[InlineData("/runtime/health/ready")]
340+
public async Task HealthCheck_NoAdminToken_Fail(string uri)
341+
{
342+
// token specified as bearer token
343+
HttpRequestMessage request = new(HttpMethod.Get, uri);
344+
string token = _fixture.Host.GenerateAdminJwtToken();
345+
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
346+
HttpResponseMessage response = await _fixture.Host.HttpClient.SendAsync(request);
347+
Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
348+
}
349+
319350
[Fact]
320351
public async Task InstallExtensionsEnsureOldPathReturns404()
321352
{

0 commit comments

Comments
 (0)