public void TestParse() { // Arrange var data = new List <List <string> > { new List <string> { null, "Arrange", null, "Assertion" }, new List <string> { null, "HttpRequest Actual", null, "Uri" }, new List <string> { null, "BaseUri", null, null }, new List <string> { null, null, null, null }, new List <string> { "test case 1", "TargetSite", null, "/local" }, new List <string> { "test case 2", "TargetSite2", null, null }, }; // Act var result = TestCasesParser.Parse(data); // Assert Assert.AreEqual(2, result.Count); }
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); }
/// <summary> /// Executes async tests /// </summary> public async Task <TestCases> TestAsync() { var testCases = TestCasesParser.Parse(new Parser().Parse(this.testCasesCsv)); await testCases.TestAsync(new HttpRequestService(BaseUriMappingParser.Parse(XElement.Parse(baseUriMappingXml)), userAgentMappingXml != null ? UserAgentMappingParser.Parse(XElement.Parse(userAgentMappingXml)) : null, proxyUri), ActualRequestHook, ExpectedRequestHook); return(testCases); }
public void TestParseWithNoItem() { // Arrange var data = new List <List <string> >(); // Act TestCasesParser.Parse(data); }
/// <summary> /// Executes async tests /// </summary> /// <param name="testCasesCsv">testCasesCsv parameter</param> /// <param name="baseUriMappingXml">baseUriMappingXml parameter</param> /// <param name="userAgentMappingXml">userAgentMappingXml parameter</param> /// <param name="proxyUri">proxyUri parameter</param> /// <returns>failed message. it returns null if tests are succeed.</returns> public static async Task <TestCases> TestAsync(string testCasesCsv, string baseUriMappingXml, string userAgentMappingXml, string proxyUri = null) { var testCases = TestCasesParser.Parse(new CsvParser().Parse(testCasesCsv)); await testCases.TestAsync( new HttpRequestService(BaseUriMappingParser.Parse(XElement.Parse(baseUriMappingXml)), userAgentMappingXml != null ? UserAgentMappingParser.Parse(XElement.Parse(userAgentMappingXml)) : null, proxyUri)); return(testCases); }
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 void TestParseWithNullItem() { TestCasesParser.Parse(null); }