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 2022/11/18 01:23:06 UTC
[skywalking-agent-test-tool] 01/01: Revert "Support `start with` and `end with` (#47)"
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch revert-47-support-start-end
in repository https://gitbox.apache.org/repos/asf/skywalking-agent-test-tool.git
commit 62032795186eca366e7a18f493f61eb44dcfb9f5
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Fri Nov 18 09:23:01 2022 +0800
Revert "Support `start with` and `end with` (#47)"
This reverts commit 2900625c6af6379fa16543e42478974de608f662.
---
.../tool/validator/assertor/ExpressOperator.java | 61 ----------------------
.../tool/validator/assertor/ExpressParser.java | 56 ++++++++++----------
.../assertor/element/EndWithAssertor.java | 34 ------------
...tEqualAssertor.java => GreetEqualAssertor.java} | 4 +-
.../assertor/element/StartWithAssertor.java | 34 ------------
validator/src/test/resources/expectedData.yaml | 4 +-
6 files changed, 32 insertions(+), 161 deletions(-)
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/ExpressOperator.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/ExpressOperator.java
deleted file mode 100644
index 258d0e3..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/ExpressOperator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.agent.tool.validator.assertor;
-
-import lombok.AccessLevel;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-@Getter
-@AllArgsConstructor(access = AccessLevel.PRIVATE)
-public enum ExpressOperator {
- NULL("null", false),
- NOT_NULL("not null", false),
- NOT_BLANK("not blank", false),
- NOT_EQUALS("nq",true),
- EQUALS("eq",true),
- GREAT_THAN("gt",true),
- GREAT_EQUAL("ge",true),
- START_WITH("start with",true),
- END_WITH("end with",true),
- ;
- private final String prefix;
- private final boolean hasValue;
-
- public static ExpressOperator parse(String express) {
- if (express == null) {
- return null;
- }
-
- String expressTrim = express.trim();
- for (ExpressOperator operator : ExpressOperator.values()) {
- if (expressTrim.startsWith(operator.getPrefix())) {
- return operator;
- }
- }
-
- return null;
- }
-
- public static String getExpectedValue(ExpressOperator operator, String express) {
- if (operator.hasValue) {
- return express.substring(operator.prefix.length()).trim();
- }
- return null;
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/ExpressParser.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/ExpressParser.java
index b22d002..40c105d 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/ExpressParser.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/ExpressParser.java
@@ -19,15 +19,13 @@ package org.apache.skywalking.plugin.test.agent.tool.validator.assertor;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.ElementAssertor;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.EqualsAssertor;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.EndWithAssertor;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.GreatThanAssertor;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.GreatEqualAssertor;
+import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.GreetEqualAssertor;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.NoopAssertor;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.NotBlankAssertor;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.NotEqualsAssertor;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.NotNullAssertor;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.NullAssertor;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element.StartWithAssertor;
public class ExpressParser {
public static ElementAssertor parse(String express) {
@@ -35,34 +33,36 @@ public class ExpressParser {
return new NoopAssertor();
}
- ExpressOperator expressOperator = ExpressOperator.parse(express);
- if (expressOperator == null) {
- return new EqualsAssertor(express);
+ String expressTrim = express.trim();
+ if (expressTrim.equals("not null")) {
+ return new NotNullAssertor();
}
- String expectedValue = ExpressOperator.getExpectedValue(expressOperator, express);
+ if (expressTrim.equals("not blank")) {
+ return new NotBlankAssertor();
+ }
+
+ if (expressTrim.equals("null")) {
+ return new NullAssertor();
+ }
- switch (expressOperator) {
- case NULL:
- return new NullAssertor();
- case NOT_NULL:
- return new NotNullAssertor();
- case NOT_BLANK:
- return new NotBlankAssertor();
- case EQUALS:
- return new EqualsAssertor(expectedValue);
- case NOT_EQUALS:
- return new NotEqualsAssertor(expectedValue);
- case GREAT_THAN:
- return new GreatThanAssertor(expectedValue);
- case GREAT_EQUAL:
- return new GreatEqualAssertor(expectedValue);
- case START_WITH:
- return new StartWithAssertor(expectedValue);
- case END_WITH:
- return new EndWithAssertor(expectedValue);
- default:
- return new EqualsAssertor(express);
+ String[] expressSegment = expressTrim.split(" ");
+ if (expressSegment.length == 1) {
+ return new EqualsAssertor(expressSegment[0]);
+ } else if (expressSegment.length == 2) {
+ String exceptedValue = expressSegment[1];
+ switch (expressSegment[0].trim()) {
+ case "nq":
+ return new NotEqualsAssertor(exceptedValue);
+ case "eq":
+ return new EqualsAssertor(exceptedValue);
+ case "gt":
+ return new GreatThanAssertor(exceptedValue);
+ case "ge":
+ return new GreetEqualAssertor(exceptedValue);
+ }
}
+
+ return new EqualsAssertor(express);
}
}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/EndWithAssertor.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/EndWithAssertor.java
deleted file mode 100644
index 03b4934..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/EndWithAssertor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.agent.tool.validator.assertor.element;
-
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.ValueAssertFailedException;
-
-public class EndWithAssertor extends ElementAssertor {
- public EndWithAssertor(String exceptedValue) {
- super(exceptedValue);
- }
-
- @Override
- public void assertValue(String desc, String actualValue) {
- if (actualValue == null || !actualValue.endsWith(exceptedValue)) {
- throw new ValueAssertFailedException(desc, " end with " + exceptedValue, actualValue);
- }
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/GreatEqualAssertor.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/GreetEqualAssertor.java
similarity index 92%
rename from validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/GreatEqualAssertor.java
rename to validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/GreetEqualAssertor.java
index 655fa06..0aae8c6 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/GreatEqualAssertor.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/GreetEqualAssertor.java
@@ -20,8 +20,8 @@ package org.apache.skywalking.plugin.test.agent.tool.validator.assertor.element;
import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.ValueAssertFailedException;
-public class GreatEqualAssertor extends ElementAssertor {
- public GreatEqualAssertor(String exceptedValue) {
+public class GreetEqualAssertor extends ElementAssertor {
+ public GreetEqualAssertor(String exceptedValue) {
super(exceptedValue);
}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/StartWithAssertor.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/StartWithAssertor.java
deleted file mode 100644
index d14fd1e..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/element/StartWithAssertor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.agent.tool.validator.assertor.element;
-
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.ValueAssertFailedException;
-
-public class StartWithAssertor extends ElementAssertor {
- public StartWithAssertor(String exceptedValue) {
- super(exceptedValue);
- }
-
- @Override
- public void assertValue(String desc, String actualValue) {
- if (actualValue == null || !actualValue.startsWith(exceptedValue)) {
- throw new ValueAssertFailedException(desc, " start with " + exceptedValue, actualValue);
- }
- }
-}
diff --git a/validator/src/test/resources/expectedData.yaml b/validator/src/test/resources/expectedData.yaml
index 9b08843..e3a4d69 100644
--- a/validator/src/test/resources/expectedData.yaml
+++ b/validator/src/test/resources/expectedData.yaml
@@ -100,7 +100,7 @@ logItems:
body:
type: ''
content:
- text: "start with something text"
+ text: "something text to log"
tags:
data:
- key: foo
@@ -128,7 +128,7 @@ logItems:
body:
type: ''
content:
- yaml: "end with to log"
+ yaml: "something yaml to log"
traceContext: {}
tags: {}
layer: ''