невозможно установить заголовок авторизации в HttpClient (. Net core 3.1) - PullRequest
0 голосов
/ 30 января 2020

Я мигрирую с. net core 2.2 на 3.1. Я делаю тестовый метод XUnit для тестирования моих контроллеров. Я успешно сделал и протестировал в net проектах ядра 2.2, но после перехода на 3.1 кажется, что он не может установить заголовок авторизации для моего запроса, поэтому я получаю UnAuthorized из моего приложения.

это мой код:

    [Fact]
    public async void InvalidId_UnSuccessFull_GetById()
    {
        // Arrange
        var httpClient = new HttpClient();
        var token = await GetAdminAccessToken(); // Sends a login request and fetch a valid token
       // httpClient.DefaultRequestHeaders.Add("Authorization",$"Bearer {token}");
        httpClient.DefaultRequestHeaders.Authorization=new AuthenticationHeaderValue("Authorization",$"Bearer {token}");
        var id = Guid.Empty;

        // Act
        var response = await httpClient.GetAsync("localhost:5000/Admin/User/{id}");
        var message = await ExtractMessage(response);


        // Assert
        Assert.Contains(PersianErrorMessage.InvalidUserId, message);
        Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
    }

Я отлаживал в классе httpClient до тех пор, пока метод sendAsyn c и экземпляр запроса HttpRequestMessage не имеют заголовка авторизации, который я установил выше! Что не так с моим кодом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...