You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by da...@apache.org on 2020/03/16 02:02:48 UTC
[skywalking-agent-test-tool] branch master updated: Provide data
validation API in Mock Collector (#9)
This is an automated email from the ASF dual-hosted git repository.
daming pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-agent-test-tool.git
The following commit(s) were added to refs/heads/master by this push:
new 55c13b3 Provide data validation API in Mock Collector (#9)
55c13b3 is described below
commit 55c13b307c2d9fa2c497893a2a5e4a2651fe983b
Author: Daming <zt...@foxmail.com>
AuthorDate: Mon Mar 16 10:02:39 2020 +0800
Provide data validation API in Mock Collector (#9)
* Provide data validation API in Mock Collector
* fix conflict
---
README.md | 12 ++--
mock-collector/pom.xml | 5 ++
.../skywalking/plugin/test/mockcollector/Main.java | 28 ++++++---
.../MockCLRMetricReportService.java | 2 +-
.../{service => mock}/MockInstancePingService.java | 2 +-
.../MockJVMMetricReportService.java | 2 +-
.../{service => mock}/MockRegisterService.java | 2 +-
.../{service => mock}/MockTraceSegmentService.java | 2 +-
.../mockcollector/{service => mock}/Sequences.java | 2 +-
.../service => mock/rest}/JettyJsonHandler.java | 2 +-
.../rest}/MockInstanceRegisterServletHandler.java | 4 +-
.../MockServiceInstancePingServletHandler.java | 2 +-
.../rest}/MockServiceRegisterServletHandler.java | 4 +-
.../MockTraceSegmentCollectServletHandler.java | 2 +-
.../mockcollector/service/DataValidateService.java | 68 ++++++++++++++++++++++
pom.xml | 2 +-
validator/pom.xml | 2 +-
17 files changed, 116 insertions(+), 27 deletions(-)
diff --git a/README.md b/README.md
index ab4b9dc..c64380b 100644
--- a/README.md
+++ b/README.md
@@ -17,12 +17,12 @@ Eventually, validate the file downloaded from `mock collector` by using `SkyWalk
## Apache SkyWalking Mock Collector
-- requirement:
+### Requirement
1. JDK 1.8+
2. Maven
-- How to install
+### How to install
The `mock collector` is written by pure-`Java`. It compiles and packages through `Maven`.
@@ -34,13 +34,13 @@ cd ./mock-collector
bash ./bin/collector-startup.sh
```
-after above steps, we can check whether the `mock collector` is available through HTTP API. To visit `http://localhost:12800/status` and get the response with `success` in the body of content.
+after above steps, we can check whether the `mock collector` is available through HTTP API. To visit `http://localhost:12800/healthCheck` and get the response with `success` in the body of content.
Finally, To visit follow URL to download the data as `yaml` file, which can be used by `SkyWalking Validator Tool`.
http://localhost:12800/receiveData
-- How to config on agent
+### How to config on agent
We can modify the configurations of agent in `./config/agent.conf`, as follows
@@ -56,6 +56,10 @@ or specify the jvm arguments like:
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:19876
```
+### Data validation in Mock Collector
+
+Currently, we integration SkyWalking Validator Tool in Mock Collector. We can post the `expectedData.yaml` to `/dataValidate` after agent reported.
+
## Apache SkyWalking Validator Tool
`Validator Tool` is a data validating tool. It is responsible for validating the `expected data` with `actual data`.
diff --git a/mock-collector/pom.xml b/mock-collector/pom.xml
index 45a16d1..2c42fbe 100644
--- a/mock-collector/pom.xml
+++ b/mock-collector/pom.xml
@@ -45,6 +45,11 @@
<dependencies>
<dependency>
+ <groupId>org.apache.skywalking.plugin</groupId>
+ <artifactId>validator</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
<version>${protobuf-java-util.version}</version>
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/Main.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/Main.java
index a3ba674..0b9a5d1 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/Main.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/Main.java
@@ -25,17 +25,19 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
-import org.apache.skywalking.plugin.test.mockcollector.rest.service.MockInstanceRegisterServletHandler;
-import org.apache.skywalking.plugin.test.mockcollector.rest.service.MockServiceInstancePingServletHandler;
-import org.apache.skywalking.plugin.test.mockcollector.rest.service.MockServiceRegisterServletHandler;
-import org.apache.skywalking.plugin.test.mockcollector.rest.service.MockTraceSegmentCollectServletHandler;
+import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockInstanceRegisterServletHandler;
+import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockServiceInstancePingServletHandler;
+import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockServiceRegisterServletHandler;
+import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockTraceSegmentCollectServletHandler;
import org.apache.skywalking.plugin.test.mockcollector.service.ClearReceiveDataService;
+import org.apache.skywalking.plugin.test.mockcollector.service.DataValidateService;
import org.apache.skywalking.plugin.test.mockcollector.service.GrpcAddressHttpService;
-import org.apache.skywalking.plugin.test.mockcollector.service.MockInstancePingService;
-import org.apache.skywalking.plugin.test.mockcollector.service.MockJVMMetricReportService;
-import org.apache.skywalking.plugin.test.mockcollector.service.MockRegisterService;
-import org.apache.skywalking.plugin.test.mockcollector.service.MockTraceSegmentService;
+import org.apache.skywalking.plugin.test.mockcollector.mock.MockInstancePingService;
+import org.apache.skywalking.plugin.test.mockcollector.mock.MockJVMMetricReportService;
+import org.apache.skywalking.plugin.test.mockcollector.mock.MockRegisterService;
+import org.apache.skywalking.plugin.test.mockcollector.mock.MockTraceSegmentService;
import org.apache.skywalking.plugin.test.mockcollector.service.ReceiveDataService;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
@@ -62,6 +64,15 @@ public class Main {
@Override
protected void doGet(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
+ resp.setStatus(200);
+ resp.getWriter().write("Success");
+ resp.getWriter().flush();
+ }
+ }), "/healthCheck");
+ servletContextHandler.addServlet(new ServletHolder(new HttpServlet() {
+ @Override
+ protected void doGet(HttpServletRequest req,
+ HttpServletResponse resp) throws ServletException, IOException {
if (ValidateData.INSTANCE.getRegistryItem().getServices().isEmpty()) {
resp.setStatus(500);
return;
@@ -72,6 +83,7 @@ public class Main {
}
}), "/status");
servletContextHandler.addServlet(GrpcAddressHttpService.class, GrpcAddressHttpService.SERVLET_PATH);
+ servletContextHandler.addServlet(DataValidateService.class, DataValidateService.SERVLET_PATH);
servletContextHandler.addServlet(ReceiveDataService.class, ReceiveDataService.SERVLET_PATH);
servletContextHandler.addServlet(ClearReceiveDataService.class, ClearReceiveDataService.SERVLET_PATH);
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockCLRMetricReportService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockCLRMetricReportService.java
similarity index 95%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockCLRMetricReportService.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockCLRMetricReportService.java
index dc969b7..0a16d7f 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockCLRMetricReportService.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockCLRMetricReportService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.skywalking.plugin.test.mockcollector.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock;
import io.grpc.stub.StreamObserver;
import org.apache.skywalking.apm.network.common.Commands;
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockInstancePingService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockInstancePingService.java
similarity index 96%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockInstancePingService.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockInstancePingService.java
index a58a70a..82956c0 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockInstancePingService.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockInstancePingService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.skywalking.plugin.test.mockcollector.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock;
import io.grpc.stub.StreamObserver;
import org.apache.skywalking.apm.network.common.Commands;
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockJVMMetricReportService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockJVMMetricReportService.java
similarity index 95%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockJVMMetricReportService.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockJVMMetricReportService.java
index 1b5d119..c7c3b09 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockJVMMetricReportService.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockJVMMetricReportService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.skywalking.plugin.test.mockcollector.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock;
import io.grpc.stub.StreamObserver;
import org.apache.skywalking.apm.network.common.Commands;
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockRegisterService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockRegisterService.java
similarity index 98%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockRegisterService.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockRegisterService.java
index f1d8f91..58bfbde 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockRegisterService.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockRegisterService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.skywalking.plugin.test.mockcollector.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock;
import io.grpc.stub.StreamObserver;
import lombok.extern.slf4j.Slf4j;
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockTraceSegmentService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockTraceSegmentService.java
similarity index 98%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockTraceSegmentService.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockTraceSegmentService.java
index f1d6388..5ea663e 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/MockTraceSegmentService.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockTraceSegmentService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.skywalking.plugin.test.mockcollector.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock;
import com.google.protobuf.InvalidProtocolBufferException;
import io.grpc.stub.StreamObserver;
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/Sequences.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/Sequences.java
similarity index 94%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/Sequences.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/Sequences.java
index 415a52d..84859c0 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/Sequences.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/Sequences.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.skywalking.plugin.test.mockcollector.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/JettyJsonHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/JettyJsonHandler.java
similarity index 97%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/JettyJsonHandler.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/JettyJsonHandler.java
index ee8923f..5623a42 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/JettyJsonHandler.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/JettyJsonHandler.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.skywalking.plugin.test.mockcollector.rest.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock.rest;
import com.google.gson.JsonElement;
import java.io.BufferedReader;
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockInstanceRegisterServletHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockInstanceRegisterServletHandler.java
similarity index 94%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockInstanceRegisterServletHandler.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockInstanceRegisterServletHandler.java
index 52f0ec4..66eb822 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockInstanceRegisterServletHandler.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockInstanceRegisterServletHandler.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.skywalking.plugin.test.mockcollector.rest.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock.rest;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
@@ -27,7 +27,7 @@ import org.apache.skywalking.apm.network.register.v2.ServiceInstance;
import org.apache.skywalking.apm.network.register.v2.ServiceInstances;
import org.apache.skywalking.plugin.test.mockcollector.entity.RegistryItem;
import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
-import org.apache.skywalking.plugin.test.mockcollector.service.Sequences;
+import org.apache.skywalking.plugin.test.mockcollector.mock.Sequences;
import org.apache.skywalking.plugin.test.mockcollector.util.ProtoBufJsonUtils;
public class MockInstanceRegisterServletHandler extends JettyJsonHandler {
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockServiceInstancePingServletHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceInstancePingServletHandler.java
similarity index 96%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockServiceInstancePingServletHandler.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceInstancePingServletHandler.java
index 631e49b..be1f216 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockServiceInstancePingServletHandler.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceInstancePingServletHandler.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.skywalking.plugin.test.mockcollector.rest.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock.rest;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockServiceRegisterServletHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceRegisterServletHandler.java
similarity index 95%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockServiceRegisterServletHandler.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceRegisterServletHandler.java
index 70b9ba4..afd3020 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockServiceRegisterServletHandler.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceRegisterServletHandler.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.skywalking.plugin.test.mockcollector.rest.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock.rest;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
@@ -28,7 +28,7 @@ import org.apache.skywalking.apm.network.register.v2.Service;
import org.apache.skywalking.apm.network.register.v2.Services;
import org.apache.skywalking.plugin.test.mockcollector.entity.RegistryItem;
import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
-import org.apache.skywalking.plugin.test.mockcollector.service.Sequences;
+import org.apache.skywalking.plugin.test.mockcollector.mock.Sequences;
import org.apache.skywalking.plugin.test.mockcollector.util.ProtoBufJsonUtils;
public class MockServiceRegisterServletHandler extends JettyJsonHandler {
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockTraceSegmentCollectServletHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockTraceSegmentCollectServletHandler.java
similarity index 98%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockTraceSegmentCollectServletHandler.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockTraceSegmentCollectServletHandler.java
index 553aca8..2f8be4c 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/rest/service/MockTraceSegmentCollectServletHandler.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockTraceSegmentCollectServletHandler.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.skywalking.plugin.test.mockcollector.rest.service;
+package org.apache.skywalking.plugin.test.mockcollector.mock.rest;
import com.google.common.io.CharStreams;
import com.google.gson.JsonElement;
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/DataValidateService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/DataValidateService.java
new file mode 100644
index 0000000..7a1378e
--- /dev/null
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/DataValidateService.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.skywalking.plugin.test.mockcollector.service;
+
+import com.google.common.base.Strings;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.DataAssert;
+import org.apache.skywalking.plugin.test.agent.tool.validator.entity.Data;
+import org.apache.skywalking.plugin.test.agent.tool.validator.exception.AssertFailedException;
+import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
+import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateDataSerializer;
+import org.yaml.snakeyaml.Yaml;
+
+public class DataValidateService extends HttpServlet {
+ private static final Gson gson = new GsonBuilder().registerTypeAdapter(
+ ValidateData.class, new ValidateDataSerializer()
+ ).create();
+
+ public static final String SERVLET_PATH = "/dataValidate";
+
+ @Override
+ protected void doPost(final HttpServletRequest req,
+ final HttpServletResponse resp) throws ServletException, IOException {
+
+ final Yaml yaml = new Yaml();
+ final String dump = yaml.dump(yaml.load(gson.toJson(ValidateData.INSTANCE)));
+ ByteArrayInputStream actualData = new ByteArrayInputStream(dump.getBytes());
+
+ PrintWriter writer = resp.getWriter();
+ try {
+ DataAssert.assertEquals(
+ Data.Loader.loadData(req.getInputStream()),
+ Data.Loader.loadData(actualData));
+ writer.write("success");
+ resp.setStatus(200);
+ } catch (AssertFailedException exception) {
+ writer.write(Strings.nullToEmpty(exception.getMessage()));
+ writer.write("\n");
+ writer.write(dump);
+ resp.setStatus(500);
+ }
+ writer.flush();
+ }
+}
diff --git a/pom.xml b/pom.xml
index aebbcb7..295e8c3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,8 +31,8 @@
<packaging>pom</packaging>
<modules>
- <module>mock-collector</module>
<module>validator</module>
+ <module>mock-collector</module>
</modules>
<properties>
diff --git a/validator/pom.xml b/validator/pom.xml
index 26c4001..382b9e1 100644
--- a/validator/pom.xml
+++ b/validator/pom.xml
@@ -33,7 +33,7 @@
<url>http://maven.apache.org</url>
<build>
- <finalName>validator</finalName>
+ <finalName>skywalking-validator</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>