You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2019/10/31 04:38:34 UTC
[skywalking] branch master updated: validator enhancement (#3750)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 5bb35e3 validator enhancement (#3750)
5bb35e3 is described below
commit 5bb35e3f7d7c1f7534708de67b8d37d531a438b8
Author: zhangwei <pk...@outlook.com>
AuthorDate: Thu Oct 31 12:38:23 2019 +0800
validator enhancement (#3750)
---
.../tool/validator/assertor/SegmentAssert.java | 30 ++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/test/plugin/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentAssert.java b/test/plugin/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentAssert.java
index 68faf42..aabba74 100644
--- a/test/plugin/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentAssert.java
+++ b/test/plugin/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentAssert.java
@@ -20,6 +20,8 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.ActualSegmentRefIsEmptyException;
+import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.SegmentRefAssertFailedException;
+import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.SegmentRefNotFoundException;
import org.apache.skywalking.plugin.test.agent.tool.validator.exception.AssertFailedException;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.KeyValueNotEqualsException;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.LogEventKeyNotEqualsException;
@@ -125,6 +127,10 @@ public class SegmentAssert {
if (excepted.size() != actual.size()) {
throw new RefSizeNotEqualsException(excepted.size(), actual.size());
}
+
+ for (SegmentRef ref : excepted) {
+ findSegmentRef(actual, ref);
+ }
}
private static void tagsEquals(List<KeyValuePair> excepted, List<KeyValuePair> actual) {
@@ -189,4 +195,28 @@ public class SegmentAssert {
}
}
+ private static SegmentRef findSegmentRef(List<SegmentRef> actual, SegmentRef expected) {
+ List<SegmentRefAssertFailedCause> causes = new ArrayList<>();
+ for (SegmentRef segmentRef : actual) {
+ try {
+ if (simpleSegmentRefEquals(expected, segmentRef)) {
+ return segmentRef;
+ }
+ } catch (SegmentRefAssertFailedException e) {
+ causes.add(new SegmentRefAssertFailedCause(e, segmentRef));
+ }
+ }
+ throw new SegmentRefNotFoundException(expected, causes);
+ }
+
+ private static boolean simpleSegmentRefEquals(SegmentRef expected, SegmentRef actual) {
+ try {
+ ExpressParser.parse(expected.entryServiceName()).assertValue("entry service name", actual.entryServiceName());
+ ExpressParser.parse(expected.parentServiceName()).assertValue("parent service name", actual.parentServiceName());
+ ExpressParser.parse(expected.refType()).assertValue("ref type", actual.refType());
+ return true;
+ } catch (ValueAssertFailedException e) {
+ throw new SegmentRefAssertFailedException(e, expected, actual);
+ }
+ }
}