public void GetUsersListTests_GetAuthFailure() { HttpResponseMessage authFailResponse = new HttpResponseMessage(System.Net.HttpStatusCode.InternalServerError); Mock <HttpMessageHandler> moqHttpMessageHandler = new Mock <HttpMessageHandler>(MockBehavior.Strict); moqHttpMessageHandler.Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(authFailResponse); HttpClient httpClient = new HttpClient(moqHttpMessageHandler.Object); BadsecClient client = new BadsecClient(httpClient); try { string userList = client.GetUsersList().Result; } catch (Exception ex) { Assert.AreEqual( expected: typeof(Exception), actual: ex.InnerException.GetType(), message: "The exceptions are not the same."); Assert.AreEqual( expected: BadsecClient.AuthFailureMessage, actual: ex.InnerException.Message, message: "The exception was not expected."); } }
public void GetUsersListTests_Success() { const string ExpectedUserList = "[\"123456789\", \"234567891\", \"345678912\"]"; const string ReturningUserList = "123456789\n234567891\n345678912\n"; const string AuthToken = "12A63255-1388-AB5E-071C-FA35D27C4098"; HttpResponseMessage authResponse = new HttpResponseMessage(System.Net.HttpStatusCode.OK); authResponse.Headers.Add(BadsecClient.AuthTokenHeader, AuthToken); HttpResponseMessage usersResponse = new HttpResponseMessage(System.Net.HttpStatusCode.OK); usersResponse.Content = new StringContent(ReturningUserList); Mock <HttpMessageHandler> moqHttpMessageHandler = new Mock <HttpMessageHandler>(MockBehavior.Strict); moqHttpMessageHandler.Protected() .SetupSequence <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(authResponse) .ReturnsAsync(usersResponse); HttpClient httpClient = new HttpClient(moqHttpMessageHandler.Object); BadsecClient client = new BadsecClient(httpClient); string userList = client.GetUsersList().Result; Assert.AreEqual( expected: ExpectedUserList, actual: userList, message: "The actual result is not the same."); }
public void GetUsersListTests_GetUsersFailure() { const string AuthToken = "12A63255-1388-AB5E-071C-FA35D27C4098"; HttpResponseMessage authSuccessResponse = new HttpResponseMessage(System.Net.HttpStatusCode.OK); authSuccessResponse.Headers.Add(BadsecClient.AuthTokenHeader, AuthToken); HttpResponseMessage usersFailureResponse = new HttpResponseMessage(System.Net.HttpStatusCode.InternalServerError); Mock <HttpMessageHandler> moqHttpMessageHandler = new Mock <HttpMessageHandler>(MockBehavior.Strict); moqHttpMessageHandler.Protected() .SetupSequence <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(authSuccessResponse) .ReturnsAsync(usersFailureResponse) .ReturnsAsync(usersFailureResponse) .ReturnsAsync(usersFailureResponse); HttpClient httpClient = new HttpClient(moqHttpMessageHandler.Object); BadsecClient client = new BadsecClient(httpClient); try { string userList = client.GetUsersList().Result; } catch (Exception ex) { Assert.AreEqual( expected: typeof(Exception), actual: ex.InnerException.GetType(), message: "The exceptions are not the same."); Assert.AreEqual( expected: BadsecClient.UserListRetrievalFailureMessage, actual: ex.InnerException.Message, message: "The exception was not expected."); } }