public void OAuthClient_FailsWithServiceExceptionWhenResponseIsHttpNotFound()
        {
            using (var httpManager = new MockHttpManager())
            {
                var serviceBundle = ServiceBundle.CreateWithCustomHttpManager(httpManager, _myReceiver);

                var authority = Authority.CreateAuthority(serviceBundle, MsalTestConstants.AuthorityHomeTenant, false);

                var responseMessage = MockHelpers.CreateHttpStatusNotFoundResponseMessage();

                httpManager.AddMockHandler(
                    new MockHttpMessageHandler
                {
                    Method          = HttpMethod.Get,
                    ResponseMessage = responseMessage
                });

                var parameters = new AuthenticationRequestParameters
                {
                    Authority      = authority,
                    ClientId       = MsalTestConstants.ClientId,
                    Scope          = MsalTestConstants.Scope,
                    TokenCache     = null,
                    RequestContext = new RequestContext(null, new MsalLogger(Guid.NewGuid(), null)),
                    RedirectUri    = new Uri("some://uri"),
                };

                var ui = new MockWebUI();

                var request = new InteractiveRequest(
                    serviceBundle,
                    parameters,
                    ApiEvent.ApiIds.None,
                    MsalTestConstants.ScopeForAnotherResource.ToArray(),
                    MsalTestConstants.DisplayableId,
                    UIBehavior.SelectAccount,
                    ui);

                try
                {
                    request.ExecuteAsync(CancellationToken.None).Wait();

                    Assert.Fail("MsalException should have been thrown here");
                }
                catch (Exception exc)
                {
                    var serverEx = exc.InnerException as MsalServiceException;
                    Assert.IsNotNull(serverEx);
                    Assert.AreEqual((int)HttpStatusCode.NotFound, serverEx.StatusCode);
                    Assert.IsNotNull(serverEx.ResponseBody);
                    Assert.AreEqual(MsalError.HttpStatusNotFound, serverEx.ErrorCode);
                }
            }
        }
Esempio n. 2
0
 public void OAuthClient_FailsWithServiceExceptionWhenResponseIsHttpNotFound()
 {
     ValidateOathClient(
         MockHelpers.CreateHttpStatusNotFoundResponseMessage(),
         exception =>
     {
         var serverEx = exception.InnerException as MsalServiceException;
         Assert.IsNotNull(serverEx);
         Assert.AreEqual((int)HttpStatusCode.NotFound, serverEx.StatusCode);
         Assert.IsNotNull(serverEx.ResponseBody);
         Assert.AreEqual(MsalError.HttpStatusNotFound, serverEx.ErrorCode);
     });
 }
 public async Task OAuthClient_FailsWithServiceExceptionWhenResponseIsHttpNotFound_Async()
 {
     await ValidateOathClientAsync(
         MockHelpers.CreateHttpStatusNotFoundResponseMessage(),
         exception =>
     {
         var serverEx = exception as MsalServiceException;
         Assert.IsNotNull(serverEx);
         Assert.AreEqual((int)HttpStatusCode.NotFound, serverEx.StatusCode);
         Assert.IsNotNull(serverEx.ResponseBody);
         Assert.AreEqual(MsalError.HttpStatusNotFound, serverEx.ErrorCode);
     }).ConfigureAwait(false);
 }