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());