public void BaseRequest_Post_NotSuccessfulReturnsFalse()
        {
            // Arrange
            var testBundle = new BaseRequestTestBundle();
            var mockWebRequest = new Mock<IWebRequest>();
            var mockResponse = new Mock<IHttpWebResponse>();
            var mockLog = new Mock<ILog>();

            testBundle.MockLogProvider.Setup(x => x.GetLogger(It.IsAny<Type>())).Returns(mockLog.Object);

            mockWebRequest.SetupGet(x => x.Headers).Returns(new WebHeaderCollection());
            mockWebRequest.Setup(x => x.GetRequestStream()).Returns(new MemoryStream());
            mockWebRequest.Setup(x => x.GetResponse()).Returns(mockResponse.Object);
            testBundle.MockWebRequestFactory.Setup(x => x.Create(It.IsAny<string>())).Returns(mockWebRequest.Object);

            mockResponse.Setup(x => x.StatusDescription).Returns("BadRequest");
            mockResponse.Setup(x => x.StatusCode).Returns(HttpStatusCode.BadRequest);
            mockResponse.Setup(x => x.GetResponseStream()).Returns(new MemoryStream());

            // Act
            var result = testBundle.BaseRequest.Post();

            // Assert
            Assert.AreEqual(false, result);
            mockWebRequest.VerifySet(x => x.Method = "POST");
            mockWebRequest.VerifySet(x => x.ContentType = "application/x-www-form-urlencoded");
            mockWebRequest.VerifySet(x => x.ContentLength = 9);
        }
示例#2
0
        public void BaseRequest_Post_SuccessfulReturnsTrue()
        {
            // Arrange
            var testBundle     = new BaseRequestTestBundle();
            var mockWebRequest = new Mock <IWebRequest>();
            var mockResponse   = new Mock <IHttpWebResponse>();
            var mockLog        = new Mock <ILog>();

            testBundle.MockWebRequestFactory.Setup(x => x.Create(It.IsAny <string>())).Returns(mockWebRequest.Object);
            testBundle.MockLogProvider.Setup(x => x.GetLogger(It.IsAny <Type>())).Returns(mockLog.Object);

            mockWebRequest.SetupGet(x => x.Headers).Returns(new WebHeaderCollection());
            mockWebRequest.Setup(x => x.GetRequestStream()).Returns(new MemoryStream());
            mockWebRequest.Setup(x => x.GetResponse()).Returns(mockResponse.Object);

            mockResponse.Setup(x => x.StatusCode).Returns(HttpStatusCode.OK);
            mockResponse.Setup(x => x.GetResponseStream()).Returns(new MemoryStream());

            // Act
            var result = testBundle.BaseRequest.Post();

            // Assert
            Assert.AreEqual(true, result);
            mockWebRequest.VerifySet(x => x.Method        = "POST");
            mockWebRequest.VerifySet(x => x.ContentType   = "application/x-www-form-urlencoded");
            mockWebRequest.VerifySet(x => x.ContentLength = 9);
        }
        public void BaseRequest_Post_ExceptionThrownReturnsFalseAndLogsMessage()
        {
            // Arrange
            var testBundle = new BaseRequestTestBundle();
            var testException = new WebException("Test exception.");
            var mockLog = new Mock<ILog>();

            testBundle.MockWebRequestFactory.Setup(x => x.Create(It.IsAny<string>())).Throws(testException);
            testBundle.MockLogProvider.Setup(x => x.GetLogger(It.IsAny<Type>())).Returns(mockLog.Object);

            // Act
            var result = testBundle.BaseRequest.Post();

            // Assert
            Assert.AreEqual(false, result);
            const string message = "Failed posting to server.";
            mockLog.Verify(x => x.Error(It.Is<string>(y => y.StartsWith(message)), It.IsAny<WebException>()), Times.Once);
        }
示例#4
0
        public void BaseRequest_Post_ExceptionThrownReturnsFalseAndLogsMessage()
        {
            // Arrange
            var testBundle    = new BaseRequestTestBundle();
            var testException = new WebException("Test exception.");
            var mockLog       = new Mock <ILog>();

            testBundle.MockWebRequestFactory.Setup(x => x.Create(It.IsAny <string>())).Throws(testException);
            testBundle.MockLogProvider.Setup(x => x.GetLogger(It.IsAny <Type>())).Returns(mockLog.Object);

            // Act
            var result = testBundle.BaseRequest.Post();

            // Assert
            Assert.AreEqual(false, result);
            const string message = "Failed posting to server.";

            mockLog.Verify(x => x.Error(It.Is <string>(y => y.StartsWith(message)), It.IsAny <WebException>()), Times.Once);
        }