REST API 403 Ошибка из модульного теста, но штраф от выполнения программы - PullRequest
0 голосов
/ 21 апреля 2020

Использование. NET Framework 4.6.1. Код в программе выглядит следующим образом:

// this runs fine, returns the correct JSON
public string rawRequest(HTTPmethods HTTPmethod, string path)
        {
            try
            {
                // create the full URI
                string rawRequestURI = URLConstants.API_ROOT + path;

                // create the request
                var webRequest = WebRequest.Create(rawRequestURI);
                webRequest.Method = HTTPmethod.ToString();
                webRequest.ContentType = "application/json";
                webRequest.Headers["Authorization"] = "authorisation key goes here";

                // make the request asynchronously and get the response
                WebResponse webResponse = webRequest.GetResponseAsync().Result;
                int statusCode = (int)((HttpWebResponse)webResponse).StatusCode;
                Stream receiveStream = webResponse.GetResponseStream();
                StreamReader reader = new StreamReader(receiveStream);

                return reader.ReadToEnd();
            }
            catch (WebException webEx)
            {
                throw;
            }
        }

После создания модульного теста (см. Ниже) для проверки вышеуказанного метода он завершается неудачно, выдавая WebException из-за ошибки 403 с сервера. Что может быть причиной этого?

[TestMethod]
        public void rawRequest_Test_correctCall()
        {
            // arrange
            ISBNDBService service = new ISBNDBService();
            string path = "/book/9781934759486";

            // act
            string result = service.rawRequest(HTTPmethods.GET, path);

            // assert

        }
...