I am writing Unit Test for Function App which accept HttpRequest and run the secured api call with query parameters and some custom Headers and Bearer Token. I able to pass the query to request But how to add Headers is not working.
I have tried the following code, edited my code as per suggestion of @Nkosi
var postParam = new Dictionary<string, StringValues>();
postParam.Add("param1", "123");
request.Query = new QueryCollection(postParam);
var headers = new HttpClient().DefaultRequestHeaders;
headers.Add("Transaction", "1234");
var request = Mock.Of<HttpRequest>(_ =>
_.Query == query && _.Headers == headers //<-- setup desired members
);
var logger = Mock.Of<ILogger>();
var response = azureFunction.Run(request, logger);
Calling the following function
public static HttpResponseMessage Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log){
}
I am getting error here operater == can not be applied to IHeaderDictionary and HttpRequestHeaders
&& _.Headers == headers