This is an automated email from the ASF dual-hosted git repository.

tyrantlucifer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new ace219f37 [HotFix][Core][API] Fix OptionValidation error code (#3439)
ace219f37 is described below

commit ace219f3766ce3dc34cf63eac4dc8b06e6b8621f
Author: TaoZex <[email protected]>
AuthorDate: Tue Nov 15 23:56:15 2022 +0800

    [HotFix][Core][API] Fix OptionValidation error code (#3439)
    
    * [BugFix][Api][Option] Fix OptionValidation error code
    
    * [BugFix][Api][Option] Update assert
    
    * [BugFix][Api][Option] Fix code
    
    * [BugFix][Api][Option] Fix code format
    
    * [BugFix][Api][Option] Fix code format
---
 .../util/OptionValidationException.java            |  2 +-
 .../configuration/util/ConfigValidatorTest.java    | 26 +++++++++++-----------
 .../source/config/MyHoursSourceParameter.java      |  3 ++-
 3 files changed, 16 insertions(+), 15 deletions(-)

diff --git 
a/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/OptionValidationException.java
 
b/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/OptionValidationException.java
index 306a208fe..cc2422e09 100644
--- 
a/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/OptionValidationException.java
+++ 
b/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/OptionValidationException.java
@@ -34,6 +34,6 @@ public class OptionValidationException extends 
SeaTunnelRuntimeException {
     }
 
     public OptionValidationException(String formatMessage, Object... args) {
-        super(String.format(formatMessage, args));
+        super(SeaTunnelAPIErrorCode.OPTION_VALIDATION_FAILED, 
String.format(formatMessage, args));
     }
 }
diff --git 
a/seatunnel-api/src/test/java/org/apache/seatunnel/api/configuration/util/ConfigValidatorTest.java
 
b/seatunnel-api/src/test/java/org/apache/seatunnel/api/configuration/util/ConfigValidatorTest.java
index 54ba7df79..1242b8b2e 100644
--- 
a/seatunnel-api/src/test/java/org/apache/seatunnel/api/configuration/util/ConfigValidatorTest.java
+++ 
b/seatunnel-api/src/test/java/org/apache/seatunnel/api/configuration/util/ConfigValidatorTest.java
@@ -78,11 +78,11 @@ public class ConfigValidatorTest {
 
         // absent
         config.put(TEST_PORTS.key(), "[9090]");
-        assertEquals("There are unconfigured options, the options('password', 
'username') are required.",
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - There are unconfigured options, the options('password', 
'username') are required.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
 
         config.put(KEY_USERNAME.key(), "asuka");
-        assertEquals("There are unconfigured options, the options('password') 
are required.",
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - There are unconfigured options, the options('password') are 
required.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
 
         // all present
@@ -102,7 +102,7 @@ public class ConfigValidatorTest {
 
         // case2: some present
         config.put(KEY_USERNAME.key(), "asuka");
-        assertEquals("These options('password', 'username') are bundled, must 
be present or absent together." +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - These options('password', 'username') are bundled, must be 
present or absent together." +
                 " The options present are: 'username'. The options absent are 
'password'.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
 
@@ -120,7 +120,7 @@ public class ConfigValidatorTest {
         Executable executable = () -> validate(config, rule);
 
         // all absent
-        assertEquals("There are unconfigured options, these 
options(['option.topic-pattern'], ['option.topic']) are mutually exclusive," +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - There are unconfigured options, these 
options(['option.topic-pattern'], ['option.topic']) are mutually exclusive," +
                 " allowing only one set(\"[] for a set\") of options to be 
configured.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
 
@@ -130,7 +130,7 @@ public class ConfigValidatorTest {
 
         // present > 1
         config.put(TEST_TOPIC.key(), "[\"saitou\"]");
-        assertEquals("These options(['option.topic-pattern'], 
['option.topic']) are mutually exclusive, " +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - These options(['option.topic-pattern'], ['option.topic']) 
are mutually exclusive, " +
                 "allowing only one set(\"[] for a set\") of options to be 
configured.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
     }
@@ -147,13 +147,13 @@ public class ConfigValidatorTest {
         Executable executable = () -> validate(config, rule);
 
         // all absent
-        assertEquals("There are unconfigured options, these 
options(['kerberos-ticket'], ['password', 'username'], ['bearer-token']) are 
mutually exclusive," +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - There are unconfigured options, these 
options(['kerberos-ticket'], ['password', 'username'], ['bearer-token']) are 
mutually exclusive," +
                 " allowing only one set(\"[] for a set\") of options to be 
configured.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
 
         // bundled option some present
         config.put(KEY_USERNAME.key(), "asuka");
-        assertEquals("These options('password', 'username') are bundled, must 
be present or absent together." +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - These options('password', 'username') are bundled, must be 
present or absent together." +
                 " The options present are: 'username'. The options absent are 
'password'.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
 
@@ -163,13 +163,13 @@ public class ConfigValidatorTest {
 
         // tow set options present
         config.put(KEY_BEARER_TOKEN.key(), "ashulin");
-        assertEquals("These options(['password', 'username'], 
['bearer-token']) are mutually exclusive," +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - These options(['password', 'username'], ['bearer-token']) 
are mutually exclusive," +
                 " allowing only one set(\"[] for a set\") of options to be 
configured.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
 
         // three set options present
         config.put(KEY_KERBEROS_TICKET.key(), "zongwen");
-        assertEquals("These options(['kerberos-ticket'], ['password', 
'username'], ['bearer-token']) are mutually exclusive," +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - These options(['kerberos-ticket'], ['password', 'username'], 
['bearer-token']) are mutually exclusive," +
                 " allowing only one set(\"[] for a set\") of options to be 
configured.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
     }
@@ -187,7 +187,7 @@ public class ConfigValidatorTest {
 
         // Expression match, and required options absent
         config.put(TEST_MODE.key(), "timestamp");
-        assertEquals("There are unconfigured options, the 
options('option.timestamp') are required" +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - There are unconfigured options, the 
options('option.timestamp') are required" +
                 " because ['option.mode' == TIMESTAMP] is true.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
 
@@ -213,7 +213,7 @@ public class ConfigValidatorTest {
 
         // Expression match, and required options absent
         config.put(KEY_USERNAME.key(), "ashulin");
-        assertEquals("There are unconfigured options, the 
options('option.timestamp') are required" +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - There are unconfigured options, the 
options('option.timestamp') are required" +
                 " because ['username' == ashulin] is true.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
 
@@ -242,7 +242,7 @@ public class ConfigValidatorTest {
 
         // 'username' == ashulin, and required options absent
         config.put(KEY_USERNAME.key(), "ashulin");
-        assertEquals("There are unconfigured options, the 
options('option.timestamp') are required" +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - There are unconfigured options, the 
options('option.timestamp') are required" +
                 " because ['username' == ashulin || ('username' == asuka && 
'password' == saito)] is true.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
 
@@ -260,7 +260,7 @@ public class ConfigValidatorTest {
 
         // 'username' == asuka && 'password' == saito, and required options 
absent
         config.remove(TEST_TIMESTAMP.key());
-        assertEquals("There are unconfigured options, the 
options('option.timestamp') are required" +
+        assertEquals("ErrorCode:[API-02], ErrorDescription:[Option item 
validate failed] - There are unconfigured options, the 
options('option.timestamp') are required" +
                 " because ['username' == ashulin || ('username' == asuka && 
'password' == saito)] is true.",
             assertThrows(OptionValidationException.class, 
executable).getMessage());
     }
diff --git 
a/seatunnel-connectors-v2/connector-http/connector-http-myhours/src/main/java/org/apache/seatunnel/connectors/seatunnel/myhours/source/config/MyHoursSourceParameter.java
 
b/seatunnel-connectors-v2/connector-http/connector-http-myhours/src/main/java/org/apache/seatunnel/connectors/seatunnel/myhours/source/config/MyHoursSourceParameter.java
index 5bd11d2d1..6627e31c4 100644
--- 
a/seatunnel-connectors-v2/connector-http/connector-http-myhours/src/main/java/org/apache/seatunnel/connectors/seatunnel/myhours/source/config/MyHoursSourceParameter.java
+++ 
b/seatunnel-connectors-v2/connector-http/connector-http-myhours/src/main/java/org/apache/seatunnel/connectors/seatunnel/myhours/source/config/MyHoursSourceParameter.java
@@ -19,6 +19,7 @@ package 
org.apache.seatunnel.connectors.seatunnel.myhours.source.config;
 
 import org.apache.seatunnel.common.utils.JsonUtils;
 import org.apache.seatunnel.connectors.seatunnel.http.config.HttpParameter;
+import org.apache.seatunnel.connectors.seatunnel.http.config.HttpRequestMethod;
 
 import org.apache.seatunnel.shade.com.typesafe.config.Config;
 
@@ -38,7 +39,7 @@ public class MyHoursSourceParameter extends HttpParameter {
         // set url
         this.setUrl(MyHoursSourceConfig.AUTHORIZATION_URL);
         // set method
-        this.setMethod(MyHoursSourceConfig.POST);
+        this.setMethod(HttpRequestMethod.valueOf(MyHoursSourceConfig.POST));
         // set body
         Map<String, String> bodyParams = new HashMap<>();
         String email = pluginConfig.getString(MyHoursSourceConfig.EMAIL.key());

Reply via email to