diff --git a/mock-collector/src/main/assembly/assembly.xml b/mock-collector/src/main/assembly/assembly.xml
index 81973ae..3facba7 100644
--- a/mock-collector/src/main/assembly/assembly.xml
+++ b/mock-collector/src/main/assembly/assembly.xml
@@ -19,7 +19,7 @@
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
-
+ mock-collector-assembly
tar.gz
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/LogAssert.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/LogAssert.java
index d6b2d25..3206515 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/LogAssert.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/LogAssert.java
@@ -41,7 +41,24 @@ private static void logsEquals(List excepted, List actual) {
if (actual == null || excepted.size() != actual.size()) {
throw new LogSizeNotEqualsException(excepted.size(), (actual != null) ? actual.size() : 0);
}
-
+ Comparator logComparator = (log1, log2) -> {
+ String ep1 = log1.getEndpoint() != null ? log1.getEndpoint() : "";
+ String ep2 = log2.getEndpoint() != null ? log2.getEndpoint() : "";
+ int cmp = ep1.compareTo(ep2);
+ if (cmp != 0) return cmp;
+
+ String type1 = log1.getBody() != null && log1.getBody().getType() != null ? log1.getBody().getType() : "";
+ String type2 = log2.getBody() != null && log2.getBody().getType() != null ? log2.getBody().getType() : "";
+ cmp = type1.compareTo(type2);
+ if (cmp != 0) return cmp;
+
+ String content1 = getContentValue(log1);
+ String content2 = getContentValue(log2);
+ return content1.compareTo(content2);
+ };
+
+ excepted.sort(logComparator);
+ actual.sort(logComparator);
for (int index = 0; index < excepted.size(); index++) {
LogData exceptedLog = excepted.get(index);
LogData actualLog = actual.get(index);
@@ -144,4 +161,13 @@ private static void keyValuePairEquals(LogTags.KeyValuePair excepted, LogTags.Ke
ExpressParser.parse(excepted.getValue()).assertValue("", actual.getValue());
}
+ private static String getContentValue(LogData log) {
+ if (log.getBody() == null || log.getBody().getContent() == null) return "";
+ Map content = log.getBody().getContent();
+ if (content.get("text") != null) return content.get("text");
+ if (content.get("json") != null) return content.get("json");
+ if (content.get("yaml") != null) return content.get("yaml");
+ return "";
+ }
+
}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/LogEvent.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/LogEvent.java
index f4158f7..cecd641 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/LogEvent.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/LogEvent.java
@@ -39,4 +39,4 @@ public List events() {
return keyValuePairs;
}
}
-}
+}
\ No newline at end of file
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentForRead.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentForRead.java
index dd815aa..f132506 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentForRead.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentForRead.java
@@ -329,4 +329,4 @@ public void setSpans(List spans) {
this.spans = spans;
}
-}
+}
\ No newline at end of file
diff --git a/validator/src/test/resources/actualData.yaml b/validator/src/test/resources/actualData.yaml
index cb5deb3..7384a0b 100644
--- a/validator/src/test/resources/actualData.yaml
+++ b/validator/src/test/resources/actualData.yaml
@@ -174,7 +174,7 @@ meterItems:
singleValue: 200.0
logItems:
- serviceName: foo
- logSize: 2
+ logSize: 4
logs:
- timestamp: 12345667890
endpoint: "/foo1"
@@ -204,6 +204,24 @@ logItems:
spanId: 1
tags: {}
layer: ''
+ - timestamp: 111
+ endpoint: ''
+ body:
+ type: ''
+ content:
+ text: "empty endpoint log2"
+ traceContext: { }
+ tags: { }
+ layer: ''
+ - timestamp: 1111
+ endpoint: ''
+ body:
+ type: ''
+ content:
+ text: "empty endpoint log1"
+ traceContext: { }
+ tags: { }
+ layer: ''
- serviceName: bar
logSize: 1
diff --git a/validator/src/test/resources/expectedData.yaml b/validator/src/test/resources/expectedData.yaml
index 8fa2f89..a37517a 100644
--- a/validator/src/test/resources/expectedData.yaml
+++ b/validator/src/test/resources/expectedData.yaml
@@ -144,8 +144,26 @@ meterItems:
singleValue: ge 0
logItems:
- serviceName: foo
- logSize: 2
+ logSize: 4
logs:
+ - timestamp: gt 0
+ endpoint: ''
+ body:
+ type: ''
+ content:
+ text: "empty endpoint log1"
+ traceContext: { }
+ tags: { }
+ layer: ''
+ - timestamp: gt 0
+ endpoint: ''
+ body:
+ type: ''
+ content:
+ text: "empty endpoint log2"
+ traceContext: { }
+ tags: { }
+ layer: ''
- timestamp: gt 0
endpoint: "/foo1"
body: