public void Validate_HeaderValueSameAsExpectedStateValue_ShouldMatchIsTrue_ValidationSucceeds() { // Arrange const string headerKey = "key"; const string actualValue = "value"; const bool shouldMatch = true; Dictionary <string, string> savedState = new Dictionary <string, string>() { { "StateKey", actualValue } }; ResponseHeaderValidator validator = new ResponseHeaderValidator(headerKey, null, "StateKey", false, shouldMatch); ResponseDataMock responseData = new ResponseDataMock { Headers = new CaseInsensitiveDictionary() { { headerKey, actualValue } } }; // Act ValidationResult validationResult = validator.Validate(responseData, null, savedState); // Assert Assert.IsFalse(validationResult.HasFailures); }
public void Validate_HeaderValueIsNullAndExpectedValueIsEmpty_ShouldMatchIsFalseAndIsRequiredIsTrue_ErrorMessageContainsHeaderKey() { // Arrange const string headerKey = "key"; const string actualValue = null; const bool shouldMatch = false; const bool isRequired = true; ResponseHeaderValidator validator = new ResponseHeaderValidator(headerKey, "", null, isRequired, shouldMatch); ResponseDataMock responseData = new ResponseDataMock { Headers = new CaseInsensitiveDictionary() { { headerKey, actualValue } } }; // Act ValidationResult validationResult = validator.Validate(responseData, null, null); // Assert string error = validationResult.Errors.First(); Assert.IsTrue(error.Equals("'key' header value should be any non empty string.")); }
public void Validate_HeaderValueDifferentThanExpectedValueAndIncorrectExpectedStateKey_ShouldMatchIsTrue_ErrorMessageContainsExpectedStateValue() { // Arrange const string headerKey = "key"; const string actualValue = "value"; const string expectedValue = "incorrect expected value"; const bool shouldMatch = true; Dictionary <string, string> savedState = new Dictionary <string, string>() { { "StateKey", "value" } }; ResponseHeaderValidator validator = new ResponseHeaderValidator(headerKey, expectedValue, "IncorrectStateKey", false, shouldMatch); ResponseDataMock responseData = new ResponseDataMock { Headers = new CaseInsensitiveDictionary() { { headerKey, actualValue } } }; // Act ValidationResult validationResult = validator.Validate(responseData, null, savedState); // Assert string error = validationResult.Errors.First(); Assert.IsTrue(error.Contains(expectedValue)); }
public void Validate_HeaderValueIsNonEmptyAndExpectedValueIsEmpty_ShouldMatchAndIsRequiredAreTrue_ErrorMessageContainsHeaderKey() { // Arrange const string headerKey = "key"; const string actualValue = "value"; const bool shouldMatch = true; const bool isRequired = true; ResponseHeaderValidator validator = new ResponseHeaderValidator(headerKey, "", null, isRequired, shouldMatch); ResponseDataMock responseData = new ResponseDataMock { Headers = new CaseInsensitiveDictionary() { { headerKey, actualValue } } }; // Act ValidationResult validationResult = validator.Validate(responseData, null, null); // Assert string error = validationResult.Errors.First(); Assert.IsTrue(error.Contains(headerKey)); }
public void Validate_HeaderValueSameAsExpectedValue_ShouldMatchIsFalse_ErrorMessageContainsExpectedHeaderValue() { // Arrange const string headerKey = "key"; const string expectedValue = "testvalue"; const string actualValue = expectedValue; const bool shouldMatch = false; ResponseHeaderValidator validator = new ResponseHeaderValidator(headerKey, expectedValue, null, false, shouldMatch); ResponseDataMock responseData = new ResponseDataMock { Headers = new CaseInsensitiveDictionary() { { headerKey, actualValue } } }; // Act ValidationResult validationResult = validator.Validate(responseData, null, null); // Assert string error = validationResult.Errors.First(); Assert.IsTrue(error.Contains(expectedValue)); }
public void Validate_HeaderKeyDoesntExist_IsRequiredIsFalse_ValidationSucceeds() { // Arrange const string headerKey = "key"; const string expectedValue = "value"; const bool shouldMatch = true; ResponseHeaderValidator validator = new ResponseHeaderValidator(headerKey, expectedValue, null, false, shouldMatch); ResponseDataMock responseData = new ResponseDataMock { Headers = new CaseInsensitiveDictionary() }; // Act ValidationResult validationResult = validator.Validate(responseData, null, null); // Assert Assert.IsFalse(validationResult.HasFailures); }
public void Validate_HeaderAndExpectedValueAreEmpty_ShouldMatchAndIsRequiredAreTrue_ValidationSucceeds() { // Arrange const string headerKey = "key"; const string actualValue = ""; const bool shouldMatch = true; const bool isRequired = true; ResponseHeaderValidator validator = new ResponseHeaderValidator(headerKey, "", null, isRequired, shouldMatch); ResponseDataMock responseData = new ResponseDataMock { Headers = new CaseInsensitiveDictionary() { { headerKey, actualValue } } }; // Act ValidationResult validationResult = validator.Validate(responseData, null, null); // Assert Assert.IsFalse(validationResult.HasFailures); }
public void Validate_HeaderValueSameAsExpectedValue_ShouldMatchIsFalse_ValidationFails() { // Arrange const string headerKey = "key"; const string expectedValue = "value"; const string actualValue = expectedValue; const bool shouldMatch = false; ResponseHeaderValidator validator = new ResponseHeaderValidator(headerKey, expectedValue, null, false, shouldMatch); ResponseDataMock responseData = new ResponseDataMock { Headers = new CaseInsensitiveDictionary() { { headerKey, actualValue } } }; // Act ValidationResult validationResult = validator.Validate(responseData, null, null); // Assert Assert.IsTrue(validationResult.HasFailures); }
public void Validate_HeaderValueSameAsExpectedValue_ShouldMatchIsFalse_OneErrorReturned() { // Arrange const string headerKey = "key"; const string expectedValue = "value"; const string actualValue = expectedValue; const bool shouldMatch = false; ResponseHeaderValidator validator = new ResponseHeaderValidator(headerKey, expectedValue, null, false, shouldMatch); ResponseDataMock responseData = new ResponseDataMock { Headers = new CaseInsensitiveDictionary() { { headerKey, actualValue } } }; // Act ValidationResult validationResult = validator.Validate(responseData, null, null); // Assert Assert.IsNotNull(validationResult.Errors); Assert.AreEqual(1, validationResult.Errors.Count()); }