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: ''