This is an automated email from the ASF dual-hosted git repository.
chufenggao pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 05099bd8f7 [Improvement-12296][Test] Close static mock (#12300)
05099bd8f7 is described below
commit 05099bd8f7ab2b247f885e05d473e26929abff4d
Author: rickchengx <[email protected]>
AuthorDate: Tue Oct 11 16:13:05 2022 +0800
[Improvement-12296][Test] Close static mock (#12300)
---
.../api/service/DataSourceServiceTest.java | 69 +++++++++++-----------
.../datasource/api/utils/CommonUtilsTest.java | 35 ++++++-----
.../param/AthenaDataSourceProcessorTest.java | 14 +++--
.../db2/param/Db2DataSourceProcessorTest.java | 16 ++---
.../hive/param/HiveDataSourceProcessorTest.java | 20 ++++---
.../mysql/provider/JDBCDataSourceProviderTest.java | 6 +-
.../mysql/utils/DataSourceUtilsTest.java | 51 +++++++++-------
.../param/OracleDataSourceProcessorTest.java | 17 +++---
.../param/PostgreSQLDataSourceProcessorTest.java | 16 ++---
.../param/PrestoDataSourceProcessorTest.java | 14 +++--
.../param/RedshiftDataSourceProcessorTest.java | 15 +++--
.../spark/param/SparkDataSourceProcessorTest.java | 20 ++++---
.../param/SQLServerDataSourceProcessorTest.java | 17 +++---
.../master/processor/TaskAckProcessorTest.java | 19 ++++--
.../service/utils/ProcessUtilsTest.java | 58 ++++++++++--------
.../plugin/task/jupyter/JupyterTaskTest.java | 11 ++--
.../plugin/task/zeppelin/ZeppelinTaskTest.java | 40 +++++++------
17 files changed, 252 insertions(+), 186 deletions(-)
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
index 691fe12ac2..41e378e671 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
@@ -28,6 +28,7 @@ import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.AuthorizationType;
import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
+import org.apache.dolphinscheduler.common.utils.PropertyUtils;
import org.apache.dolphinscheduler.dao.entity.DataSource;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.DataSourceMapper;
@@ -42,7 +43,6 @@ import
org.apache.dolphinscheduler.plugin.datasource.postgresql.param.PostgreSQL
import org.apache.dolphinscheduler.spi.datasource.ConnectionParam;
import org.apache.dolphinscheduler.spi.enums.DbConnectType;
import org.apache.dolphinscheduler.spi.enums.DbType;
-import org.apache.dolphinscheduler.common.utils.PropertyUtils;
import org.apache.commons.collections.CollectionUtils;
@@ -390,27 +390,27 @@ public class DataSourceServiceTest {
+
"\"driverClassName\":\"oracle.jdbc.OracleDriver\",\"validationQuery\":\"select
1 from dual\",\"connectType\":\"ORACLE_SERVICE_NAME\"}";
Assert.assertEquals(expected, JSONUtils.toJsonString(connectionParam));
- Mockito.mockStatic(CommonUtils.class);
- Mockito.when(CommonUtils.getKerberosStartupState()).thenReturn(true);
- HiveDataSourceParamDTO hiveDataSourceParamDTO = new
HiveDataSourceParamDTO();
- hiveDataSourceParamDTO.setHost("192.168.9.1");
- hiveDataSourceParamDTO.setPort(10000);
- hiveDataSourceParamDTO.setDatabase("im");
- hiveDataSourceParamDTO.setPrincipal("hive/[email protected]");
- hiveDataSourceParamDTO.setUserName("test");
- hiveDataSourceParamDTO.setPassword("test");
- hiveDataSourceParamDTO.setJavaSecurityKrb5Conf("/opt/krb5.conf");
-
hiveDataSourceParamDTO.setLoginUserKeytabPath("/opt/hdfs.headless.keytab");
-
hiveDataSourceParamDTO.setLoginUserKeytabUsername("test2/[email protected]");
- connectionParam =
DataSourceUtils.buildConnectionParams(hiveDataSourceParamDTO);
-
- expected =
-
"{\"user\":\"test\",\"password\":\"test\",\"address\":\"jdbc:hive2://192.168.9.1:10000\",\"database\":\"im\","
- +
"\"jdbcUrl\":\"jdbc:hive2://192.168.9.1:10000/im\",\"driverClassName\":\"org.apache.hive.jdbc.HiveDriver\",\"validationQuery\":\"select
1\","
- +
"\"principal\":\"hive/[email protected]\",\"javaSecurityKrb5Conf\":\"/opt/krb5.conf\",\"loginUserKeytabUsername\":\"test2/[email protected]\","
- +
"\"loginUserKeytabPath\":\"/opt/hdfs.headless.keytab\"}";
- Assert.assertEquals(expected, JSONUtils.toJsonString(connectionParam));
-
+ try (MockedStatic<CommonUtils> mockedStaticCommonUtils =
Mockito.mockStatic(CommonUtils.class)) {
+
mockedStaticCommonUtils.when(CommonUtils::getKerberosStartupState).thenReturn(true);
+ HiveDataSourceParamDTO hiveDataSourceParamDTO = new
HiveDataSourceParamDTO();
+ hiveDataSourceParamDTO.setHost("192.168.9.1");
+ hiveDataSourceParamDTO.setPort(10000);
+ hiveDataSourceParamDTO.setDatabase("im");
+ hiveDataSourceParamDTO.setPrincipal("hive/[email protected]");
+ hiveDataSourceParamDTO.setUserName("test");
+ hiveDataSourceParamDTO.setPassword("test");
+ hiveDataSourceParamDTO.setJavaSecurityKrb5Conf("/opt/krb5.conf");
+
hiveDataSourceParamDTO.setLoginUserKeytabPath("/opt/hdfs.headless.keytab");
+
hiveDataSourceParamDTO.setLoginUserKeytabUsername("test2/[email protected]");
+ connectionParam =
DataSourceUtils.buildConnectionParams(hiveDataSourceParamDTO);
+
+ expected =
+
"{\"user\":\"test\",\"password\":\"test\",\"address\":\"jdbc:hive2://192.168.9.1:10000\",\"database\":\"im\","
+ +
"\"jdbcUrl\":\"jdbc:hive2://192.168.9.1:10000/im\",\"driverClassName\":\"org.apache.hive.jdbc.HiveDriver\",\"validationQuery\":\"select
1\","
+ +
"\"principal\":\"hive/[email protected]\",\"javaSecurityKrb5Conf\":\"/opt/krb5.conf\",\"loginUserKeytabUsername\":\"test2/[email protected]\","
+ +
"\"loginUserKeytabPath\":\"/opt/hdfs.headless.keytab\"}";
+ Assert.assertEquals(expected,
JSONUtils.toJsonString(connectionParam));
+ }
}
@Test
@@ -481,18 +481,21 @@ public class DataSourceServiceTest {
postgreSqlDatasourceParam.setPassword("");
ConnectionParam connectionParam =
DataSourceUtils.buildConnectionParams(postgreSqlDatasourceParam);
- Mockito.mockStatic(DataSourceClientProvider.class);
- DataSourceClientProvider clientProvider =
Mockito.mock(DataSourceClientProvider.class);
-
Mockito.when(DataSourceClientProvider.getInstance()).thenReturn(clientProvider);
+ try (
+ MockedStatic<DataSourceClientProvider>
mockedStaticDataSourceClientProvider =
+ Mockito.mockStatic(DataSourceClientProvider.class)) {
+ DataSourceClientProvider clientProvider =
Mockito.mock(DataSourceClientProvider.class);
+
Mockito.when(DataSourceClientProvider.getInstance()).thenReturn(clientProvider);
+
mockedStaticDataSourceClientProvider.when(DataSourceClientProvider::getInstance).thenReturn(clientProvider);
- Result result = dataSourceService.checkConnection(dataSourceType,
connectionParam);
- Assert.assertEquals(Status.CONNECTION_TEST_FAILURE.getCode(),
result.getCode().intValue());
-
- Connection connection = Mockito.mock(Connection.class);
- Mockito.when(clientProvider.getConnection(Mockito.any(),
Mockito.any())).thenReturn(connection);
- result = dataSourceService.checkConnection(dataSourceType,
connectionParam);
- Assert.assertEquals(Status.SUCCESS.getCode(),
result.getCode().intValue());
+ Result result = dataSourceService.checkConnection(dataSourceType,
connectionParam);
+ Assert.assertEquals(Status.CONNECTION_TEST_FAILURE.getCode(),
result.getCode().intValue());
+ Connection connection = Mockito.mock(Connection.class);
+ Mockito.when(clientProvider.getConnection(Mockito.any(),
Mockito.any())).thenReturn(connection);
+ result = dataSourceService.checkConnection(dataSourceType,
connectionParam);
+ Assert.assertEquals(Status.SUCCESS.getCode(),
result.getCode().intValue());
+ }
}
-}
\ No newline at end of file
+}
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/test/java/org/apache/dolphinscheduler/plugin/datasource/api/utils/CommonUtilsTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/test/java/org/apache/dolphinscheduler/plugin/datasource/api/utils/CommonUtilsTest.java
index 20cf2d2c58..c12fd24139 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/test/java/org/apache/dolphinscheduler/plugin/datasource/api/utils/CommonUtilsTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/test/java/org/apache/dolphinscheduler/plugin/datasource/api/utils/CommonUtilsTest.java
@@ -41,13 +41,15 @@ public class CommonUtilsTest {
try (
MockedStatic<CommonUtils> mockedCommonUtils =
Mockito.mockStatic(CommonUtils.class);
MockedStatic<PropertyUtils> mockedPropertyUtils =
Mockito.mockStatic(PropertyUtils.class)) {
-
Mockito.when(CommonUtils.getKerberosStartupState()).thenAnswer((Answer<Boolean>)
invocation -> false);
+ mockedCommonUtils.when(CommonUtils::getKerberosStartupState)
+ .thenAnswer((Answer<Boolean>) invocation -> false);
boolean kerberosStartupState =
CommonUtils.getKerberosStartupState();
Assert.assertFalse(kerberosStartupState);
-
Mockito.when(PropertyUtils.getUpperCaseString(Constants.RESOURCE_STORAGE_TYPE))
+ mockedPropertyUtils.when(() ->
PropertyUtils.getUpperCaseString(Constants.RESOURCE_STORAGE_TYPE))
.thenAnswer((Answer<String>) invocation -> "HDFS");
-
Mockito.when(PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE,
true))
+ mockedPropertyUtils
+ .when(() ->
PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE,
true))
.thenAnswer((Answer<Boolean>) invocation -> Boolean.TRUE);
kerberosStartupState = CommonUtils.getKerberosStartupState();
Assert.assertFalse(kerberosStartupState);
@@ -61,15 +63,16 @@ public class CommonUtilsTest {
MockedStatic<UserGroupInformation> mockedUserGroupInformation =
Mockito.mockStatic(UserGroupInformation.class)) {
try {
-
Mockito.when(PropertyUtils.getUpperCaseString(Constants.RESOURCE_STORAGE_TYPE))
+ mockedPropertyUtils.when(() ->
PropertyUtils.getUpperCaseString(Constants.RESOURCE_STORAGE_TYPE))
.thenAnswer((Answer<String>) invocation -> "HDFS");
-
Mockito.when(PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE,
false))
+ mockedPropertyUtils.when(
+ () ->
PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE,
false))
.thenAnswer((Answer<Boolean>) invocation ->
Boolean.TRUE);
-
Mockito.when(PropertyUtils.getString(Constants.JAVA_SECURITY_KRB5_CONF_PATH))
+ mockedPropertyUtils.when(() ->
PropertyUtils.getString(Constants.JAVA_SECURITY_KRB5_CONF_PATH))
.thenAnswer((Answer<String>) invocation ->
"/opt/krb5.conf");
-
Mockito.when(PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_USERNAME))
+ mockedPropertyUtils.when(() ->
PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_USERNAME))
.thenAnswer((Answer<String>) invocation ->
"[email protected]");
-
Mockito.when(PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_PATH))
+ mockedPropertyUtils.when(() ->
PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_PATH))
.thenAnswer((Answer<String>) invocation ->
"/opt/hdfs.headless.keytab");
Configuration configuration =
Mockito.mock(Configuration.class);
boolean result = CommonUtils.loadKerberosConf(configuration);
@@ -94,7 +97,7 @@ public class CommonUtilsTest {
Assert.assertEquals("bnVsbElWRkJXbGhUVjBBPQ==",
PasswordUtils.encodePassword("!QAZXSW@"));
Assert.assertEquals("bnVsbE5XUm1aMlZ5S0VBPQ==",
PasswordUtils.encodePassword("5dfger(@"));
-
Mockito.when(PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false))
+ mockedPropertyUtils.when(() ->
PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false))
.thenReturn(Boolean.FALSE);
Assert.assertEquals("", PasswordUtils.encodePassword(""));
@@ -114,9 +117,11 @@ public class CommonUtilsTest {
PropertyUtils.setValue(DATASOURCE_ENCRYPTION_ENABLE, "true");
-
Mockito.when(PasswordUtils.decodePassword("bnVsbE1USXpORFUy")).thenReturn("123456");
-
Mockito.when(PasswordUtils.decodePassword("bnVsbElWRkJXbGhUVjBBPQ==")).thenReturn("!QAZXSW@");
-
Mockito.when(PasswordUtils.decodePassword("bnVsbE5XUm1aMlZ5S0VBPQ==")).thenReturn("5dfger(@");
+ mockedPasswordUtils.when(() ->
PasswordUtils.decodePassword("bnVsbE1USXpORFUy")).thenReturn("123456");
+ mockedPasswordUtils.when(() ->
PasswordUtils.decodePassword("bnVsbElWRkJXbGhUVjBBPQ=="))
+ .thenReturn("!QAZXSW@");
+ mockedPasswordUtils.when(() ->
PasswordUtils.decodePassword("bnVsbE5XUm1aMlZ5S0VBPQ=="))
+ .thenReturn("5dfger(@");
Assert.assertEquals(null, PasswordUtils.decodePassword(""));
Assert.assertEquals("123456",
PasswordUtils.decodePassword("bnVsbE1USXpORFUy"));
@@ -126,9 +131,9 @@ public class CommonUtilsTest {
Mockito.when(PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false))
.thenAnswer((Answer<Boolean>) invocation -> Boolean.FALSE);
-
Mockito.when(PasswordUtils.decodePassword("123456")).thenReturn("123456");
-
Mockito.when(PasswordUtils.decodePassword("!QAZXSW@")).thenReturn("!QAZXSW@");
-
Mockito.when(PasswordUtils.decodePassword("5dfger(@")).thenReturn("5dfger(@");
+ mockedPasswordUtils.when(() ->
PasswordUtils.decodePassword("123456")).thenReturn("123456");
+ mockedPasswordUtils.when(() ->
PasswordUtils.decodePassword("!QAZXSW@")).thenReturn("!QAZXSW@");
+ mockedPasswordUtils.when(() ->
PasswordUtils.decodePassword("5dfger(@")).thenReturn("5dfger(@");
Assert.assertEquals(null, PasswordUtils.decodePassword(""));
Assert.assertEquals("123456",
PasswordUtils.decodePassword("123456"));
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-athena/src/test/java/org/apache/dolphinscheduler/plugin/datasource/athena/param/AthenaDataSourceProcessorTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-athena/src/test/java/org/apache/dolphinscheduler/plugin/datasource/athena/param/AthenaDataSourceProcessorTest.java
index 41aeab061f..21033ef659 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-athena/src/test/java/org/apache/dolphinscheduler/plugin/datasource/athena/param/AthenaDataSourceProcessorTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-athena/src/test/java/org/apache/dolphinscheduler/plugin/datasource/athena/param/AthenaDataSourceProcessorTest.java
@@ -27,6 +27,7 @@ import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -45,12 +46,13 @@ public class AthenaDataSourceProcessorTest {
athenaDataSourceParamDTO.setPassword("123456");
athenaDataSourceParamDTO.setAwsRegion("cn-north-1");
athenaDataSourceParamDTO.setOther(props);
- Mockito.mockStatic(PasswordUtils.class);
-
Mockito.when(PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
- AthenaConnectionParam connectionParams = (AthenaConnectionParam)
this.athenaDataSourceProcessor
- .createConnectionParams(athenaDataSourceParamDTO);
- Assert.assertEquals("jdbc:awsathena://AwsRegion=cn-north-1;",
connectionParams.getAddress());
- Assert.assertEquals("jdbc:awsathena://AwsRegion=cn-north-1;",
connectionParams.getJdbcUrl());
+ try (MockedStatic<PasswordUtils> mockedStaticPasswordUtils =
Mockito.mockStatic(PasswordUtils.class)) {
+ mockedStaticPasswordUtils.when(() ->
PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
+ AthenaConnectionParam connectionParams = (AthenaConnectionParam)
this.athenaDataSourceProcessor
+ .createConnectionParams(athenaDataSourceParamDTO);
+ Assert.assertEquals("jdbc:awsathena://AwsRegion=cn-north-1;",
connectionParams.getAddress());
+ Assert.assertEquals("jdbc:awsathena://AwsRegion=cn-north-1;",
connectionParams.getJdbcUrl());
+ }
}
@Test
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-db2/src/test/java/org/apache/dolphinscheduler/plugin/datasource/db2/param/Db2DataSourceProcessorTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-db2/src/test/java/org/apache/dolphinscheduler/plugin/datasource/db2/param/Db2DataSourceProcessorTest.java
index 071534c8c1..628a1236fb 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-db2/src/test/java/org/apache/dolphinscheduler/plugin/datasource/db2/param/Db2DataSourceProcessorTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-db2/src/test/java/org/apache/dolphinscheduler/plugin/datasource/db2/param/Db2DataSourceProcessorTest.java
@@ -27,6 +27,7 @@ import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -46,14 +47,15 @@ public class Db2DataSourceProcessorTest {
db2DatasourceParamDTO.setPort(5142);
db2DatasourceParamDTO.setDatabase("default");
db2DatasourceParamDTO.setOther(props);
- Mockito.mockStatic(PasswordUtils.class);
-
Mockito.when(PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
+ try (MockedStatic<PasswordUtils> mockedStaticPasswordUtils =
Mockito.mockStatic(PasswordUtils.class)) {
+ mockedStaticPasswordUtils.when(() ->
PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
- Db2ConnectionParam connectionParams = (Db2ConnectionParam)
db2DatasourceProcessor
- .createConnectionParams(db2DatasourceParamDTO);
- Assert.assertNotNull(connectionParams);
- Assert.assertEquals("jdbc:db2://localhost:5142",
connectionParams.getAddress());
- Assert.assertEquals("jdbc:db2://localhost:5142/default",
connectionParams.getJdbcUrl());
+ Db2ConnectionParam connectionParams = (Db2ConnectionParam)
db2DatasourceProcessor
+ .createConnectionParams(db2DatasourceParamDTO);
+ Assert.assertNotNull(connectionParams);
+ Assert.assertEquals("jdbc:db2://localhost:5142",
connectionParams.getAddress());
+ Assert.assertEquals("jdbc:db2://localhost:5142/default",
connectionParams.getJdbcUrl());
+ }
}
@Test
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/test/java/org/apache/dolphinscheduler/plugin/datasource/hive/param/HiveDataSourceProcessorTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/test/java/org/apache/dolphinscheduler/plugin/datasource/hive/param/HiveDataSourceProcessorTest.java
index 453da8e096..7aede4a94c 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/test/java/org/apache/dolphinscheduler/plugin/datasource/hive/param/HiveDataSourceProcessorTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/test/java/org/apache/dolphinscheduler/plugin/datasource/hive/param/HiveDataSourceProcessorTest.java
@@ -28,6 +28,7 @@ import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -46,14 +47,17 @@ public class HiveDataSourceProcessorTest {
hiveDataSourceParamDTO.setUserName("default");
hiveDataSourceParamDTO.setDatabase("default");
hiveDataSourceParamDTO.setOther(props);
- Mockito.mockStatic(PasswordUtils.class);
-
Mockito.when(PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
- Mockito.mockStatic(CommonUtils.class);
- Mockito.when(CommonUtils.getKerberosStartupState()).thenReturn(false);
- HiveConnectionParam connectionParams = (HiveConnectionParam)
hiveDatasourceProcessor
- .createConnectionParams(hiveDataSourceParamDTO);
- Assert.assertNotNull(connectionParams);
- Assert.assertEquals("jdbc:hive2://localhost1:5142,localhost2:5142",
connectionParams.getAddress());
+
+ try (
+ MockedStatic<PasswordUtils> mockedStaticPasswordUtils =
Mockito.mockStatic(PasswordUtils.class);
+ MockedStatic<CommonUtils> mockedStaticCommonUtils =
Mockito.mockStatic(CommonUtils.class)) {
+ mockedStaticPasswordUtils.when(() ->
PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
+
mockedStaticCommonUtils.when(CommonUtils::getKerberosStartupState).thenReturn(false);
+ HiveConnectionParam connectionParams = (HiveConnectionParam)
hiveDatasourceProcessor
+ .createConnectionParams(hiveDataSourceParamDTO);
+ Assert.assertNotNull(connectionParams);
+
Assert.assertEquals("jdbc:hive2://localhost1:5142,localhost2:5142",
connectionParams.getAddress());
+ }
}
@Test
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-mysql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/mysql/provider/JDBCDataSourceProviderTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-mysql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/mysql/provider/JDBCDataSourceProviderTest.java
index aaa9fdaa1e..f85e62403f 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-mysql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/mysql/provider/JDBCDataSourceProviderTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-mysql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/mysql/provider/JDBCDataSourceProviderTest.java
@@ -39,7 +39,8 @@ public class JDBCDataSourceProviderTest {
MockedStatic<JDBCDataSourceProvider>
mockedJDBCDataSourceProvider =
Mockito.mockStatic(JDBCDataSourceProvider.class)) {
HikariDataSource dataSource = Mockito.mock(HikariDataSource.class);
-
Mockito.when(JDBCDataSourceProvider.createJdbcDataSource(Mockito.any(),
Mockito.any()))
+ mockedJDBCDataSourceProvider
+ .when(() ->
JDBCDataSourceProvider.createJdbcDataSource(Mockito.any(), Mockito.any()))
.thenReturn(dataSource);
Assert.assertNotNull(JDBCDataSourceProvider.createJdbcDataSource(new
MySQLConnectionParam(), DbType.MYSQL));
}
@@ -51,7 +52,8 @@ public class JDBCDataSourceProviderTest {
MockedStatic<JDBCDataSourceProvider>
mockedJDBCDataSourceProvider =
Mockito.mockStatic(JDBCDataSourceProvider.class)) {
HikariDataSource dataSource = Mockito.mock(HikariDataSource.class);
-
Mockito.when(JDBCDataSourceProvider.createOneSessionJdbcDataSource(Mockito.any(),
Mockito.any()))
+ mockedJDBCDataSourceProvider
+ .when(() ->
JDBCDataSourceProvider.createOneSessionJdbcDataSource(Mockito.any(),
Mockito.any()))
.thenReturn(dataSource);
Assert.assertNotNull(
JDBCDataSourceProvider.createOneSessionJdbcDataSource(new
MySQLConnectionParam(), DbType.MYSQL));
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-mysql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/mysql/utils/DataSourceUtilsTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-mysql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/mysql/utils/DataSourceUtilsTest.java
index cfc35f7b11..dcf2529b2f 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-mysql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/mysql/utils/DataSourceUtilsTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-mysql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/mysql/utils/DataSourceUtilsTest.java
@@ -36,6 +36,7 @@ import java.util.concurrent.ExecutionException;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -64,12 +65,16 @@ public class DataSourceUtilsTest {
mysqlDatasourceParamDTO.setUserName("root");
mysqlDatasourceParamDTO.setPort(3306);
mysqlDatasourceParamDTO.setPassword("123456");
- Mockito.mockStatic(PasswordUtils.class);
-
Mockito.when(PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("123456");
- Mockito.mockStatic(CommonUtils.class);
- Mockito.when(CommonUtils.getKerberosStartupState()).thenReturn(false);
- ConnectionParam connectionParam =
DataSourceUtils.buildConnectionParams(mysqlDatasourceParamDTO);
- Assert.assertNotNull(connectionParam);
+
+ try (
+ MockedStatic<PasswordUtils> mockedStaticPasswordUtils =
Mockito.mockStatic(PasswordUtils.class);
+ MockedStatic<CommonUtils> mockedStaticCommonUtils =
Mockito.mockStatic(CommonUtils.class)) {
+ mockedStaticPasswordUtils.when(() ->
PasswordUtils.encodePassword(Mockito.anyString()))
+ .thenReturn("123456");
+
mockedStaticCommonUtils.when(CommonUtils::getKerberosStartupState).thenReturn(false);
+ ConnectionParam connectionParam =
DataSourceUtils.buildConnectionParams(mysqlDatasourceParamDTO);
+ Assert.assertNotNull(connectionParam);
+ }
}
@Test
@@ -87,22 +92,24 @@ public class DataSourceUtilsTest {
@Test
public void testGetConnection() throws ExecutionException {
- Mockito.mockStatic(PropertyUtils.class);
- Mockito.when(PropertyUtils.getLong("kerberos.expire.time",
24L)).thenReturn(24L);
- Mockito.mockStatic(DataSourceClientProvider.class);
- DataSourceClientProvider clientProvider =
Mockito.mock(DataSourceClientProvider.class);
-
Mockito.when(DataSourceClientProvider.getInstance()).thenReturn(clientProvider);
-
- Connection connection = Mockito.mock(Connection.class);
- Mockito.when(clientProvider.getConnection(Mockito.any(),
Mockito.any())).thenReturn(connection);
-
- MySQLConnectionParam connectionParam = new MySQLConnectionParam();
- connectionParam.setUser("root");
- connectionParam.setPassword("123456");
- connection =
DataSourceClientProvider.getInstance().getConnection(DbType.MYSQL,
connectionParam);
-
- Assert.assertNotNull(connection);
-
+ try (
+ MockedStatic<PropertyUtils> mockedStaticPropertyUtils =
Mockito.mockStatic(PropertyUtils.class);
+ MockedStatic<DataSourceClientProvider>
mockedStaticDataSourceClientProvider =
+ Mockito.mockStatic(DataSourceClientProvider.class)) {
+ mockedStaticPropertyUtils.when(() ->
PropertyUtils.getLong("kerberos.expire.time", 24L)).thenReturn(24L);
+ DataSourceClientProvider clientProvider =
Mockito.mock(DataSourceClientProvider.class);
+
mockedStaticDataSourceClientProvider.when(DataSourceClientProvider::getInstance).thenReturn(clientProvider);
+
+ Connection connection = Mockito.mock(Connection.class);
+ Mockito.when(clientProvider.getConnection(Mockito.any(),
Mockito.any())).thenReturn(connection);
+
+ MySQLConnectionParam connectionParam = new MySQLConnectionParam();
+ connectionParam.setUser("root");
+ connectionParam.setPassword("123456");
+ connection =
DataSourceClientProvider.getInstance().getConnection(DbType.MYSQL,
connectionParam);
+
+ Assert.assertNotNull(connection);
+ }
}
@Test
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-oracle/src/test/java/org/apache/dolphinscheduler/plugin/datasource/oracle/param/OracleDataSourceProcessorTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-oracle/src/test/java/org/apache/dolphinscheduler/plugin/datasource/oracle/param/OracleDataSourceProcessorTest.java
index b546e665eb..0caf7b96f7 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-oracle/src/test/java/org/apache/dolphinscheduler/plugin/datasource/oracle/param/OracleDataSourceProcessorTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-oracle/src/test/java/org/apache/dolphinscheduler/plugin/datasource/oracle/param/OracleDataSourceProcessorTest.java
@@ -28,6 +28,7 @@ import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -48,13 +49,15 @@ public class OracleDataSourceProcessorTest {
oracleDatasourceParamDTO.setPassword("123456");
oracleDatasourceParamDTO.setDatabase("default");
oracleDatasourceParamDTO.setOther(props);
- Mockito.mockStatic(PasswordUtils.class);
-
Mockito.when(PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
- OracleConnectionParam connectionParams = (OracleConnectionParam)
oracleDatasourceProcessor
- .createConnectionParams(oracleDatasourceParamDTO);
- Assert.assertNotNull(connectionParams);
- Assert.assertEquals("jdbc:oracle:thin:@localhost:3308",
connectionParams.getAddress());
- Assert.assertEquals("jdbc:oracle:thin:@localhost:3308:default",
connectionParams.getJdbcUrl());
+
+ try (MockedStatic<PasswordUtils> mockedStaticPasswordUtils =
Mockito.mockStatic(PasswordUtils.class)) {
+ mockedStaticPasswordUtils.when(() ->
PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
+ OracleConnectionParam connectionParams = (OracleConnectionParam)
oracleDatasourceProcessor
+ .createConnectionParams(oracleDatasourceParamDTO);
+ Assert.assertNotNull(connectionParams);
+ Assert.assertEquals("jdbc:oracle:thin:@localhost:3308",
connectionParams.getAddress());
+ Assert.assertEquals("jdbc:oracle:thin:@localhost:3308:default",
connectionParams.getJdbcUrl());
+ }
}
@Test
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-postgresql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/postgresql/param/PostgreSQLDataSourceProcessorTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-postgresql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/postgresql/param/PostgreSQLDataSourceProcessorTest.java
index 067f12cdca..e7dbc24b1f 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-postgresql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/postgresql/param/PostgreSQLDataSourceProcessorTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-postgresql/src/test/java/org/apache/dolphinscheduler/plugin/datasource/postgresql/param/PostgreSQLDataSourceProcessorTest.java
@@ -27,6 +27,7 @@ import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -46,13 +47,14 @@ public class PostgreSQLDataSourceProcessorTest {
postgreSqlDatasourceParamDTO.setPort(3308);
postgreSqlDatasourceParamDTO.setDatabase("default");
postgreSqlDatasourceParamDTO.setOther(props);
- Mockito.mockStatic(PasswordUtils.class);
-
Mockito.when(PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
- PostgreSQLConnectionParam connectionParams =
(PostgreSQLConnectionParam) postgreSqlDatasourceProcessor
- .createConnectionParams(postgreSqlDatasourceParamDTO);
- Assert.assertEquals("jdbc:postgresql://localhost:3308",
connectionParams.getAddress());
- Assert.assertEquals("jdbc:postgresql://localhost:3308/default",
connectionParams.getJdbcUrl());
- Assert.assertEquals("root", connectionParams.getUser());
+ try (MockedStatic<PasswordUtils> mockedStaticPasswordUtils =
Mockito.mockStatic(PasswordUtils.class)) {
+ mockedStaticPasswordUtils.when(() ->
PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
+ PostgreSQLConnectionParam connectionParams =
(PostgreSQLConnectionParam) postgreSqlDatasourceProcessor
+ .createConnectionParams(postgreSqlDatasourceParamDTO);
+ Assert.assertEquals("jdbc:postgresql://localhost:3308",
connectionParams.getAddress());
+ Assert.assertEquals("jdbc:postgresql://localhost:3308/default",
connectionParams.getJdbcUrl());
+ Assert.assertEquals("root", connectionParams.getUser());
+ }
}
@Test
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-presto/src/test/java/org/apache/dolphinscheduler/plugin/datasource/presto/param/PrestoDataSourceProcessorTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-presto/src/test/java/org/apache/dolphinscheduler/plugin/datasource/presto/param/PrestoDataSourceProcessorTest.java
index 565d535265..7e28a23a5f 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-presto/src/test/java/org/apache/dolphinscheduler/plugin/datasource/presto/param/PrestoDataSourceProcessorTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-presto/src/test/java/org/apache/dolphinscheduler/plugin/datasource/presto/param/PrestoDataSourceProcessorTest.java
@@ -27,6 +27,7 @@ import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -46,12 +47,13 @@ public class PrestoDataSourceProcessorTest {
prestoDatasourceParamDTO.setUserName("root");
prestoDatasourceParamDTO.setPassword("123456");
prestoDatasourceParamDTO.setOther(props);
- Mockito.mockStatic(PasswordUtils.class);
-
Mockito.when(PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
- PrestoConnectionParam connectionParams = (PrestoConnectionParam)
prestoDatasourceProcessor
- .createConnectionParams(prestoDatasourceParamDTO);
- Assert.assertEquals("jdbc:presto://localhost:1234",
connectionParams.getAddress());
- Assert.assertEquals("jdbc:presto://localhost:1234/default",
connectionParams.getJdbcUrl());
+ try (MockedStatic<PasswordUtils> mockedStaticPasswordUtils =
Mockito.mockStatic(PasswordUtils.class)) {
+ mockedStaticPasswordUtils.when(() ->
PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
+ PrestoConnectionParam connectionParams = (PrestoConnectionParam)
prestoDatasourceProcessor
+ .createConnectionParams(prestoDatasourceParamDTO);
+ Assert.assertEquals("jdbc:presto://localhost:1234",
connectionParams.getAddress());
+ Assert.assertEquals("jdbc:presto://localhost:1234/default",
connectionParams.getJdbcUrl());
+ }
}
@Test
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-redshift/src/test/java/org/apache/dolphinscheduler/plugin/datasource/redshift/param/RedshiftDataSourceProcessorTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-redshift/src/test/java/org/apache/dolphinscheduler/plugin/datasource/redshift/param/RedshiftDataSourceProcessorTest.java
index f01e7b3f04..d5929112d9 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-redshift/src/test/java/org/apache/dolphinscheduler/plugin/datasource/redshift/param/RedshiftDataSourceProcessorTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-redshift/src/test/java/org/apache/dolphinscheduler/plugin/datasource/redshift/param/RedshiftDataSourceProcessorTest.java
@@ -27,6 +27,7 @@ import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -46,12 +47,14 @@ public class RedshiftDataSourceProcessorTest {
redshiftDatasourceParamDTO.setUserName("awsuser");
redshiftDatasourceParamDTO.setPassword("123456");
redshiftDatasourceParamDTO.setOther(props);
- Mockito.mockStatic(PasswordUtils.class);
-
Mockito.when(PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
- RedshiftConnectionParam connectionParams = (RedshiftConnectionParam)
redshiftDatasourceProcessor
- .createConnectionParams(redshiftDatasourceParamDTO);
- Assert.assertEquals("jdbc:redshift://localhost:5439",
connectionParams.getAddress());
- Assert.assertEquals("jdbc:redshift://localhost:5439/dev",
connectionParams.getJdbcUrl());
+
+ try (MockedStatic<PasswordUtils> mockedStaticPasswordUtils =
Mockito.mockStatic(PasswordUtils.class)) {
+ mockedStaticPasswordUtils.when(() ->
PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
+ RedshiftConnectionParam connectionParams =
(RedshiftConnectionParam) redshiftDatasourceProcessor
+ .createConnectionParams(redshiftDatasourceParamDTO);
+ Assert.assertEquals("jdbc:redshift://localhost:5439",
connectionParams.getAddress());
+ Assert.assertEquals("jdbc:redshift://localhost:5439/dev",
connectionParams.getJdbcUrl());
+ }
}
@Test
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-spark/src/test/java/org/apache/dolphinscheduler/plugin/datasource/spark/param/SparkDataSourceProcessorTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-spark/src/test/java/org/apache/dolphinscheduler/plugin/datasource/spark/param/SparkDataSourceProcessorTest.java
index 2796c29e6f..d33901bad8 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-spark/src/test/java/org/apache/dolphinscheduler/plugin/datasource/spark/param/SparkDataSourceProcessorTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-spark/src/test/java/org/apache/dolphinscheduler/plugin/datasource/spark/param/SparkDataSourceProcessorTest.java
@@ -28,6 +28,7 @@ import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -47,14 +48,17 @@ public class SparkDataSourceProcessorTest {
sparkDatasourceParamDTO.setPort(1234);
sparkDatasourceParamDTO.setDatabase("default");
sparkDatasourceParamDTO.setOther(props);
- Mockito.mockStatic(PasswordUtils.class);
-
Mockito.when(PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
- Mockito.mockStatic(CommonUtils.class);
- Mockito.when(CommonUtils.getKerberosStartupState()).thenReturn(false);
- SparkConnectionParam connectionParams = (SparkConnectionParam)
sparkDatasourceProcessor
- .createConnectionParams(sparkDatasourceParamDTO);
- Assert.assertEquals("jdbc:hive2://localhost1:1234,localhost2:1234",
connectionParams.getAddress());
-
Assert.assertEquals("jdbc:hive2://localhost1:1234,localhost2:1234/default",
connectionParams.getJdbcUrl());
+
+ try (
+ MockedStatic<PasswordUtils> mockedStaticPasswordUtils =
Mockito.mockStatic(PasswordUtils.class);
+ MockedStatic<CommonUtils> mockedStaticCommonUtils =
Mockito.mockStatic(CommonUtils.class)) {
+ mockedStaticPasswordUtils.when(() ->
PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
+
mockedStaticCommonUtils.when(CommonUtils::getKerberosStartupState).thenReturn(false);
+ SparkConnectionParam connectionParams = (SparkConnectionParam)
sparkDatasourceProcessor
+ .createConnectionParams(sparkDatasourceParamDTO);
+
Assert.assertEquals("jdbc:hive2://localhost1:1234,localhost2:1234",
connectionParams.getAddress());
+
Assert.assertEquals("jdbc:hive2://localhost1:1234,localhost2:1234/default",
connectionParams.getJdbcUrl());
+ }
}
@Test
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-sqlserver/src/test/java/org/apache/dolphinscheduler/plugin/datasource/sqlserver/param/SQLServerDataSourceProcessorTest.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-sqlserver/src/test/java/org/apache/dolphinscheduler/plugin/datasource/sqlserver/param/SQLServerDataSourceProcessorTest.java
index 517381cc41..be90f14af8 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-sqlserver/src/test/java/org/apache/dolphinscheduler/plugin/datasource/sqlserver/param/SQLServerDataSourceProcessorTest.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-sqlserver/src/test/java/org/apache/dolphinscheduler/plugin/datasource/sqlserver/param/SQLServerDataSourceProcessorTest.java
@@ -28,6 +28,7 @@ import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -47,13 +48,15 @@ public class SQLServerDataSourceProcessorTest {
sqlServerDatasourceParamDTO.setHost("localhost");
sqlServerDatasourceParamDTO.setPort(1234);
sqlServerDatasourceParamDTO.setOther(props);
- Mockito.mockStatic(PasswordUtils.class);
-
Mockito.when(PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
- SQLServerConnectionParam connectionParams = (SQLServerConnectionParam)
sqlServerDatasourceProcessor
- .createConnectionParams(sqlServerDatasourceParamDTO);
- Assert.assertEquals("jdbc:sqlserver://localhost:1234",
connectionParams.getAddress());
-
Assert.assertEquals("jdbc:sqlserver://localhost:1234;databaseName=default",
connectionParams.getJdbcUrl());
- Assert.assertEquals("root", connectionParams.getUser());
+
+ try (MockedStatic<PasswordUtils> mockedStaticPasswordUtils =
Mockito.mockStatic(PasswordUtils.class)) {
+ mockedStaticPasswordUtils.when(() ->
PasswordUtils.encodePassword(Mockito.anyString())).thenReturn("test");
+ SQLServerConnectionParam connectionParams =
(SQLServerConnectionParam) sqlServerDatasourceProcessor
+ .createConnectionParams(sqlServerDatasourceParamDTO);
+ Assert.assertEquals("jdbc:sqlserver://localhost:1234",
connectionParams.getAddress());
+
Assert.assertEquals("jdbc:sqlserver://localhost:1234;databaseName=default",
connectionParams.getJdbcUrl());
+ Assert.assertEquals("root", connectionParams.getUser());
+ }
}
@Test
diff --git
a/dolphinscheduler-master/src/test/java/org/apache/dolphinscheduler/server/master/processor/TaskAckProcessorTest.java
b/dolphinscheduler-master/src/test/java/org/apache/dolphinscheduler/server/master/processor/TaskAckProcessorTest.java
index 5919bcbdb0..4bd1004411 100644
---
a/dolphinscheduler-master/src/test/java/org/apache/dolphinscheduler/server/master/processor/TaskAckProcessorTest.java
+++
b/dolphinscheduler-master/src/test/java/org/apache/dolphinscheduler/server/master/processor/TaskAckProcessorTest.java
@@ -24,11 +24,11 @@ import
org.apache.dolphinscheduler.server.master.processor.queue.TaskEventServic
import org.apache.dolphinscheduler.service.bean.SpringApplicationContext;
import org.apache.dolphinscheduler.service.process.ProcessService;
-import java.util.Date;
-
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -47,15 +47,19 @@ public class TaskAckProcessorTest {
private TaskEvent taskResponseEvent;
private Channel channel;
+ private MockedStatic<SpringApplicationContext>
mockedStaticSpringApplicationContext;
+
@Before
public void before() {
- Mockito.mockStatic(SpringApplicationContext.class);
+ mockedStaticSpringApplicationContext =
Mockito.mockStatic(SpringApplicationContext.class);
taskEventService = Mockito.mock(TaskEventService.class);
-
Mockito.when(SpringApplicationContext.getBean(TaskEventService.class)).thenReturn(taskEventService);
+ mockedStaticSpringApplicationContext.when(() ->
SpringApplicationContext.getBean(TaskEventService.class))
+ .thenReturn(taskEventService);
processService = Mockito.mock(ProcessService.class);
-
Mockito.when(SpringApplicationContext.getBean(ProcessService.class)).thenReturn(processService);
+ mockedStaticSpringApplicationContext.when(() ->
SpringApplicationContext.getBean(ProcessService.class))
+ .thenReturn(processService);
taskExecuteRunningProcessor = new TaskExecuteRunningProcessor();
@@ -74,6 +78,11 @@ public class TaskAckProcessorTest {
taskExecuteRunningMessage.setProcessInstanceId(1);
}
+ @After
+ public void after() {
+ mockedStaticSpringApplicationContext.close();
+ }
+
@Test
public void testProcess() {
}
diff --git
a/dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/utils/ProcessUtilsTest.java
b/dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/utils/ProcessUtilsTest.java
index a1c7b7e233..516e5836e0 100644
---
a/dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/utils/ProcessUtilsTest.java
+++
b/dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/utils/ProcessUtilsTest.java
@@ -32,6 +32,7 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.junit.MockitoJUnitRunner;
@@ -51,24 +52,32 @@ public class ProcessUtilsTest {
@Test
public void getPidsStr() throws Exception {
int processId = 1;
- Mockito.mockStatic(OSUtils.class);
- Mockito.when(OSUtils.exeCmd(anyString())).thenReturn(null);
- String pidList = ProcessUtils.getPidsStr(processId);
- Assert.assertEquals("", pidList);
+
+ try (MockedStatic<OSUtils> mockedStaticOSUtils =
Mockito.mockStatic(OSUtils.class)) {
+ mockedStaticOSUtils.when(() ->
OSUtils.exeCmd(anyString())).thenReturn(null);
+ String pidList = ProcessUtils.getPidsStr(processId);
+ Assert.assertEquals("", pidList);
+ }
}
@Test
public void testGetKerberosInitCommand() {
- Mockito.mockStatic(PropertyUtils.class);
-
Mockito.when(PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE,
false))
- .thenReturn(true);
-
Mockito.when(PropertyUtils.getString(Constants.JAVA_SECURITY_KRB5_CONF_PATH)).thenReturn("/etc/krb5.conf");
-
Mockito.when(PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_PATH)).thenReturn("/etc/krb5.keytab");
-
Mockito.when(PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_USERNAME)).thenReturn("[email protected]");
- Assert.assertNotEquals("", ProcessUtils.getKerberosInitCommand());
-
Mockito.when(PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE,
false))
- .thenReturn(false);
- Assert.assertEquals("", ProcessUtils.getKerberosInitCommand());
+ try (MockedStatic<PropertyUtils> mockedStaticPropertyUtils =
Mockito.mockStatic(PropertyUtils.class)) {
+ mockedStaticPropertyUtils
+ .when(() ->
PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE,
false))
+ .thenReturn(true);
+ mockedStaticPropertyUtils.when(() ->
PropertyUtils.getString(Constants.JAVA_SECURITY_KRB5_CONF_PATH))
+ .thenReturn("/etc/krb5.conf");
+ mockedStaticPropertyUtils.when(() ->
PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_PATH))
+ .thenReturn("/etc/krb5.keytab");
+ mockedStaticPropertyUtils.when(() ->
PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_USERNAME))
+ .thenReturn("[email protected]");
+ Assert.assertNotEquals("", ProcessUtils.getKerberosInitCommand());
+ mockedStaticPropertyUtils
+ .when(() ->
PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE,
false))
+ .thenReturn(false);
+ Assert.assertEquals("", ProcessUtils.getKerberosInitCommand());
+ }
}
@Test
@@ -80,17 +89,18 @@ public class ProcessUtilsTest {
String executePath = "/ds-exec/1/1/1";
TaskExecutionStatus running = TaskExecutionStatus.RUNNING_EXECUTION;
- Mockito.mockStatic(HadoopUtils.class);
- HadoopUtils hadoop = HadoopUtils.getInstance();
+ try (MockedStatic<HadoopUtils> mockedStaticHadoopUtils =
Mockito.mockStatic(HadoopUtils.class)) {
+ HadoopUtils hadoop = HadoopUtils.getInstance();
- try {
-
Mockito.when(hadoop.getApplicationStatus("application_1585532379175_228491")).thenReturn(running);
-
Mockito.when(hadoop.getApplicationStatus("application_1598885606600_3677")).thenReturn(running);
- } catch (Exception e) {
- e.printStackTrace();
- ProcessUtils.cancelApplication(appIds, logger, tenantCode,
executePath);
- }
+ try {
+
Mockito.when(hadoop.getApplicationStatus("application_1585532379175_228491")).thenReturn(running);
+
Mockito.when(hadoop.getApplicationStatus("application_1598885606600_3677")).thenReturn(running);
+ } catch (Exception e) {
+ e.printStackTrace();
+ ProcessUtils.cancelApplication(appIds, logger, tenantCode,
executePath);
+ }
- Assert.assertNotNull(appIds);
+ Assert.assertNotNull(appIds);
+ }
}
}
diff --git
a/dolphinscheduler-task-plugin/dolphinscheduler-task-jupyter/src/test/java/org/apache/dolphinscheduler/plugin/task/jupyter/JupyterTaskTest.java
b/dolphinscheduler-task-plugin/dolphinscheduler-task-jupyter/src/test/java/org/apache/dolphinscheduler/plugin/task/jupyter/JupyterTaskTest.java
index bcd27f569e..a239b758c0 100644
---
a/dolphinscheduler-task-plugin/dolphinscheduler-task-jupyter/src/test/java/org/apache/dolphinscheduler/plugin/task/jupyter/JupyterTaskTest.java
+++
b/dolphinscheduler-task-plugin/dolphinscheduler-task-jupyter/src/test/java/org/apache/dolphinscheduler/plugin/task/jupyter/JupyterTaskTest.java
@@ -28,6 +28,7 @@ import org.apache.dolphinscheduler.spi.utils.JSONUtils;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
@@ -108,10 +109,12 @@ public class JupyterTaskTest {
public void jupyterTaskUsePipRequirements() throws Exception {
String jupyterTaskParameters =
buildJupyterTaskUsePipRequirementsCommand();
JupyterTask jupyterTask =
prepareJupyterTaskForTest(jupyterTaskParameters);
- Mockito.mockStatic(DateUtils.class);
- when(DateUtils.getTimestampString()).thenReturn("123456789");
- jupyterTask.init();
- Assertions.assertEquals(jupyterTask.buildCommand(),
EXPECTED_JUPYTER_TASK_COMMAND_USE_PIP_REQUIREMENTS);
+
+ try (MockedStatic<DateUtils> mockedStaticDateUtils =
Mockito.mockStatic(DateUtils.class)) {
+
mockedStaticDateUtils.when(DateUtils::getTimestampString).thenReturn("123456789");
+ jupyterTask.init();
+ Assertions.assertEquals(jupyterTask.buildCommand(),
EXPECTED_JUPYTER_TASK_COMMAND_USE_PIP_REQUIREMENTS);
+ }
}
private JupyterTask prepareJupyterTaskForTest(final String
jupyterTaskParameters) {
diff --git
a/dolphinscheduler-task-plugin/dolphinscheduler-task-zeppelin/src/test/java/org/apache/dolphinscheduler/plugin/task/zeppelin/ZeppelinTaskTest.java
b/dolphinscheduler-task-plugin/dolphinscheduler-task-zeppelin/src/test/java/org/apache/dolphinscheduler/plugin/task/zeppelin/ZeppelinTaskTest.java
index 4a6f305f10..ed4e10ead4 100644
---
a/dolphinscheduler-task-plugin/dolphinscheduler-task-zeppelin/src/test/java/org/apache/dolphinscheduler/plugin/task/zeppelin/ZeppelinTaskTest.java
+++
b/dolphinscheduler-task-plugin/dolphinscheduler-task-zeppelin/src/test/java/org/apache/dolphinscheduler/plugin/task/zeppelin/ZeppelinTaskTest.java
@@ -43,6 +43,7 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
@@ -169,28 +170,29 @@ public class ZeppelinTaskTest {
public void testHandleWithNoteExecutionSuccessWithProductionSetting()
throws Exception {
String zeppelinParametersWithNoParagraphId =
buildZeppelinTaskParametersWithProductionSetting();
TaskExecutionContext taskExecutionContext =
mock(TaskExecutionContext.class);
- Mockito.mockStatic(DateUtils.class);
- when(DateUtils.getTimestampString()).thenReturn("123456789");
-
when(taskExecutionContext.getTaskParams()).thenReturn(zeppelinParametersWithNoParagraphId);
- this.zeppelinTask = spy(new ZeppelinTask(taskExecutionContext));
- this.zClient = mock(ZeppelinClient.class);
- this.noteResult = mock(NoteResult.class);
- doReturn(this.zClient).when(this.zeppelinTask).getZeppelinClient();
- when(this.zClient.cloneNote(any(String.class),
any(String.class))).thenReturn(MOCK_CLONE_NOTE_ID);
- when(this.zClient.executeNote(any(),
any(Map.class))).thenReturn(this.noteResult);
+ try (MockedStatic<DateUtils> mockedStaticDateUtils =
Mockito.mockStatic(DateUtils.class)) {
+
when(taskExecutionContext.getTaskParams()).thenReturn(zeppelinParametersWithNoParagraphId);
+ this.zeppelinTask = spy(new ZeppelinTask(taskExecutionContext));
- this.zeppelinTask.init();
- this.zeppelinTask.handle(taskCallBack);
+ this.zClient = mock(ZeppelinClient.class);
+ this.noteResult = mock(NoteResult.class);
- Mockito.verify(this.zClient).cloneNote(
- MOCK_NOTE_ID,
- String.format("%s%s_%s", MOCK_PRODUCTION_DIRECTORY,
MOCK_NOTE_ID, "123456789"));
- Mockito.verify(this.zClient).executeNote(MOCK_CLONE_NOTE_ID,
- (Map<String, String>) mapper.readValue(MOCK_PARAMETERS,
Map.class));
- Mockito.verify(this.noteResult).getParagraphResultList();
- Mockito.verify(this.zClient).deleteNote(MOCK_CLONE_NOTE_ID);
- Assertions.assertEquals(EXIT_CODE_SUCCESS,
this.zeppelinTask.getExitStatusCode());
+ doReturn(this.zClient).when(this.zeppelinTask).getZeppelinClient();
+ when(this.zClient.cloneNote(any(String.class),
any(String.class))).thenReturn(MOCK_CLONE_NOTE_ID);
+ when(this.zClient.executeNote(any(),
any(Map.class))).thenReturn(this.noteResult);
+ this.zeppelinTask.init();
+ when(DateUtils.getTimestampString()).thenReturn("123456789");
+ this.zeppelinTask.handle(taskCallBack);
+ Mockito.verify(this.zClient).cloneNote(
+ MOCK_NOTE_ID,
+ String.format("%s%s_%s", MOCK_PRODUCTION_DIRECTORY,
MOCK_NOTE_ID, "123456789"));
+ Mockito.verify(this.zClient).executeNote(MOCK_CLONE_NOTE_ID,
+ (Map<String, String>) mapper.readValue(MOCK_PARAMETERS,
Map.class));
+ Mockito.verify(this.noteResult).getParagraphResultList();
+ Mockito.verify(this.zClient).deleteNote(MOCK_CLONE_NOTE_ID);
+ Assertions.assertEquals(EXIT_CODE_SUCCESS,
this.zeppelinTask.getExitStatusCode());
+ }
}
private String buildZeppelinTaskParameters() {