From 6daba36e353f3c767cbc8c2a378fa489831534bd Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 22 Feb 2019 13:26:36 +0800 Subject: [PATCH] Fix the issues of test cases --- .../dubbo/http/matcher/HttpRequestParamsMatcher.java | 6 +++--- .../cloud/alibaba/dubbo/metadata/RequestMetadata.java | 11 +++++++---- .../http/matcher/ProduceMediaTypeExpressionTest.java | 2 +- .../alibaba/dubbo/metadata/RequestMetadataTest.java | 4 ++-- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/HttpRequestParamsMatcher.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/HttpRequestParamsMatcher.java index 72137075..22f784b2 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/HttpRequestParamsMatcher.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/HttpRequestParamsMatcher.java @@ -45,11 +45,11 @@ public class HttpRequestParamsMatcher extends AbstractHttpRequestMatcher { @Override public boolean match(HttpRequest request) { for (ParamExpression paramExpression : expressions) { - if (!paramExpression.match(request)) { - return false; + if (paramExpression.match(request)) { + return true; } } - return true; + return false; } private static Set parseExpressions(String... params) { diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadata.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadata.java index 35d9cee1..29361b93 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadata.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadata.java @@ -240,15 +240,18 @@ public class RequestMetadata { RequestMetadata that = (RequestMetadata) o; return Objects.equals(method, that.method) && Objects.equals(path, that.path) && - Objects.equals(params, that.params) && - Objects.equals(headers, that.headers) && Objects.equals(consumes, that.consumes) && - Objects.equals(produces, that.produces); + Objects.equals(produces, that.produces) && + // Metadata should not compare the values + Objects.equals(getParamNames(), that.getParamNames()) && + Objects.equals(getHeaderNames(), that.getHeaderNames()); + } @Override public int hashCode() { - return Objects.hash(method, path, params, headers, consumes, produces); + // The values of metadata should not use for the hashCode() method + return Objects.hash(method, path, consumes, produces, getParamNames(), getHeaderNames()); } @Override diff --git a/spring-cloud-alibaba-dubbo/src/test/java/org/springframework/cloud/alibaba/dubbo/http/matcher/ProduceMediaTypeExpressionTest.java b/spring-cloud-alibaba-dubbo/src/test/java/org/springframework/cloud/alibaba/dubbo/http/matcher/ProduceMediaTypeExpressionTest.java index 6cb033c9..a749e274 100644 --- a/spring-cloud-alibaba-dubbo/src/test/java/org/springframework/cloud/alibaba/dubbo/http/matcher/ProduceMediaTypeExpressionTest.java +++ b/spring-cloud-alibaba-dubbo/src/test/java/org/springframework/cloud/alibaba/dubbo/http/matcher/ProduceMediaTypeExpressionTest.java @@ -35,6 +35,6 @@ public class ProduceMediaTypeExpressionTest extends AbstractMediaTypeExpressionT Assert.assertTrue(expression.match(Arrays.asList(MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON))); expression = createExpression(MediaType.APPLICATION_JSON_VALUE); - Assert.assertTrue(expression.match(Arrays.asList(MediaType.APPLICATION_XML))); + Assert.assertFalse(expression.match(Arrays.asList(MediaType.APPLICATION_XML))); } } diff --git a/spring-cloud-alibaba-dubbo/src/test/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadataTest.java b/spring-cloud-alibaba-dubbo/src/test/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadataTest.java index d84e5fe3..bbd2d25e 100644 --- a/spring-cloud-alibaba-dubbo/src/test/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadataTest.java +++ b/spring-cloud-alibaba-dubbo/src/test/java/org/springframework/cloud/alibaba/dubbo/metadata/RequestMetadataTest.java @@ -68,8 +68,8 @@ public class RequestMetadataTest { metadata.addHeader("d", "1").addHeader("e", "2").addHeader("f", "3"); metadata2.addHeader("d", "1").addHeader("e", "2"); - Assert.assertEquals(metadata, metadata2); - Assert.assertEquals(metadata.hashCode(), metadata2.hashCode()); + Assert.assertNotEquals(metadata, metadata2); + Assert.assertNotEquals(metadata.hashCode(), metadata2.hashCode()); } // @Test