public async Task Login_InternalServerError_ThrowsHttpResponseException() { _mockHttpMessageHandler.Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .Returns(Task.FromResult(new HttpResponseMessage() { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent("{}") })); HttpClient httpClient = new HttpClient(_mockHttpMessageHandler.Object); var authClient = new AuthenticationClientAsync(_mockConfiguration.Object, httpClient, _mockRegistry); await Assert.ThrowsExceptionAsync <HttpResponseException>(async() => await authClient.Login()); }
public async Task Login_Success_SessionTokenIsNotNull() { _mockHttpMessageHandler.Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .Returns(Task.FromResult(new HttpResponseMessage() { StatusCode = HttpStatusCode.OK, Content = new StringContent(@"{""loginStatus"": ""SUCCESS"", ""sessionToken"": ""abc""}") })); HttpClient httpClient = new HttpClient(_mockHttpMessageHandler.Object); var authClient = new AuthenticationClientAsync(_mockConfiguration.Object, httpClient, _mockRegistry); var loginResponse = await authClient.Login(); Assert.IsNotNull(loginResponse.SessionToken); }
public async Task Login_Failed_LoginStatusIsNotSuccess() { _mockHttpMessageHandler.Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .Returns(Task.FromResult(new HttpResponseMessage() { StatusCode = HttpStatusCode.OK, Content = new StringContent(@"{""loginStatus"":""INVALID_USERNAME_OR_PASSWORD""}") })); HttpClient httpClient = new HttpClient(_mockHttpMessageHandler.Object); var authClient = new AuthenticationClientAsync(_mockConfiguration.Object, httpClient, _mockRegistry); var loginResponse = await authClient.Login(); Assert.AreNotEqual("SUCCESS", loginResponse.LoginStatus); }