public void TestInternalServerErrorResponse() { // Arrange var mockResponse = new Mock <HttpWebResponse>(); mockResponse .Setup(m => m.StatusCode) .Returns(HttpStatusCode.InternalServerError) .Verifiable(); var mockRequest = GetMockRequest(mockResponse, true); var mockCreate = GetMockWebRequestCreate(mockRequest); Action act = () => { var generator = new IpsumDataGenerator(mockCreate.Object); generator.Generate(); }; // Assert act.ShouldThrow <HttpRequestException>(); mockCreate.Verify(); mockRequest.Verify(); mockResponse.Verify(); }
public void TestSuccessfulRequest() { // Arrange const string expectedString = "Lorem ipsum"; var responseObject = new { type = "lorem", text_out = expectedString }; var jsonString = JsonConvert.SerializeObject(responseObject, Formatting.Indented); // Create the mock response object var mockResponse = new Mock <HttpWebResponse>(); mockResponse .SetupGet(m => m.StatusCode) .Returns(HttpStatusCode.OK) .Verifiable(); mockResponse .Setup(m => m.GetResponseStream()) .Returns(new MemoryStream(Encoding.UTF8.GetBytes(jsonString))) .Verifiable(); var mockRequest = GetMockRequest(mockResponse); var mockCreate = GetMockWebRequestCreate(mockRequest); // Act var responseString = string.Empty; Action act = () => { var generator = new IpsumDataGenerator(mockCreate.Object); responseString = generator.Generate(); }; // Assert act.ShouldNotThrow <WebException>(); responseString.Should().Be(expectedString); mockCreate.Verify(); mockRequest.Verify(); mockResponse.Verify(); }
public void TestErrorWithoutResponse() { // Arrange var mockRequest = GetMockRequest(null, true); var mockCreate = GetMockWebRequestCreate(mockRequest); Action act = () => { var generator = new IpsumDataGenerator(mockCreate.Object); generator.Generate(); }; // Assert act .ShouldThrow <WebException>() .And .Response .Should() .BeNull(); mockCreate.Verify(); mockRequest.Verify(); }
public void TestEmptyResponseStream() { // Arrange // Create the mock response object var mockResponse = new Mock <HttpWebResponse>(); mockResponse .SetupGet(m => m.StatusCode) .Returns(HttpStatusCode.OK) .Verifiable(); mockResponse .Setup(m => m.GetResponseStream()) .Returns <Stream>(null) .Verifiable(); var mockRequest = GetMockRequest(mockResponse); var mockCreate = GetMockWebRequestCreate(mockRequest); // Act var responseString = string.Empty; Action act = () => { var generator = new IpsumDataGenerator(mockCreate.Object); responseString = generator.Generate(); }; // Assert act.ShouldNotThrow <WebException>(); responseString.Should().BeEmpty(); mockCreate.Verify(); mockRequest.Verify(); mockResponse.Verify(); }