Как эмулировать POST-запрос от PostMan - для серии интеграционных тестов в разработке WebAPI - PullRequest
0 голосов
/ 04 февраля 2020

Я использую PostMan как часть режима тестирования для разработки службы WebAPI, над которой я работаю. Чтобы внешние стороны получили доступ к нашей службе WebAPI, им сначала необходимо получить токен доступа.

Запрос POST возвращает некоторое JSON, содержащее требуемый токен доступа:

{"access_token ":" anencryptedaccesstoken "," scope ":" am_application_scope default "," token_type ":" Bearer "," expires_in ": 3218}

Я собираю серию интеграционных тестов, которые должны эмулировать POST звонки из почты. В настоящее время я использую System. Net .WebClient для достижения этой цели. Я не уверен, что мне нужно делать, чтобы достичь своей цели. Вот функция, которую я использую, чтобы попытаться получить токен доступа:

    Public Shared Function GetAccessToken(ByVal endpoint As String, wc As WebClient) As String

        Dim result As String = ""
        Dim data As Byte() = Nothing

        'Header information
        wc.Headers.Add("Authorization", "Basic <alongencryptedstring>")
        wc.Headers.Add("Content_Type", "application/x-www-form-urlencoded")

        result = wc.UploadString(endpoint, "POST", "")

        Return result

    End Function

Вкладка «Тело» в PostMan содержит следующие записи:

grant_type - client_credentials Content_Type - application% 2Fx- www-form-urlencoded

В этом случае, насколько мне известно, в запросе PostMan отсутствует элемент 'data', следовательно, в моем использовании UploadString пустая строка. Функция возвращает следующую ошибку:

"Удаленный сервер возвратил ошибку: (415) Неподдерживаемый тип носителя."

Я новичок в разработке веб-приложений, поэтому, пожалуйста, потерпите меня, я затрудняясь сформулировать то, что я считаю значимым вопросом в контексте этого поста, я надеюсь, однако, что я предоставил достаточно информации, чтобы передать суть моей проблемы и дать кому-то возможность ответить соответствующим образом.

С наилучшими пожеланиями Пол.

...