From cf05c8f57c00f0a04620ae30388cb7e77d044127 Mon Sep 17 00:00:00 2001 From: Neil Campbell Date: Thu, 28 Aug 2014 17:27:08 +1000 Subject: [PATCH] Updating BodyComparer to display actual and expected in the correct order and refactoring the naming inside the comparer to be more explicit. --- PactNet/Comparers/IComparer.cs | 2 +- .../Comparers/HttpBodyComparer.cs | 20 ++++++------ .../Comparers/HttpHeaderComparer.cs | 32 +++++++++---------- .../Comparers/HttpMethodComparer.cs | 8 ++--- .../Comparers/HttpPathComparer.cs | 10 +++--- .../Comparers/HttpQueryStringComparer.cs | 8 ++--- .../Comparers/IHttpBodyComparer.cs | 2 +- .../ProviderServiceRequestComparer.cs | 21 ++++++------ .../ProviderServiceResponseComparer.cs | 20 ++++++------ 9 files changed, 62 insertions(+), 61 deletions(-) diff --git a/PactNet/Comparers/IComparer.cs b/PactNet/Comparers/IComparer.cs index 67eed33c..1d479789 100644 --- a/PactNet/Comparers/IComparer.cs +++ b/PactNet/Comparers/IComparer.cs @@ -2,6 +2,6 @@ { public interface IComparer { - void Compare(T item1, T item2); + void Compare(T expected, T actual); } } diff --git a/PactNet/Mocks/MockHttpService/Comparers/HttpBodyComparer.cs b/PactNet/Mocks/MockHttpService/Comparers/HttpBodyComparer.cs index 58315ca6..aae2c335 100644 --- a/PactNet/Mocks/MockHttpService/Comparers/HttpBodyComparer.cs +++ b/PactNet/Mocks/MockHttpService/Comparers/HttpBodyComparer.cs @@ -18,36 +18,36 @@ public HttpBodyComparer(string messagePrefix, IReporter reporter) } //TODO: Remove boolean and add "matching" functionality - public void Validate(dynamic body1, dynamic body2, bool useStrict = false) + public void Validate(dynamic expected, dynamic actual, bool useStrict = false) { _comparisonPasses = 0; - if (body1 == null) + if (expected == null) { return; } - if (body1 != null && body2 == null) + if (expected != null && actual == null) { _reporter.ReportError("Body is null"); return; } - string body1Json = JsonConvert.SerializeObject(body1); - string body2Json = JsonConvert.SerializeObject(body2); - var httpBody1 = JsonConvert.DeserializeObject(body1Json); - var httpBody2 = JsonConvert.DeserializeObject(body2Json); + string expectedJson = JsonConvert.SerializeObject(expected); + string actualJson = JsonConvert.SerializeObject(actual); + var expectedToken = JsonConvert.DeserializeObject(expectedJson); + var actualToken = JsonConvert.DeserializeObject(actualJson); if (useStrict) { - if (!JToken.DeepEquals(httpBody1, httpBody2)) + if (!JToken.DeepEquals(expectedToken, actualToken)) { - _reporter.ReportError(expected: httpBody1, actual: httpBody2); + _reporter.ReportError(expected: expectedToken, actual: actualToken); } return; } - AssertPropertyValuesMatch(httpBody1, httpBody2); + AssertPropertyValuesMatch(expectedToken, actualToken); } diff --git a/PactNet/Mocks/MockHttpService/Comparers/HttpHeaderComparer.cs b/PactNet/Mocks/MockHttpService/Comparers/HttpHeaderComparer.cs index 670dc77b..ca96f5ab 100644 --- a/PactNet/Mocks/MockHttpService/Comparers/HttpHeaderComparer.cs +++ b/PactNet/Mocks/MockHttpService/Comparers/HttpHeaderComparer.cs @@ -16,44 +16,44 @@ public HttpHeaderComparer(string messagePrefix, IReporter reporter) _reporter = reporter; } - public void Compare(IDictionary headers1, IDictionary headers2) + public void Compare(IDictionary expected, IDictionary actual) { - if (headers2 == null) + if (actual == null) { _reporter.ReportError("Headers are null"); return; } - headers2 = MakeDictionaryCaseInsensitive(headers2); + actual = MakeDictionaryCaseInsensitive(actual); - foreach (var header in headers1) + foreach (var header in expected) { _reporter.ReportInfo(String.Format("{0} includes header {1} with value {2}", _messagePrefix, header.Key, header.Value)); - string value2; + string actualValue; - if (headers2.TryGetValue(header.Key, out value2)) + if (actual.TryGetValue(header.Key, out actualValue)) { - var value1 = header.Value; + var expectedValue = header.Value; - var value2Split = value2.Split(new[] {',', ';'}); - if (value2Split.Length == 1) + var actualValueSplit = actualValue.Split(new[] { ',', ';' }); + if (actualValueSplit.Length == 1) { - if (!header.Value.Equals(value2)) + if (!header.Value.Equals(actualValue)) { - _reporter.ReportError(expected: header.Value, actual: value2); + _reporter.ReportError(expected: expectedValue, actual: actualValue); return; } } else { - var value1Split = value1.Split(new[] {',', ';'}); - var value1SplitJoined = String.Join(",", value1Split.Select(x => x.Trim())); - var value2SplitJoined = String.Join(",", value2Split.Select(x => x.Trim())); + var expectedValueSplit = expectedValue.Split(new[] {',', ';'}); + var expectedValueSplitJoined = String.Join(",", expectedValueSplit.Select(x => x.Trim())); + var actualValueSplitJoined = String.Join(",", actualValueSplit.Select(x => x.Trim())); - if (!value1SplitJoined.Equals(value2SplitJoined)) + if (!expectedValueSplitJoined.Equals(actualValueSplitJoined)) { - _reporter.ReportError(expected: header.Value, actual: value2); + _reporter.ReportError(expected: expectedValue, actual: actualValue); return; } } diff --git a/PactNet/Mocks/MockHttpService/Comparers/HttpMethodComparer.cs b/PactNet/Mocks/MockHttpService/Comparers/HttpMethodComparer.cs index 872285c7..36938035 100644 --- a/PactNet/Mocks/MockHttpService/Comparers/HttpMethodComparer.cs +++ b/PactNet/Mocks/MockHttpService/Comparers/HttpMethodComparer.cs @@ -15,12 +15,12 @@ public HttpMethodComparer(string messagePrefix, IReporter reporter) _reporter = reporter; } - public void Compare(HttpVerb method1, HttpVerb method2) + public void Compare(HttpVerb expected, HttpVerb actual) { - _reporter.ReportInfo(String.Format("{0} has method set to {1}", _messagePrefix, method1)); - if (!method1.Equals(method2)) + _reporter.ReportInfo(String.Format("{0} has method set to {1}", _messagePrefix, expected)); + if (!expected.Equals(actual)) { - _reporter.ReportError(expected: method1, actual: method2); + _reporter.ReportError(expected: expected, actual: actual); return; } } diff --git a/PactNet/Mocks/MockHttpService/Comparers/HttpPathComparer.cs b/PactNet/Mocks/MockHttpService/Comparers/HttpPathComparer.cs index f2a9f4b3..5cb30602 100644 --- a/PactNet/Mocks/MockHttpService/Comparers/HttpPathComparer.cs +++ b/PactNet/Mocks/MockHttpService/Comparers/HttpPathComparer.cs @@ -14,18 +14,18 @@ public HttpPathComparer(string messagePrefix, IReporter reporter) _reporter = reporter; } - public void Compare(string path1, string path2) + public void Compare(string expected, string actual) { - if (path1 == null) + if (expected == null) { return; } - _reporter.ReportInfo(String.Format("{0} has path set to {1}", _messagePrefix, path1)); + _reporter.ReportInfo(String.Format("{0} has path set to {1}", _messagePrefix, expected)); - if (!path1.Equals(path2)) + if (!expected.Equals(actual)) { - _reporter.ReportError(expected: path1, actual: path2); + _reporter.ReportError(expected: expected, actual: actual); return; } } diff --git a/PactNet/Mocks/MockHttpService/Comparers/HttpQueryStringComparer.cs b/PactNet/Mocks/MockHttpService/Comparers/HttpQueryStringComparer.cs index db5bab88..5dfc8dbd 100644 --- a/PactNet/Mocks/MockHttpService/Comparers/HttpQueryStringComparer.cs +++ b/PactNet/Mocks/MockHttpService/Comparers/HttpQueryStringComparer.cs @@ -15,15 +15,15 @@ public HttpQueryStringComparer(string messagePrefix, IReporter reporter) _reporter = reporter; } - public void Compare(string expectedQuery, string actualQuery) + public void Compare(string expected, string actual) { - if (expectedQuery == null) + if (expected == null) { return; } - var normalisedExpectedQuery = ConvertUrlEncodingToUpperCase(expectedQuery); - var normalisedActualQuery = ConvertUrlEncodingToUpperCase(actualQuery); + var normalisedExpectedQuery = ConvertUrlEncodingToUpperCase(expected); + var normalisedActualQuery = ConvertUrlEncodingToUpperCase(actual); _reporter.ReportInfo(String.Format("{0} has query set to {1}", _messagePrefix, normalisedExpectedQuery)); diff --git a/PactNet/Mocks/MockHttpService/Comparers/IHttpBodyComparer.cs b/PactNet/Mocks/MockHttpService/Comparers/IHttpBodyComparer.cs index 4e97727d..9e2f67a7 100644 --- a/PactNet/Mocks/MockHttpService/Comparers/IHttpBodyComparer.cs +++ b/PactNet/Mocks/MockHttpService/Comparers/IHttpBodyComparer.cs @@ -2,6 +2,6 @@ { public interface IHttpBodyComparer { - void Validate(dynamic body1, dynamic body2, bool useStrict = false); + void Validate(dynamic expected, dynamic actual, bool useStrict = false); } } \ No newline at end of file diff --git a/PactNet/Mocks/MockHttpService/Comparers/ProviderServiceRequestComparer.cs b/PactNet/Mocks/MockHttpService/Comparers/ProviderServiceRequestComparer.cs index 05087aad..10238f65 100644 --- a/PactNet/Mocks/MockHttpService/Comparers/ProviderServiceRequestComparer.cs +++ b/PactNet/Mocks/MockHttpService/Comparers/ProviderServiceRequestComparer.cs @@ -25,32 +25,33 @@ public ProviderServiceRequestComparer(IReporter reporter) _httpBodyComparer = new HttpBodyComparer(MessagePrefix, _reporter); } - public void Compare(ProviderServiceRequest request1, ProviderServiceRequest request2) + public void Compare(ProviderServiceRequest expected, ProviderServiceRequest actual) { - if (request1 == null) + if (expected == null) { _reporter.ReportError("Expected request cannot be null"); + return; } - _httpMethodComparer.Compare(request1.Method, request2.Method); + _httpMethodComparer.Compare(expected.Method, actual.Method); - _httpPathComparer.Compare(request1.Path, request2.Path); + _httpPathComparer.Compare(expected.Path, actual.Path); - _httpQueryStringComparer.Compare(request1.Query, request2.Query); + _httpQueryStringComparer.Compare(expected.Query, actual.Query); - if (request1.Headers != null && request1.Headers.Any()) + if (expected.Headers != null && expected.Headers.Any()) { - if (request2.Headers == null) + if (actual.Headers == null) { _reporter.ReportError("Headers are null"); } - _httpHeaderComparer.Compare(request1.Headers, request2.Headers); + _httpHeaderComparer.Compare(expected.Headers, actual.Headers); } - if (request1.Body != null) + if (expected.Body != null) { - _httpBodyComparer.Validate(request2.Body, request1.Body, true); + _httpBodyComparer.Validate(expected.Body, actual.Body, true); } } } diff --git a/PactNet/Mocks/MockHttpService/Comparers/ProviderServiceResponseComparer.cs b/PactNet/Mocks/MockHttpService/Comparers/ProviderServiceResponseComparer.cs index 7db2af3b..63dd2741 100644 --- a/PactNet/Mocks/MockHttpService/Comparers/ProviderServiceResponseComparer.cs +++ b/PactNet/Mocks/MockHttpService/Comparers/ProviderServiceResponseComparer.cs @@ -22,29 +22,29 @@ public ProviderServiceResponseComparer(IReporter reporter) _httpBodyComparer = new HttpBodyComparer(MessagePrefix, _reporter); //TODO: MessagePrefix isn't real nice } - public void Compare(ProviderServiceResponse response1, ProviderServiceResponse response2) + public void Compare(ProviderServiceResponse expected, ProviderServiceResponse actual) { - if (response1 == null) + if (expected == null) { _reporter.ReportError("Expected response cannot be null"); return; } - _reporter.ReportInfo(String.Format("{0} has status code of {1}", MessagePrefix, response1.Status)); - if (!response1.Status.Equals(response2.Status)) + _reporter.ReportInfo(String.Format("{0} has status code of {1}", MessagePrefix, expected.Status)); + if (!expected.Status.Equals(actual.Status)) { - _reporter.ReportError(expected: response1.Status, actual: response2.Status); + _reporter.ReportError(expected: expected.Status, actual: actual.Status); } - if (response1.Headers != null && response1.Headers.Any()) + if (expected.Headers != null && expected.Headers.Any()) { - _httpHeaderComparer.Compare(response1.Headers, response2.Headers); + _httpHeaderComparer.Compare(expected.Headers, actual.Headers); } - if (response1.Body != null) + if (expected.Body != null) { - string expectedResponseBodyJson = JsonConvert.SerializeObject(response1.Body); - string actualResponseBodyJson = JsonConvert.SerializeObject(response2.Body); + string expectedResponseBodyJson = JsonConvert.SerializeObject(expected.Body); + string actualResponseBodyJson = JsonConvert.SerializeObject(actual.Body); var actualResponseBody = JsonConvert.DeserializeObject(actualResponseBodyJson); var expectedResponseBody = JsonConvert.DeserializeObject(expectedResponseBodyJson);