You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/11/04 09:03:31 UTC
[dubbo] branch 3.0 updated: Fix flaky due to annotation order
(#9123)
This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.0 by this push:
new 295f2a7 Fix flaky due to annotation order (#9123)
295f2a7 is described below
commit 295f2a767f1a2dd812e955bff8c5efb0eb97fd3f
Author: HildoYe <75...@users.noreply.github.com>
AuthorDate: Thu Nov 4 04:03:21 2021 -0500
Fix flaky due to annotation order (#9123)
---
.../dubbo/common/utils/AnnotationUtilsTest.java | 34 +++++++++++++++-------
1 file changed, 24 insertions(+), 10 deletions(-)
diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/utils/AnnotationUtilsTest.java b/dubbo-common/src/test/java/org/apache/dubbo/common/utils/AnnotationUtilsTest.java
index 7c43465..74c9360 100644
--- a/dubbo-common/src/test/java/org/apache/dubbo/common/utils/AnnotationUtilsTest.java
+++ b/dubbo-common/src/test/java/org/apache/dubbo/common/utils/AnnotationUtilsTest.java
@@ -355,15 +355,29 @@ public class AnnotationUtilsTest {
private void assertADeclaredAnnotations(List<Annotation> annotations, int offset) {
int size = 3 + offset;
assertEquals(size, annotations.size());
- Service service = (Service) annotations.get(offset++);
- assertEquals("java.lang.CharSequence", service.interfaceName());
- assertEquals(CharSequence.class, service.interfaceClass());
-
- com.alibaba.dubbo.config.annotation.Service s = (com.alibaba.dubbo.config.annotation.Service) annotations.get(offset++);
- assertEquals("java.lang.CharSequence", service.interfaceName());
- assertEquals(CharSequence.class, service.interfaceClass());
-
- Adaptive adaptive = (Adaptive) annotations.get(offset++);
- assertArrayEquals(new String[]{"a", "b", "c"}, adaptive.value());
+ boolean apacheServiceFound = false;
+ boolean alibabaServiceFound = false;
+ boolean adaptiveFound = false;
+
+ for (Annotation annotation: annotations) {
+ if (!apacheServiceFound && (annotation instanceof Service)) {
+ assertEquals("java.lang.CharSequence", ((Service)annotation).interfaceName());
+ assertEquals(CharSequence.class, ((Service)annotation).interfaceClass());
+ apacheServiceFound = true;
+ continue;
+ }
+ if (!alibabaServiceFound && (annotation instanceof com.alibaba.dubbo.config.annotation.Service)) {
+ assertEquals("java.lang.CharSequence", ((com.alibaba.dubbo.config.annotation.Service)annotation).interfaceName());
+ assertEquals(CharSequence.class, ((com.alibaba.dubbo.config.annotation.Service)annotation).interfaceClass());
+ alibabaServiceFound = true;
+ continue;
+ }
+ if (!adaptiveFound && (annotation instanceof Adaptive)) {
+ assertArrayEquals(new String[]{"a", "b", "c"}, ((Adaptive)annotation).value());
+ adaptiveFound = true;
+ continue;
+ }
+ }
+ assertTrue(apacheServiceFound && alibabaServiceFound && adaptiveFound);
}
}