public void TestAssertWithFail() { // Arrange var key = fixture.Create<string>(); var value = fixture.Create<string>(); var item = new CookieAssertion { Key = key, Value = value, }; var arrange = new Arrange { HttpResponse = new HttpResponse { Cookies = new NameValueCollection { { key, "a value" }, { "b", "b value" }, } }, }; // Act item.Assert(null, arrange); // Assert Assert.IsFalse(item.Success); }
public void TestAssertWithInvalidXsd() { // Arrange const string ActualHtml = @"<Shop> <Item>a</Item> <Item>b</Item> <Item>c</Item> </Shop>"; var item = new XsdAssertion { Xsd = @"<?xml version='1.0' encoding='utf-8'?> <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'> <xs:element name='Shop'> <xs:complexType> <xs:sequence>" }; var actual = new Arrange { HttpResponse = new HttpResponse { Contents = ActualHtml, ContentType = "text/xml" } }; // Act item.Assert(null, actual); // Assert Assert.IsFalse(item.Success); }
private bool TestAssert(string expected, string actual) { // Arrange var item = new UriAssertion { Value = expected }; var arrange = new Arrange { HttpResponse = new HttpResponse { Uri = new Uri(actual) }, }; // Act item.Assert(null, arrange); return item.Success; }
/// <summary> /// Assert all assertion /// </summary> /// <param name="expected">expected Arrange</param> /// <param name="actual">actual Arrange</param> public void Assert(Arrange expected, Arrange actual) { foreach (var current in this.Assertions) { try { current.Assert(expected, actual); } catch (Exception exception) { current.Exception = exception; current.Success = false; } } }
public void TestAssert() { // Arrange const string ExpectedXml = @"<Expected>2013/08/02 16:48:10</Expected>"; const string ActualHtml = @"<html> <body><span>2013/08/02 16:48:10</span></body> </html>"; var item = new DateTimeAssertion { IsList = false, Expected = new ContentAssertionItem { Key = "Expected", Value = null, Query = "//Expected", Attribute = null, Pattern = null, Format = "yyyy/MM/dd HH:mm:ss" }, Actual = new ContentAssertionItem { Key = "Actual", Value = null, Query = "//body/span", Attribute = null, Pattern = null, Format = "yyyy/MM/dd HH:mm:ss" }, }; var expected = new Arrange { HttpResponse = new HttpResponse { Contents = ExpectedXml, ContentType = "text/xml" } }; var actual = new Arrange { HttpResponse = new HttpResponse { Contents = ActualHtml, ContentType = "text/html" } }; // Act item.Assert(expected, actual); // Assert Assert.IsTrue(item.Success); }
public void TestAssert() { // Arrange const string ExpectedXml = @"<Shop>a</Shop>"; const string ActualHtml = @"<html> <body> <span>a</span> </body> </html>"; var item = new TextAssertion { IsList = false, Expected = new ContentAssertionItem { Key = "Expected", Value = null, Query = "//Shop", Attribute = null, Pattern = null, }, Actual = new ContentAssertionItem { Key = "Actual", Value = null, Query = "//body/span", Attribute = null, Pattern = null, }, }; var expected = new Arrange { HttpResponse = new HttpResponse { Contents = ExpectedXml, ContentType = "text/xml" } }; var actual = new Arrange { HttpResponse = new HttpResponse { Contents = ActualHtml, ContentType = "text/html" } }; // Act item.Assert(expected, actual); // Assert Assert.IsTrue(item.Success); }
private bool TestAssert(int expected, int actual) { // Arrange var item = new StatusCodeAssertion { Value = expected.ToString(CultureInfo.InvariantCulture), }; var arrange = new Arrange { HttpResponse = new HttpResponse { StatusCode = (HttpStatusCode)actual }, }; // Act item.Assert(null, arrange); return item.Success; }
public void TestAssert() { // Arrange var key = fixture.Create<string>(); var value = fixture.Create<string>(); var item = new HeaderAssertion { Key = key, Value = value }; var arrange = new Arrange { HttpResponse = new HttpResponse { Headers = new NameValueCollection { { key, value }, { "b", "b value" }, } }, }; // Act item.Assert(null, arrange); // Assert Assert.IsTrue(item.Success); }
public void TestAssertWithUrlDecode() { // Arrange const string ExpectedXml = @"<Shop>http://www.test.com/?query=a+b</Shop>"; const string ActualHtml = @"<html> <body> <a href='http://www.test.com/?query=a+b'>link</a> </body> </html>"; var item = new TextAssertion { IsList = false, Expected = new ContentAssertionItem { Key = "Expected", Value = null, Query = "//Shop", Attribute = null, Pattern = null, UrlDecode = true, }, Actual = new ContentAssertionItem { Key = "Actual", Value = null, Query = "//body/a", Attribute = "href", Pattern = null, UrlDecode = true, }, }; var expected = new Arrange { HttpResponse = new HttpResponse { Contents = ExpectedXml, ContentType = "text/xml" } }; var actual = new Arrange { HttpResponse = new HttpResponse { Contents = ActualHtml, ContentType = "text/html" } }; // Act item.Assert(expected, actual); // Assert Assert.IsTrue(item.Success); }
public void TestAssertWithListAndStaticValue() { // Arrange const string ActualHtml = @"<html> <body> <span>aaa</span> <span>aaa</span> </body> </html>"; var item = new TextAssertion { IsList = true, Expected = new ContentAssertionItem { Key = null, Value = "aaa", Query = null, Attribute = null, Pattern = null, }, Actual = new ContentAssertionItem { Key = "Actual", Value = null, Query = "//body/span", Attribute = null, Pattern = null, }, }; var actual = new Arrange { HttpResponse = new HttpResponse { Contents = ActualHtml, ContentType = "text/html" } }; // Act item.Assert(null, actual); }
public void TestAssertWithListAndPattern() { // Arrange const string ExpectedXml = @"<Shop> <Item>30 in</Item> <Item>61°</Item> <Item>66%</Item> <Item>10 miles</Item> <Item>0 mph</Item> </Shop>"; const string ActualHtml = @"<html> <body> <ul> <li>Barometer: 30 in</li> <li>Dewpoint: 61°</li> <li>Humidity: 66%</li> <li>Visibility: 10 miles</li> <li>Wind: 0 mph</li> </ul> </body> </html>"; var item = new TextAssertion { IsList = true, Expected = new ContentAssertionItem { Key = "Expected", Value = null, Query = "//Shop/Item", Attribute = null, Pattern = null, }, Actual = new ContentAssertionItem { Key = "Actual", Value = null, Query = "//body/ul/li", Attribute = null, Pattern = @"[^:]:\s(.*)", }, }; var expected = new Arrange { HttpResponse = new HttpResponse { Contents = ExpectedXml, ContentType = "text/xml" } }; var actual = new Arrange { HttpResponse = new HttpResponse { Contents = ActualHtml, ContentType = "text/html" } }; // Act item.Assert(expected, actual); // Assert Assert.IsTrue(item.Success); }
public void TestAssertWithList() { // Arrange const string ExpectedXml = @"<Shop> <Item Name='a' /> <Item Name='b' /> <Item Name='c' /> <Item Name='d' /> <Item Name='e' /> </Shop>"; const string ActualHtml = @"<html> <body> <ul> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> </ul> </body> </html>"; var item = new TextAssertion { IsList = true, Expected = new ContentAssertionItem { Key = "Expected", Value = null, Query = "//Shop/Item", Attribute = "Name", Pattern = null, }, Actual = new ContentAssertionItem { Key = "Actual", Value = null, Query = "//body/ul/li", Attribute = null, Pattern = null, }, }; var expected = new Arrange { HttpResponse = new HttpResponse { Contents = ExpectedXml, ContentType = "text/xml" } }; var actual = new Arrange { HttpResponse = new HttpResponse { Contents = ActualHtml, ContentType = "text/html" } }; // Act item.Assert(expected, actual); // Assert Assert.IsTrue(item.Success); }
public void TestAssertWithFailedPattern() { // Arrange const string ExpectedXml = @"<Shop> <Item>30 in</Item> </Shop>"; const string ActualHtml = @"<html> <body> <ul><li>Barometer 30 in</li></ul> </body> </html>"; var item = new TextAssertion { IsList = false, Expected = new ContentAssertionItem { Key = "Expected", Value = null, Query = "//Shop/Item", Attribute = null, Pattern = null, }, Actual = new ContentAssertionItem { Key = "Actual", Value = null, Query = "//body/ul/li", Attribute = null, Pattern = @"[^:]:\s(.*)", }, }; var expected = new Arrange { HttpResponse = new HttpResponse { Contents = ExpectedXml, ContentType = "text/xml" } }; var actual = new Arrange { HttpResponse = new HttpResponse { Contents = ActualHtml, ContentType = "text/html" } }; // Act item.Assert(expected, actual); }
public void TestAssertWithStandardDateTimeFormat() { // Arrange const string ExpectedXml = @"<Expected>2013-08-02T17:54:00</Expected>"; const string ActualHtml = @"<html> <body><span>17:54</span></body> </html>"; var item = new DateTimeAssertion { IsList = false, IsTime = true, Expected = new ContentAssertionItem { Key = "Expected", Value = null, Query = "//Expected", Attribute = null, Pattern = null, Format = "yyyy-MM-ddTHH:mm:ss" }, Actual = new ContentAssertionItem { Key = "Actual", Value = null, Query = "//body/span", Attribute = null, Pattern = null, Format = "t", // Standard DateTime format FormatCulture = "en-US" }, }; var expected = new Arrange { HttpResponse = new HttpResponse { Contents = ExpectedXml, ContentType = "text/xml" } }; var actual = new Arrange { HttpResponse = new HttpResponse { Contents = ActualHtml, ContentType = "text/html" } }; // Act item.Assert(expected, actual); // Assert Assert.IsTrue(item.Success); }
public void TestAssertWithList() { // Arrange const string ExpectedXml = @"<Expected> <Item Name='2013/08/02 16:00:00' /> <Item Name='2013/08/02 17:00:00' /> <Item Name='2013/08/02 18:00:00' /> <Item Name='2013/08/02 19:00:00' /> <Item Name='2013/08/02 20:00:00' /> </Expected>"; const string ActualHtml = @"<html> <head></head> <body> <ul> <li>2013/08/02 16:00:00</li> <li>2013/08/02 17:00:00</li> <li>2013/08/02 18:00:00</li> <li>2013/08/02 19:00:00</li> <li>2013/08/02 20:00:00</li> </ul> </body> </html>"; var item = new DateTimeAssertion { IsList = true, Expected = new ContentAssertionItem { Key = "Expected", Value = null, Query = "//Expected/Item", Attribute = "Name", Pattern = null, Format = "yyyy/MM/dd HH:mm:ss" }, Actual = new ContentAssertionItem { Key = "Actual", Value = null, Query = "//body/ul/li", Attribute = null, Pattern = null, Format = "yyyy/MM/dd HH:mm:ss" }, }; var expected = new Arrange { HttpResponse = new HttpResponse { Contents = ExpectedXml, ContentType = "text/xml" } }; var actual = new Arrange { HttpResponse = new HttpResponse { Contents = ActualHtml, ContentType = "text/html" } }; // Act item.Assert(expected, actual); // Assert Assert.IsTrue(item.Success); }