Ejemplo n.º 1
0
        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.");
            }
        }
Ejemplo n.º 2
0
        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.");
        }
Ejemplo n.º 3
0
        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.");
            }
        }