Merge pull request #1355 from WhitWaldo/invoke-with-extra-headers

Test: Validate method invocation with extraneous headers
This commit is contained in:
Whit Waldo 2024-10-11 02:02:44 -05:00 committed by GitHub
commit 8948dd836f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 31 additions and 2 deletions

View File

@ -11,6 +11,9 @@
// limitations under the License.
// ------------------------------------------------------------------------
using System.Linq;
using System.Net.Http.Headers;
namespace Dapr.Client.Test
{
using System;
@ -654,8 +657,34 @@ namespace Dapr.Client.Test
var actual = await content.ReadFromJsonAsync<Widget>(this.jsonSerializerOptions);
Assert.Equal(data.Color, actual.Color);
}
[Fact]
public async Task InvokeMethodWithoutResponse_WithExtraneousHeaders()
{
await using var client = TestClient.CreateForDaprClient(c =>
{
c.UseGrpcEndpoint("http://localhost").UseHttpEndpoint("https://test-endpoint:3501").UseJsonSerializationOptions(this.jsonSerializerOptions);
});
var req = await client.CaptureHttpRequestAsync(async DaprClient =>
{
var request = client.InnerClient.CreateInvokeMethodRequest(HttpMethod.Get, "test-app", "mymethod");
request.Headers.Add("test-api-key", "test");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "abc123");
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
await DaprClient.InvokeMethodAsync(request);
});
req.Dismiss();
Assert.NotNull(req);
Assert.True(req.Request.Headers.Contains("test-api-key"));
Assert.Equal("test", req.Request.Headers.GetValues("test-api-key").First());
Assert.True(req.Request.Headers.Contains("Authorization"));
Assert.Equal("Bearer abc123", req.Request.Headers.GetValues("Authorization").First());
Assert.Equal("application/json", req.Request.Headers.GetValues("Accept").First());
}
[Fact]
public async Task InvokeMethodWithResponseAsync_ReturnsMessageWithoutCheckingStatus()

View File

@ -1,4 +1,4 @@
// ------------------------------------------------------------------------
// ------------------------------------------------------------------------
// Copyright 2021 The Dapr Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -394,7 +394,7 @@ namespace Dapr
var task = operation(this.InnerClient);
if (task.IsFaulted)
{
// If the task throws, we want to bubble that up eaglerly.
// If the task throws, we want to bubble that up eagerly.
await task;
}