mirror of
https://gitee.com/dolphinscheduler/DolphinScheduler.git
synced 2024-11-30 03:08:01 +08:00
Add JDK11 on unit-test (#10364)
This commit is contained in:
parent
5f143f6c3a
commit
1e0939d4a2
16
.github/workflows/backend.yml
vendored
16
.github/workflows/backend.yml
vendored
@ -56,18 +56,26 @@ jobs:
|
||||
needs: paths-filter
|
||||
if: ${{ (needs.paths-filter.outputs.not-ignore == 'true') || (github.event_name == 'push') }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
java: [ '8', '11' ]
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Set up JDK ${{ matrix.java }}
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
java-version: ${{ matrix.java }}
|
||||
distribution: 'adopt'
|
||||
- name: Sanity Check
|
||||
uses: ./.github/actions/sanity-check
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.m2/repository
|
||||
key: ${{ runner.os }}-maven
|
||||
- name: Build and Package
|
||||
- name: Build and Package on ${{ matrix.java }}
|
||||
run: |
|
||||
./mvnw -B clean install \
|
||||
-Prelease,docker \
|
||||
@ -79,9 +87,10 @@ jobs:
|
||||
- name: Check dependency license
|
||||
run: tools/dependencies/check-LICENSE.sh
|
||||
- uses: actions/upload-artifact@v2
|
||||
if: ${{ matrix.java == '8' }}
|
||||
name: Upload Binary Package
|
||||
with:
|
||||
name: binary-package
|
||||
name: binary-package-${{ matrix.java }}
|
||||
path: ./dolphinscheduler-dist/target/apache-dolphinscheduler-dev-SNAPSHOT-bin.tar.gz
|
||||
retention-days: 1
|
||||
cluster-test:
|
||||
@ -103,7 +112,8 @@ jobs:
|
||||
- uses: actions/download-artifact@v2
|
||||
name: Download Binary Package
|
||||
with:
|
||||
name: binary-package
|
||||
# Only run cluster test on jdk8
|
||||
name: binary-package-8
|
||||
path: ./
|
||||
- name: Running cluster test
|
||||
run: |
|
||||
|
7
.github/workflows/unit-test.yml
vendored
7
.github/workflows/unit-test.yml
vendored
@ -53,6 +53,9 @@ jobs:
|
||||
needs: paths-filter
|
||||
if: ${{ (needs.paths-filter.outputs.not-ignore == 'true') || (github.event_name == 'push') }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
java: ['8', '11']
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@ -60,10 +63,10 @@ jobs:
|
||||
submodules: true
|
||||
- name: Sanity Check
|
||||
uses: ./.github/actions/sanity-check
|
||||
- name: Set up JDK 1.8
|
||||
- name: Set up JDK ${{ matrix.java }}
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
java-version: 8
|
||||
java-version: ${{ matrix.java }}
|
||||
distribution: 'adopt'
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
|
@ -28,26 +28,32 @@ import org.apache.hadoop.security.UserGroupInformation;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.powermock.api.mockito.PowerMockito;
|
||||
import org.powermock.core.classloader.annotations.PowerMockIgnore;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
|
||||
@RunWith(PowerMockRunner.class)
|
||||
@SuppressStaticInitializationFor("org.apache.dolphinscheduler.spi.utils.PropertyUtils")
|
||||
@SuppressStaticInitializationFor(
|
||||
value = {"org.apache.dolphinscheduler.spi.utils.PropertyUtils", "org.apache.hadoop.security.UserGroupInformation"}
|
||||
)
|
||||
@PrepareForTest(value = {PropertyUtils.class, UserGroupInformation.class, CommonUtils.class, PasswordUtils.class})
|
||||
@PowerMockIgnore({"jdk.xml.*", "org.apache.hadoop.security.*"})
|
||||
public class CommonUtilsTest {
|
||||
|
||||
@Test
|
||||
public void testGetKerberosStartupState() {
|
||||
PowerMockito.mockStatic(CommonUtils.class);
|
||||
PowerMockito.when(CommonUtils.getKerberosStartupState()).thenReturn(false);
|
||||
PowerMockito.when(CommonUtils.getKerberosStartupState()).thenAnswer((Answer<Boolean>) invocation -> false);
|
||||
boolean kerberosStartupState = CommonUtils.getKerberosStartupState();
|
||||
Assert.assertFalse(kerberosStartupState);
|
||||
|
||||
PowerMockito.mockStatic(PropertyUtils.class);
|
||||
PowerMockito.when(PropertyUtils.getUpperCaseString(Constants.RESOURCE_STORAGE_TYPE)).thenReturn("HDFS");
|
||||
PowerMockito.when(PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE, true)).thenReturn(Boolean.TRUE);
|
||||
PowerMockito.when(PropertyUtils.getUpperCaseString(Constants.RESOURCE_STORAGE_TYPE)).thenAnswer((Answer<String>) invocation -> "HDFS");
|
||||
PowerMockito.when(PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE, true))
|
||||
.thenAnswer((Answer<Boolean>) invocation -> Boolean.TRUE);
|
||||
kerberosStartupState = CommonUtils.getKerberosStartupState();
|
||||
Assert.assertFalse(kerberosStartupState);
|
||||
}
|
||||
@ -56,34 +62,43 @@ public class CommonUtilsTest {
|
||||
public void testLoadKerberosConf() {
|
||||
try {
|
||||
PowerMockito.mockStatic(PropertyUtils.class);
|
||||
PowerMockito.when(PropertyUtils.getUpperCaseString(Constants.RESOURCE_STORAGE_TYPE)).thenReturn("HDFS");
|
||||
PowerMockito.when(PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE, false)).thenReturn(Boolean.TRUE);
|
||||
PowerMockito.when(PropertyUtils.getString(Constants.JAVA_SECURITY_KRB5_CONF_PATH)).thenReturn("/opt/krb5.conf");
|
||||
PowerMockito.when(PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_USERNAME)).thenReturn("hdfs-mycluster@ESZ.COM");
|
||||
PowerMockito.when(PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_PATH)).thenReturn("/opt/hdfs.headless.keytab");
|
||||
PowerMockito.when(PropertyUtils.getUpperCaseString(Constants.RESOURCE_STORAGE_TYPE)).thenAnswer((Answer<String>) invocation -> "HDFS");
|
||||
PowerMockito.when(PropertyUtils.getBoolean(Constants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE, false))
|
||||
.thenAnswer((Answer<Boolean>) invocation -> Boolean.TRUE);
|
||||
PowerMockito.when(PropertyUtils.getString(Constants.JAVA_SECURITY_KRB5_CONF_PATH))
|
||||
.thenAnswer((Answer<String>) invocation -> "/opt/krb5.conf");
|
||||
PowerMockito.when(PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_USERNAME))
|
||||
.thenAnswer((Answer<String>) invocation -> "hdfs-mycluster@ESZ.COM");
|
||||
PowerMockito.when(PropertyUtils.getString(Constants.LOGIN_USER_KEY_TAB_PATH))
|
||||
.thenAnswer((Answer<String>) invocation -> "/opt/hdfs.headless.keytab");
|
||||
|
||||
PowerMockito.mockStatic(UserGroupInformation.class);
|
||||
boolean result = CommonUtils.loadKerberosConf(new Configuration());
|
||||
Configuration configuration = PowerMockito.mock(Configuration.class);
|
||||
PowerMockito.whenNew(Configuration.class).withNoArguments().thenReturn(configuration);
|
||||
|
||||
boolean result = CommonUtils.loadKerberosConf(configuration);
|
||||
Assert.assertTrue(result);
|
||||
|
||||
CommonUtils.loadKerberosConf(null, null, null);
|
||||
|
||||
} catch (Exception e) {
|
||||
Assert.fail("load Kerberos Conf failed");
|
||||
Assert.fail("load Kerberos Conf failed" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void encodePassword() {
|
||||
PowerMockito.mockStatic(PropertyUtils.class);
|
||||
PowerMockito.when(PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false)).thenReturn(Boolean.TRUE);
|
||||
PowerMockito.when(PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false))
|
||||
.thenAnswer((Answer<Boolean>) invocation -> Boolean.TRUE);
|
||||
|
||||
Assert.assertEquals("", PasswordUtils.encodePassword(""));
|
||||
Assert.assertEquals("bnVsbE1USXpORFUy", PasswordUtils.encodePassword("123456"));
|
||||
Assert.assertEquals("bnVsbElWRkJXbGhUVjBBPQ==", PasswordUtils.encodePassword("!QAZXSW@"));
|
||||
Assert.assertEquals("bnVsbE5XUm1aMlZ5S0VBPQ==", PasswordUtils.encodePassword("5dfger(@"));
|
||||
|
||||
PowerMockito.when(PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false)).thenReturn(Boolean.FALSE);
|
||||
PowerMockito.when(PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false))
|
||||
.thenAnswer((Answer<Boolean>) invocation -> Boolean.FALSE);
|
||||
|
||||
Assert.assertEquals("", PasswordUtils.encodePassword(""));
|
||||
Assert.assertEquals("123456", PasswordUtils.encodePassword("123456"));
|
||||
@ -95,7 +110,8 @@ public class CommonUtilsTest {
|
||||
@Test
|
||||
public void decodePassword() {
|
||||
PowerMockito.mockStatic(PropertyUtils.class);
|
||||
PowerMockito.when(PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false)).thenReturn(Boolean.TRUE);
|
||||
PowerMockito.when(PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false))
|
||||
.thenAnswer((Answer<Boolean>) invocation -> Boolean.TRUE);
|
||||
|
||||
PropertyUtils.setValue(DATASOURCE_ENCRYPTION_ENABLE, "true");
|
||||
|
||||
@ -109,7 +125,8 @@ public class CommonUtilsTest {
|
||||
Assert.assertEquals("!QAZXSW@", PasswordUtils.decodePassword("bnVsbElWRkJXbGhUVjBBPQ=="));
|
||||
Assert.assertEquals("5dfger(@", PasswordUtils.decodePassword("bnVsbE5XUm1aMlZ5S0VBPQ=="));
|
||||
|
||||
PowerMockito.when(PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false)).thenReturn(Boolean.FALSE);
|
||||
PowerMockito.when(PropertyUtils.getBoolean(DATASOURCE_ENCRYPTION_ENABLE, false))
|
||||
.thenAnswer((Answer<Boolean>) invocation -> Boolean.FALSE);
|
||||
|
||||
PowerMockito.when(PasswordUtils.decodePassword("123456")).thenReturn("123456");
|
||||
PowerMockito.when(PasswordUtils.decodePassword("!QAZXSW@")).thenReturn("!QAZXSW@");
|
||||
|
@ -39,7 +39,6 @@
|
||||
<dependency>
|
||||
<groupId>javax.annotation</groupId>
|
||||
<artifactId>javax.annotation-api</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user