public void IsRequestBlockedDueToFairUsagePolicy_HttpResponseMessage_ReturnsExpectedResult(
            HttpResponseMessage responseMessage, WebApiErrorCode? errorCode, Boolean expectedResult)
        {
            /* Arrange */

            /* Act */
            var result = WebApiAccess.IsRequestBlockedDueToFairUsagePolicy(responseMessage, errorCode);

            /* Assert */
            Assert.That(result, Is.EqualTo(expectedResult));
        }
        public void GetErrorInformation_ReasonPhrase_ReturnsExpectedResults(String reasonPhrase, String errorMessage,
            WebApiErrorCode? webApiErrorCode, Int32? unrecognisedErrorCode)
        {
            /* Arrange */

            /* Act */
            var result = WebApiAccess.GetErrorInformation(reasonPhrase);

            /* Assert */
            Assert.That(result.Item1, Is.EqualTo(errorMessage));
            Assert.That(result.Item2, Is.EqualTo(webApiErrorCode));
            Assert.That(result.Item3, Is.EqualTo(unrecognisedErrorCode));
        }
        public void GetJsWebApiErrorCode_WebApiException_ReturnsExpectedErrorCode(WebApiErrorCode? errorCode, 
            Int32? unrecognisedErrorCode, String expectedCode)
        {
            /* Arrange */
            var ex = new WebApiException()
            {
                ErrorCode = errorCode,
                UnrecognisedErrorCode = unrecognisedErrorCode
            };

            /* Act */
            var code = WebApiController.GetJsWebApiErrorCode(ex);

            /* Assert */
            Assert.That(code, Is.EqualTo(expectedCode));
        }
 // Returns true if the Web API has indicated that the request was blocked/forbidden due to a Fair Usage
 // Policy violation.  In all other cases the method returns false.
 // 'response' is the response that was returned; 'webApiErrorCode' contains the Web API error code that the
 // Web API may have returned (if non-null).
 public static Boolean IsRequestBlockedDueToFairUsagePolicy(HttpResponseMessage response, 
     WebApiErrorCode? webApiErrorCode)
 {
     if ((response != null) &&
         (webApiErrorCode != null) &&
         (response.StatusCode == HttpStatusCode.Forbidden) &&
         (webApiErrorCode.Value == WebApiErrorCode.UserTenancyAndClientAppBlacklisted))
         return true;
     else
         return false;
 }
        public void GetWebApiResourceResultOnError_WebApiErrorCode_ReturnsExceptedErrorCode(
            WebApiErrorCode? errorCode, String expectedErrorCode)
        {
            /* Arrange */
            var ex = new WebApiException()
            {
                StatusCode = HttpStatusCode.BadRequest,
                ErrorCode = errorCode
            };

            /* Act */
            Boolean getNewAccessToken;
            var result = WebApiController.GetWebApiResourceResultOnError(ex, 0, out getNewAccessToken);

            /* Assert */
            Assert.That(result.TypedData.success, Is.EqualTo(true));
            Assert.That(result.TypedData.webApiErrorCode, Is.EqualTo(expectedErrorCode));
        }