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: