public async Task TestTestWithNullExpected() { // Arrange var testCases = new TestCases { new TestCase { Arranges = new Arranges { Actual = new Arrange { HttpRequest = new HttpRequest() } }, Assertions = new AssertionList { new StubAssertionBase { Success = true } } }, }; var httpRequestService = new StubIHttpRequestService { GetResponseAsyncHttpRequestActionOfHttpClient = (r, h) => Task.FromResult(new HttpResponse()) }; // Act await testCases.TestAsync(httpRequestService); // Assert Assert.IsTrue(testCases.Success); Assert.AreEqual(0, testCases.FailedCases.Count); Assert.IsNotNull(testCases.ResultMessage); Assert.IsNull(testCases.FailedMessage); }
public async Task TestTestWithNullExpected() { // Arrange var testCases = new TestCases { new TestCase { Arranges = new Arranges { Actual = new Arrange { HttpRequest = new HttpRequest() } }, Assertions = new AssertionList { new StubAssertionBase { Success = true } } }, }; var httpRequestService = new StubIHttpRequestService { GetResponseAsyncHttpRequestActionOfHttpClient = (r, h) => Task.FromResult(new HttpResponse()) }; // Act await testCases.TestAsync(httpRequestService); // Assert Assert.IsTrue(testCases.Success); Assert.AreEqual(0, testCases.FailedCases.Count); Assert.IsNotNull(testCases.ResultMessage); Assert.IsNull(testCases.FailedMessage); }
public async Task TestTestWithHavingFailedCases() { // Arrange var data = new List <List <string> > { new List <string> { null, "Arrange", null, "Assertion", null, null, null, null }, new List <string> { null, "HttpRequest Expected", "HttpRequest Actual", "Contents", null, null, null, null }, new List <string> { null, "BaseUri", "BaseUri", "Name", "Expected", null, "Actual", null }, new List <string> { null, null, null, null, "Query", "Attribute", "Query", "Attribute" }, new List <string> { "test case 1", "ExpectedSite", "TargetSite", "text test 1", "//Expected/Item[1]", "Name", "//html/body/ul/li[1]", null }, new List <string> { null, null, null, "text test 2", "//Expected/Item[2]", "Name", "//html/body/ul/li[2]", null }, }; const string ExpectedXml = @"<Expected> <Item Name='a' /> <Item Name='b' /> </Expected>"; const string ActualHtml = @"<html> <body> <ul> <li>AAAA</li> <li>BBBB</li> </ul> </body> </html>"; var httpRequestServiceShim = new StubIHttpRequestService { GetResponseAsyncHttpRequest = request => request.Name == "Expected" ? Task.FromResult(new HttpResponse { Contents = ExpectedXml, ContentType = "text/xml" }) : Task.FromResult(new HttpResponse { Contents = ActualHtml, ContentType = "text/html" }) }; // Act var testCases = TestCasesParser.Parse(data); await testCases.TestAsync(httpRequestServiceShim); // Assert Assert.IsTrue(!testCases.Success); Assert.AreEqual(1, testCases.FailedCases.Count); Assert.AreEqual(2, testCases.FailedCases[0].FailedAssertions.Count); }
public async Task TestTestWithOnlyStaticCases() { // Arrange var data = new List <List <string> > { new List <string> { null, "Arrange", null, "Assertion", null, null, null, null }, new List <string> { null, "HttpRequest Expected", "HttpRequest Actual", "Contents", null, null, null, null }, new List <string> { null, "BaseUri", "BaseUri", "Name", "Expected", null, "Actual", null }, new List <string> { null, null, null, null, "Value", "Attribute", "Query", "Attribute" }, new List <string> { "test case 1", "ExpectedSte", "TargetSite", "text test 1", "a", null, "//html/body/ul/li[1]", null }, new List <string> { null, null, null, "text test 2", "b", null, "//html/body/ul/li[2]", null }, }; const string ActualHtml = @"<html> <body> <ul> <li>a</li> <li>b</li> </ul> </body> </html>"; var httpRequestServiceShim = new StubIHttpRequestService { GetResponseAsyncHttpRequestActionOfHttpClient = (request, h) => Task.FromResult(new HttpResponse { Contents = ActualHtml, ContentType = "text/html" }) }; // Act var testCases = TestCasesParser.Parse(data); await testCases.TestAsync(httpRequestServiceShim); // Assert Assert.IsTrue(testCases.Success); }
public async Task TestTestWithFailedCaseHavingException() { // Arrange var exception = fixture.Create <Exception>(); var testCases = new TestCases { new TestCase { Arranges = new Arranges { Expected = new Arrange { HttpRequest = new HttpRequest() }, Actual = new Arrange { HttpRequest = new HttpRequest() } }, Assertions = new AssertionList { new StubAssertionBase { Success = false, Exception = exception } }, }, }; var httpRequestService = new StubIHttpRequestService { GetResponseAsyncHttpRequestActionOfHttpClient = (r, h) => Task.FromResult(new HttpResponse()) }; // Act await testCases.TestAsync(httpRequestService); // Assert Assert.IsFalse(testCases.Success); Assert.AreEqual(1, testCases.FailedCases.Count); Assert.IsNotNull(testCases.ResultMessage); Assert.IsNotNull(testCases.FailedMessage); }
public async Task TestTestWithFailedCase() { // Arrange var testCases = new TestCases { new TestCase { Arranges = new Arranges { Expected = new Arrange { HttpRequest = new HttpRequest() }, Actual = new Arrange { HttpRequest = new HttpRequest() } }, Assertions = new AssertionList { new StubAssertionBase { Success = false } }, }, }; var httpRequestService = new StubIHttpRequestService { GetResponseAsyncHttpRequest = request => Task.FromResult(new HttpResponse()) }; // Act await testCases.TestAsync(httpRequestService); // Assert Assert.IsFalse(testCases.Success); Assert.AreEqual(1, testCases.FailedCases.Count); Assert.IsNotNull(testCases.ResultMessage); Assert.IsNotNull(testCases.FailedMessage); }
public async Task TestTestWithHavingFailedCases() { // Arrange var data = new List<List<string>> { new List<string> { null, "Arrange", null, "Assertion", null, null, null, null }, new List<string> { null, "HttpRequest Expected", "HttpRequest Actual", "Contents", null, null, null, null }, new List<string> { null, "BaseUri", "BaseUri", "Name", "Expected", null, "Actual", null }, new List<string> { null, null, null, null, "Query", "Attribute", "Query", "Attribute" }, new List<string> { "test case 1", "ExpectedSite", "TargetSite", "text test 1", "//Expected/Item[1]", "Name", "//html/body/ul/li[1]", null }, new List<string> { null, null, null, "text test 2", "//Expected/Item[2]", "Name", "//html/body/ul/li[2]", null }, }; const string ExpectedXml = @"<Expected> <Item Name='a' /> <Item Name='b' /> </Expected>"; const string ActualHtml = @"<html> <body> <ul> <li>AAAA</li> <li>BBBB</li> </ul> </body> </html>"; var httpRequestServiceShim = new StubIHttpRequestService { GetResponseAsyncHttpRequestActionOfHttpClient = (request, h) => request.Name == "Expected" ? Task.FromResult(new HttpResponse { Contents = ExpectedXml, ContentType = "text/xml" }) : Task.FromResult(new HttpResponse { Contents = ActualHtml, ContentType = "text/html" }) }; // Act var testCases = TestCasesParser.Parse(data); await testCases.TestAsync(httpRequestServiceShim); // Assert Assert.IsTrue(!testCases.Success); Assert.AreEqual(1, testCases.FailedCases.Count); Assert.AreEqual(2, testCases.FailedCases[0].FailedAssertions.Count); }
public async Task TestTestWithOnlyStaticCases() { // Arrange var data = new List<List<string>> { new List<string> { null, "Arrange", null, "Assertion", null, null, null, null }, new List<string> { null, "HttpRequest Expected", "HttpRequest Actual", "Contents", null, null, null, null }, new List<string> { null, "BaseUri", "BaseUri", "Name", "Expected", null, "Actual", null }, new List<string> { null, null, null, null, "Value", "Attribute", "Query", "Attribute" }, new List<string> { "test case 1", "ExpectedSte", "TargetSite", "text test 1", "a", null, "//html/body/ul/li[1]", null }, new List<string> { null, null, null, "text test 2", "b", null, "//html/body/ul/li[2]", null }, }; const string ActualHtml = @"<html> <body> <ul> <li>a</li> <li>b</li> </ul> </body> </html>"; var httpRequestServiceShim = new StubIHttpRequestService { GetResponseAsyncHttpRequestActionOfHttpClient = (request, h) => Task.FromResult(new HttpResponse { Contents = ActualHtml, ContentType = "text/html" }) }; // Act var testCases = TestCasesParser.Parse(data); await testCases.TestAsync(httpRequestServiceShim); // Assert Assert.IsTrue(testCases.Success); }
public async Task TestTestWithFailedCaseHavingException() { // Arrange var exception = fixture.Create<Exception>(); var testCases = new TestCases { new TestCase { Arranges = new Arranges { Expected = new Arrange { HttpRequest = new HttpRequest() }, Actual = new Arrange { HttpRequest = new HttpRequest() } }, Assertions = new AssertionList { new StubAssertionBase { Success = false, Exception = exception }}, }, }; var httpRequestService = new StubIHttpRequestService { GetResponseAsyncHttpRequestActionOfHttpClient = (r, h) => Task.FromResult(new HttpResponse()) }; // Act await testCases.TestAsync(httpRequestService); // Assert Assert.IsFalse(testCases.Success); Assert.AreEqual(1, testCases.FailedCases.Count); Assert.IsNotNull(testCases.ResultMessage); Assert.IsNotNull(testCases.FailedMessage); }