You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by dh...@apache.org on 2025/08/08 12:41:36 UTC
(ranger) branch ds_RANGER-5281_ut created (now 89ed8c0cb)
This is an automated email from the ASF dual-hosted git repository.
dhavalshah9131 pushed a change to branch ds_RANGER-5281_ut
in repository https://gitbox.apache.org/repos/asf/ranger.git
at 89ed8c0cb RANGER-5281 : Disable KMS Module Tests for Analysis
This branch includes the following new commits:
new 89ed8c0cb RANGER-5281 : Disable KMS Module Tests for Analysis
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(ranger) 01/01: RANGER-5281 : Disable KMS Module Tests for Analysis
Posted by dh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dhavalshah9131 pushed a commit to branch ds_RANGER-5281_ut
in repository https://gitbox.apache.org/repos/asf/ranger.git
commit 89ed8c0cbf16b2e3b09e5560c56dc307f9d82155
Author: dhavalshah9131 <dh...@gmail.com>
AuthorDate: Fri Aug 8 18:10:23 2025 +0530
RANGER-5281 : Disable KMS Module Tests for Analysis
---
.../apache/hadoop/crypto/key/RangerKMSDBTest.java | 2 +
.../hadoop/crypto/key/TestDBToKeySecure.java | 2 +
.../apache/hadoop/crypto/key/TestHSM2DBMKUtil.java | 2 +
.../crypto/key/TestRangerAWSKMSProvider.java | 2 +
.../crypto/key/kms/RangerKeyStoreProviderTest.java | 990 ---------------------
.../hadoop/crypto/key/kms/RangerMasterKeyTest.java | 305 -------
.../kms/TestAzureKeyVaultClientAuthenticator.java | 2 +
.../crypto/key/kms/TestDBToAzureKeyVault.java | 2 +
.../hadoop/crypto/key/kms/TestJKS2RangerUtil.java | 2 +
.../key/kms/TestKeySecureToRangerDBMKUtil.java | 2 +
.../crypto/key/kms/TestMigrateDBMKeyToGCP.java | 2 +
.../hadoop/crypto/key/kms/TestRanger2JKSUtil.java | 2 +
.../kms/TestRangerAzureKeyVaultKeyGenerator.java | 2 +
.../key/kms/TestRangerGoogleCloudHSMProvider.java | 2 +
.../hadoop/crypto/key/kms/TestRangerKeyStore.java | 6 +
.../crypto/key/kms/TestRangerSafenetKeySecure.java | 2 +
.../key/kms/server/RangerKeyStoreProviderTest.java | 33 +
.../crypto/key/kms/server/RangerMasterKeyTest.java | 2 +
.../hadoop/crypto/key/kms/server/TestKMS.java | 2 +
.../key/kms/server/TestKMSExceptionsProvider.java | 2 +
.../crypto/key/kms/server/TestKMSMDCFilter.java | 2 +
.../key/kms/server/TestKMSServerJSONUtils.java | 2 +
.../crypto/key/kms/server/TestKMSWebApp.java | 2 +
.../key/kms/server/TestRangerJsonProvider.java | 2 +
.../org/apache/ranger/entity/TestXXDBBase.java | 2 +
.../apache/ranger/entity/TestXXRangerKeyStore.java | 2 +
.../ranger/kms/biz/TestRangerKMSStartUp.java | 2 +
.../org/apache/ranger/kms/dao/TestBaseDao.java | 2 +
.../kms/metrics/source/TestKMSMetricUtil.java | 2 +
29 files changed, 89 insertions(+), 1295 deletions(-)
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/RangerKMSDBTest.java b/kms/src/test/java/org/apache/hadoop/crypto/key/RangerKMSDBTest.java
index b4bad9929..351d29cda 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/RangerKMSDBTest.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/RangerKMSDBTest.java
@@ -20,6 +20,7 @@
import org.apache.hadoop.conf.Configuration;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.junit.jupiter.MockitoExtension;
@@ -39,6 +40,7 @@
import static org.junit.jupiter.api.Assertions.assertTrue;
@ExtendWith(MockitoExtension.class)
+@Disabled
public class RangerKMSDBTest {
private static final String PROPERTY_PREFIX = "ranger.ks.";
private static final String DB_DIALECT = "jpa.jdbc.dialect";
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/TestDBToKeySecure.java b/kms/src/test/java/org/apache/hadoop/crypto/key/TestDBToKeySecure.java
index a2a747c01..a248f30d4 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/TestDBToKeySecure.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/TestDBToKeySecure.java
@@ -19,6 +19,7 @@
import org.apache.hadoop.conf.Configuration;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -35,6 +36,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestDBToKeySecure {
private static SecurityManager originalSecurityManager;
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/TestHSM2DBMKUtil.java b/kms/src/test/java/org/apache/hadoop/crypto/key/TestHSM2DBMKUtil.java
index 926e2aad1..55dd7eacc 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/TestHSM2DBMKUtil.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/TestHSM2DBMKUtil.java
@@ -18,6 +18,7 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -34,6 +35,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestHSM2DBMKUtil {
private final PrintStream originalOut = System.out;
private final PrintStream originalErr = System.err;
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/TestRangerAWSKMSProvider.java b/kms/src/test/java/org/apache/hadoop/crypto/key/TestRangerAWSKMSProvider.java
index 3c31e3be4..88bcd22ba 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/TestRangerAWSKMSProvider.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/TestRangerAWSKMSProvider.java
@@ -29,6 +29,7 @@
import com.amazonaws.services.kms.model.ListAliasesResult;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.crypto.key.kms.server.KMSConfiguration;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -55,6 +56,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestRangerAWSKMSProvider {
@Test
public void testCreateKMSClient() throws Exception {
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/RangerKeyStoreProviderTest.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/RangerKeyStoreProviderTest.java
deleted file mode 100644
index e5aefd2de..000000000
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/RangerKeyStoreProviderTest.java
+++ /dev/null
@@ -1,990 +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.hadoop.crypto.key.kms;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.crypto.key.KeyProvider;
-import org.apache.hadoop.crypto.key.KeyProvider.KeyVersion;
-import org.apache.hadoop.crypto.key.KeyProvider.Options;
-import org.apache.hadoop.crypto.key.RangerKMSMKI;
-import org.apache.hadoop.crypto.key.RangerKeyStore;
-import org.apache.hadoop.crypto.key.RangerKeyStoreProvider;
-import org.apache.hadoop.crypto.key.kms.server.DerbyTestUtils;
-import org.apache.hadoop.crypto.key.kms.server.KMSConfiguration;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import javax.crypto.Cipher;
-import javax.crypto.SecretKey;
-import javax.crypto.spec.SecretKeySpec;
-
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.CertificateException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertInstanceOf;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.isNull;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-/**
- * A test for the RangerKeyStoreProvider, which is an implementation of the Hadoop KeyProvider interface, which stores keys in a database.
- * Apache Derby is used to create the relevant tables to store the keys in for this test.
- */
-public class RangerKeyStoreProviderTest {
- private static final boolean UNRESTRICTED_POLICIES_INSTALLED;
-
- @BeforeAll
- public static void startServers() throws Exception {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
- DerbyTestUtils.startDerby();
- }
-
- @AfterAll
- public static void stopServers() throws Exception {
- if (UNRESTRICTED_POLICIES_INSTALLED) {
- DerbyTestUtils.stopDerby();
- }
- }
-
- @BeforeEach
- public void cleanUpKeyBeforeEachTest() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- try {
- keyProvider.deleteKey("newkey1");
- keyProvider.flush();
- } catch (IOException e) {
- // Ignore if the key doesn't exist yet
- }
- }
-
- @Test
- public void testCreateDeleteKey() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Create a key
- Options options = new Options(conf);
- options.setBitLength(128);
- options.setCipher("AES");
- KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
- Assertions.assertEquals("newkey1", keyVersion.getName());
- Assertions.assertEquals(128 / 8, keyVersion.getMaterial().length);
- Assertions.assertEquals("newkey1@0", keyVersion.getVersionName());
-
- keyProvider.flush();
- Assertions.assertEquals(1, keyProvider.getKeys().size());
- keyProvider.deleteKey("newkey1");
-
- keyProvider.flush();
- Assertions.assertEquals(0, keyProvider.getKeys().size());
- }
-
- @Test
- public void testDeleteKey_EngineDeleteEntryThrowsForBaseKey() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
-
- // Inject mocked dbStore
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- // Mock Metadata
- KeyProvider.Metadata metadata = mock(KeyProvider.Metadata.class);
- when(metadata.getAlgorithm()).thenReturn("AES");
- when(metadata.getBitLength()).thenReturn(128);
- when(metadata.getDescription()).thenReturn("test description");
- when(metadata.getVersions()).thenReturn(0); // No versions (only base key)
- when(metadata.getAttributes()).thenReturn(new HashMap<>());
-
- // Return mocked metadata
- doReturn(metadata).when(provider).getMetadata("testKey");
-
- // Simulate that base key alias exists
- doReturn(true).when(dbStore).engineContainsAlias("testKey");
-
- // Throw exception when trying to delete base key alias
- doThrow(new KeyStoreException("Delete failed")).when(dbStore).engineDeleteEntry("testKey");
-
- // Act & Assert
- IOException ex = assertThrows(IOException.class, () -> provider.deleteKey("testKey"));
- assertTrue(ex.getMessage().contains("Problem removing testKey from"));
- }
-
- @Test
- public void testCreateKey() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Create a key
- Options options = new Options(conf);
- options.setBitLength(256);
- options.setCipher("AES");
- KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
- Assertions.assertEquals("newkey1", keyVersion.getName());
- Assertions.assertEquals(256 / 8, keyVersion.getMaterial().length);
- Assertions.assertEquals("newkey1@0", keyVersion.getVersionName());
-
- keyProvider.flush();
-
- // Validate the key exists
- List<String> keys = keyProvider.getKeys();
- Assertions.assertEquals(1, keys.size());
- Assertions.assertEquals("newkey1", keys.get(0));
- }
-
- @Test
- public void testRolloverKey() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Create a key
- Options options = new Options(conf);
- options.setBitLength(192);
- options.setCipher("AES");
- KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
- Assertions.assertEquals("newkey1", keyVersion.getName());
- Assertions.assertEquals(192 / 8, keyVersion.getMaterial().length);
- Assertions.assertEquals("newkey1@0", keyVersion.getVersionName());
-
- keyProvider.flush();
-
- // Rollover a new key
- byte[] oldKey = keyVersion.getMaterial();
- keyVersion = keyProvider.rollNewVersion("newkey1");
- Assertions.assertEquals("newkey1", keyVersion.getName());
- Assertions.assertEquals(192 / 8, keyVersion.getMaterial().length);
- Assertions.assertEquals("newkey1@1", keyVersion.getVersionName());
- Assertions.assertFalse(Arrays.equals(oldKey, keyVersion.getMaterial()));
-
- keyProvider.deleteKey("newkey1");
-
- keyProvider.flush();
- Assertions.assertEquals(0, keyProvider.getKeys().size());
- try {
- keyProvider.deleteKey("newkey1");
- keyProvider.flush();
- } catch (IOException e) {
- // Ignore if key doesn't exist
- }
- }
-
- @Test
- public void testGetKeyVersion() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Create a key version
- Options options = new Options(conf);
- options.setBitLength(192);
- options.setCipher("AES");
- KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
-
- Assertions.assertEquals("newkey1", keyVersion.getName());
- Assertions.assertEquals(192 / 8, keyVersion.getMaterial().length);
- Assertions.assertEquals("newkey1@0", keyVersion.getVersionName());
-
- keyProvider.flush();
-
- // Validate the key exists
- Assertions.assertEquals(1, keyProvider.getKeys().size());
-
- // Get key versions
- List<KeyVersion> keyVersions = keyProvider.getKeyVersions("newkey1");
- Assertions.assertEquals(1, keyVersions.size());
-
- KeyVersion kv = keyVersions.get(0);
- Assertions.assertEquals("newkey1", kv.getName());
- Assertions.assertEquals(192 / 8, kv.getMaterial().length);
- assertTrue(kv.getVersionName().startsWith("newkey1@"));
-
- keyProvider.flush();
- Assertions.assertNotEquals(0, keyProvider.getKeys().size());
-
- // Try to get key versions of a non-existent key
- try {
- List<KeyVersion> invalidVersions = keyProvider.getKeyVersions("newkey2");
- if (!invalidVersions.isEmpty()) {
- Assertions.fail("Unexpected key version found: " + invalidVersions.get(0).getName());
- }
- } catch (IOException ex) {
- // expected
- }
- }
-
- @Test
- public void testGetKeys() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Create a key version
- Options options = new Options(conf);
- options.setBitLength(192);
- options.setCipher("AES");
- KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
-
- Assertions.assertEquals("newkey1", keyVersion.getName());
- Assertions.assertEquals(192 / 8, keyVersion.getMaterial().length);
- Assertions.assertEquals("newkey1@0", keyVersion.getVersionName());
-
- keyProvider.flush();
-
- List<String> getkeys = keyProvider.getKeys();
- Assertions.assertEquals(1, getkeys.size());
- Assertions.assertEquals("newkey1", getkeys.get(0));
-
- keyProvider.flush();
- Assertions.assertNotEquals(0, keyProvider.getKeys().size());
- }
-
- @Test
- public void testGetKeyVersionWithInvalidKey() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Try to get key versions of a non-existent key
- try {
- List<KeyVersion> invalidVersions = keyProvider.getKeyVersions("nonExistentKey");
- assertTrue(invalidVersions.isEmpty(), "Expected no key versions for non-existent key");
- } catch (IOException ex) {
- // expected
- }
- }
-
- @Test
- public void testGetKeyVersionWithInvalidVersion() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Create a key version
- Options options = new Options(conf);
- options.setBitLength(192);
- options.setCipher("AES");
- KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
-
- Assertions.assertEquals("newkey1", keyVersion.getName());
- Assertions.assertEquals(192 / 8, keyVersion.getMaterial().length);
- Assertions.assertEquals("newkey1@0", keyVersion.getVersionName());
-
- keyProvider.flush();
-
- // Try to get an invalid version
- try {
- KeyVersion invalidVersion = keyProvider.getKeyVersion("newkey1@invalid");
- Assertions.assertNull(invalidVersion, "Expected null for invalid version");
- } catch (IOException ex) {
- // expected
- }
- }
-
- @Test
- public void testGetKeyVersions() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Create a key version
- Options options = new Options(conf);
- options.setBitLength(192);
- options.setCipher("AES");
- KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
-
- Assertions.assertEquals("newkey1", keyVersion.getName());
- Assertions.assertEquals(192 / 8, keyVersion.getMaterial().length);
- Assertions.assertEquals("newkey1@0", keyVersion.getVersionName());
-
- keyProvider.flush();
-
- // Get key versions
- List<KeyVersion> keyVersions = keyProvider.getKeyVersions("newkey1");
- Assertions.assertEquals(1, keyVersions.size());
-
- KeyVersion kv = keyVersions.get(0);
- Assertions.assertEquals("newkey1", kv.getName());
- Assertions.assertEquals(192 / 8, kv.getMaterial().length);
- assertTrue(kv.getVersionName().startsWith("newkey1@"));
- }
-
- @Test
- public void testGetMetadata() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Create a key version
- Options options = new Options(conf);
- options.setBitLength(192);
- options.setCipher("AES");
- KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
- Assertions.assertEquals("newkey1", keyVersion.getName());
- Assertions.assertEquals(192 / 8, keyVersion.getMaterial().length);
- Assertions.assertEquals("newkey1@0", keyVersion.getVersionName());
-
- keyProvider.flush();
-
- // Get metadata
- String metadata = String.valueOf(keyProvider.getMetadata("newkey1"));
- assertNotNull(metadata, "Metadata should not be null");
- assertTrue(metadata.contains("192"), "Metadata should contain key bit length");
- assertTrue(metadata.contains("AES"), "Metadata should contain key cipher");
- }
-
- @Test
- public void testGetKeyVersionWithInvalidKeyName() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Try to get key versions of a non-existent key
- try {
- KeyVersion invalidVersion = keyProvider.getKeyVersion("nonExistentKey@0");
- Assertions.assertNull(invalidVersion, "Expected null for non-existent key version");
- } catch (IOException ex) {
- // expected
- }
- }
-
- @Test
- public void testFlush() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Create a key version
- Options options = new Options(conf);
- options.setBitLength(192);
- options.setCipher("AES");
- KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
-
- Assertions.assertEquals("newkey1", keyVersion.getName());
- Assertions.assertEquals(192 / 8, keyVersion.getMaterial().length);
- Assertions.assertEquals("newkey1@0", keyVersion.getVersionName());
-
- // Flush the provider
- keyProvider.flush();
-
- // Validate that the key is still present after flush
- List<KeyVersion> keyVersions = keyProvider.getKeyVersions("newkey1");
- Assertions.assertEquals(1, keyVersions.size());
- }
-
- @Test
- public void testGetConfiguration() {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- String originalConfDir = System.getProperty(KMSConfiguration.KMS_CONFIG_DIR);
-
- try {
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, "relative/path");
-
- Configuration conf = new Configuration();
-
- RuntimeException ex = assertThrows(RuntimeException.class, () -> {
- new RangerKeyStoreProvider(conf); // Should internally call getConfiguration()
- });
-
- assertTrue(ex.getMessage().contains("must be an absolute path"));
- } finally {
- if (originalConfDir != null) {
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, originalConfDir);
- } else {
- System.clearProperty(KMSConfiguration.KMS_CONFIG_DIR);
- }
- }
- }
-
- @Test
- public void testGetKeyVersionWithInvalidVersionName() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Try to get key version with an invalid version name
- try {
- KeyVersion invalidVersion = keyProvider.getKeyVersion("newkey1@invalid");
- Assertions.assertNull(invalidVersion, "Expected null for invalid version name");
- } catch (IOException ex) {
- // expected
- }
- }
-
- @Test
- public void testGetDBKSConf() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Get the DB configuration
- Configuration dbConf = RangerKeyStoreProvider.getDBKSConf();
- assertNotNull(dbConf, "DB configuration should not be null");
- }
-
- @Test
- public void testRollNewVersion_ThrowsWhenKeyNotFound() throws Throwable {
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
- Configuration conf = new Configuration();
- RangerKeyStoreProvider provider = new RangerKeyStoreProvider(conf);
-
- byte[] dummyMaterial = new byte[16]; // 128-bit material
-
- IOException exception = assertThrows(IOException.class, () ->
- provider.rollNewVersion("nonExistingKey", dummyMaterial));
-
- assertTrue(exception.getMessage().contains("Key nonExistingKey not found"));
- }
-
- @Test
- public void testRollNewVersion_ThrowsWhenKeyLengthMismatch() throws Throwable {
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider provider = new RangerKeyStoreProvider(conf);
-
- Options options = new Options(conf);
- options.setBitLength(128);
- options.setCipher("AES");
- provider.createKey("testKeyMismatch", options);
- provider.flush();
-
- // Use 192-bit material
- byte[] wrongMaterial = new byte[24];
-
- IOException exception = assertThrows(IOException.class, () ->
- provider.rollNewVersion("testKeyMismatch", wrongMaterial));
-
- assertTrue(exception.getMessage().contains("Wrong key length"));
- }
-
- @Test
- public void testDeleteKey_MetadataIsNull() throws Throwable {
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider realProvider = new RangerKeyStoreProvider(conf);
-
- // Spy on the real provider to override getMetadata
- RangerKeyStoreProvider provider = spy(realProvider);
-
- // Simulate missing metadata
- doReturn(null).when(provider).getMetadata("testKey");
-
- // Act & Assert
- IOException ex = assertThrows(IOException.class, () -> provider.deleteKey("testKey"));
-
- // This now matches the real message thrown by deleteKey()
- assertTrue(ex.getMessage().contains("Key testKey does not exist"));
- }
-
- @Test
- public void testGetKeyVersion_DecryptKeyThrowsRuntimeException() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
-
- // Inject dbStore
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- // Enable keyVault mode
- Field keyVaultField = RangerKeyStoreProvider.class.getDeclaredField("keyVaultEnabled");
- keyVaultField.setAccessible(true);
- keyVaultField.set(provider, true);
-
- // Setup mocks: alias exists, but decryption fails
- doReturn(true).when(dbStore).engineContainsAlias("testKey");
- doThrow(new RuntimeException("decryption failure")).when(dbStore).engineGetDecryptedZoneKeyByte("testKey");
-
- RuntimeException ex = assertThrows(RuntimeException.class, () -> provider.getKeyVersion("testKey"));
- assertTrue(ex.getMessage().contains("Error while getting decrypted key."));
- assertTrue(ex.getMessage().contains("decryption failure"));
- }
-
- @Test
- public void testGetKeyVersion_NoSuchAlgorithmException() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
-
- // Inject dbStore
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- // Setup: alias exists, key fetch throws NoSuchAlgorithmException
- doReturn(true).when(dbStore).engineContainsAlias("testKey");
- doThrow(new NoSuchAlgorithmException()).when(dbStore).engineGetKey(eq("testKey"), any());
-
- IOException ex = assertThrows(IOException.class, () -> provider.getKeyVersion("testKey"));
-
- assertTrue(ex.getMessage().contains("Can't get algorithm for key"));
-
- // Setup: alias exists, key fetch throws UnrecoverableKeyException
- doReturn(true).when(dbStore).engineContainsAlias("testKey");
- doThrow(new UnrecoverableKeyException()).when(dbStore).engineGetKey(eq("testKey"), any());
-
- IOException ex1 = assertThrows(IOException.class, () -> provider.getKeyVersion("testKey"));
-
- assertTrue(ex1.getMessage().contains("Can't recover key "));
- }
-
- @Test
- public void testGetMetadata_GenericException() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
-
- // Inject mocked dbStore
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- // Simulate exception during dbStore.engineContainsAlias for RuntimeException
- when(dbStore.engineContainsAlias("testKey")).thenThrow(new RuntimeException("DB failure"));
-
- IOException ex = assertThrows(IOException.class, () -> provider.getMetadata("testKey"));
-
- assertTrue(ex.getMessage().contains("Please try again"));
- assertTrue(ex.getCause().getMessage().contains("DB failure"));
- }
-
- @Test
- public void testGetConfiguration1() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- Configuration conf = new Configuration();
- RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);
-
- // Get the configuration
- Configuration keyProviderConf = keyProvider.getConf();
- assertNotNull(keyProviderConf, "Configuration should not be null");
- }
-
- @Test
- public void testSaveKey_ThrowsIOException() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
-
- // Inject mocked dbStore
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- // Set keyVaultEnabled = false
- Field keyVaultField = RangerKeyStoreProvider.class.getDeclaredField("keyVaultEnabled");
- keyVaultField.setAccessible(true);
- keyVaultField.set(provider, false);
-
- // Mock Metadata with required getters
- KeyProvider.Metadata metadata = mock(KeyProvider.Metadata.class);
- when(metadata.getAlgorithm()).thenReturn("AES");
- when(metadata.getBitLength()).thenReturn(128);
- when(metadata.getDescription()).thenReturn("test description");
- when(metadata.getVersions()).thenReturn(1);
- when(metadata.getAttributes()).thenReturn(new HashMap<>());
-
- // Mock exception on addKeyEntry
- doThrow(new RuntimeException("decryption failure")).when(dbStore).addKeyEntry(
- eq("testKey"),
- any(),
- any(),
- eq("AES"),
- eq(128),
- eq("test description"),
- eq(1),
- any());
-
- Method saveKeyMethod = RangerKeyStoreProvider.class.getDeclaredMethod("saveKey", String.class, KeyProvider.Metadata.class);
- saveKeyMethod.setAccessible(true);
-
- try {
- saveKeyMethod.invoke(provider, "testKey", metadata);
- fail("Expected IOException to be thrown");
- } catch (InvocationTargetException e) {
- Throwable cause = e.getCause();
- assertInstanceOf(IOException.class, cause, "Cause should be IOException");
- assertInstanceOf(RuntimeException.class, cause.getCause(), "IOException cause should be RuntimeException");
- assertTrue(cause.getCause().getMessage().contains("decryption failure"));
- }
- }
-
- @Test
- public void testGetKeyVersion_KeyVaultTrue_SuccessPath() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
-
- // Inject dbStore
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- // Set keyVaultEnabled = true
- Field keyVaultField = RangerKeyStoreProvider.class.getDeclaredField("keyVaultEnabled");
- keyVaultField.setAccessible(true);
- keyVaultField.set(provider, true);
-
- String versionedKey = "testKey@0";
-
- // Simulate engineContainsAlias returns false first, then true
- when(dbStore.engineContainsAlias(versionedKey)).thenReturn(false).thenReturn(true);
-
- // Simulate engineLoad
- doNothing().when(dbStore).engineLoad(isNull(), any());
-
- // Simulate decrypted key return
- byte[] decryptedKey = new byte[] {0x01, 0x02, 0x03};
- when(dbStore.engineGetDecryptedZoneKeyByte(versionedKey)).thenReturn(decryptedKey);
-
- // Act
- KeyVersion result = provider.getKeyVersion(versionedKey);
-
- // Assert
- assertNotNull(result);
- assertEquals(versionedKey, result.getVersionName());
- assertEquals("testKey", result.getName());
- assertArrayEquals(decryptedKey, result.getMaterial());
- }
-
- @Test
- public void testGenerateAndGetMasterKey_generateMasterKeyThrows() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
- RangerKMSMKI masterKeyProvider = mock(RangerKMSMKI.class);
-
- // simulate generateMasterKey throwing an exception
- doThrow(new RuntimeException("Simulated failure in generateMasterKey")).when(masterKeyProvider).generateMasterKey("abc123");
-
- Method method = RangerKeyStoreProvider.class.getDeclaredMethod("generateAndGetMasterKey", RangerKMSMKI.class, String.class);
- method.setAccessible(true);
-
- RuntimeException ex = assertThrows(RuntimeException.class, () -> {
- try {
- method.invoke(provider, masterKeyProvider, "abc123");
- } catch (InvocationTargetException e) {
- throw e.getCause();
- }
- });
-
- assertTrue(ex.getMessage().contains("Error while generating Ranger Master key"));
- }
-
- @Test
- void testFlush_EngineStoreThrowsIOException() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
- doThrow(new IOException("Flush failed")).when(dbStore).engineStore(any(), any());
-
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
-
- // Inject mocks and changed = true
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- Field changedField = RangerKeyStoreProvider.class.getDeclaredField("changed");
- changedField.setAccessible(true);
- changedField.set(provider, true);
-
- IOException ex = assertThrows(IOException.class, provider::flush);
- assertTrue(ex.getMessage().contains("Flush failed"));
-
- verify(dbStore, times(1)).engineStore(any(), any());
- }
-
- @Test
- void testFlush_EngineStoreThrowsNoSuchAlgorithmException() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
- doThrow(new NoSuchAlgorithmException()).when(dbStore).engineStore(any(), any());
-
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
-
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- Field changedField = RangerKeyStoreProvider.class.getDeclaredField("changed");
- changedField.setAccessible(true);
- changedField.set(provider, true);
-
- IOException ex = assertThrows(IOException.class, provider::flush);
- assertTrue(ex.getMessage().contains("No such algorithm storing key"));
-
- verify(dbStore, times(1)).engineStore(any(), any());
- }
-
- @Test
- void testFlush_EngineStoreThrowsCertificateException() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
- doThrow(new CertificateException()).when(dbStore).engineStore(any(), any());
-
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
-
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- Field changedField = RangerKeyStoreProvider.class.getDeclaredField("changed");
- changedField.setAccessible(true);
- changedField.set(provider, true);
-
- IOException ex = assertThrows(IOException.class, provider::flush);
- assertTrue(ex.getMessage().contains("Certificate exception storing key"));
-
- verify(dbStore, times(1)).engineStore(any(), any());
- }
-
- @Test
- void testDeleteKey_ShouldThrowIOException() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
-
- // Inject mocked dbStore
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- // Mock Metadata object with versions = 1
- KeyProvider.Metadata metadata = mock(KeyProvider.Metadata.class);
- when(metadata.getVersions()).thenReturn(1);
-
- // Stub getMetadata to return mocked metadata
- doReturn(metadata).when(provider).getMetadata("testKey");
-
- // Stub dbStore responses for key existence
- doReturn(true).when(dbStore).engineContainsAlias("testKey@0");
- doReturn(true).when(dbStore).engineContainsAlias("testKey");
-
- // Simulate KeyStoreException on deleting the version key
- doThrow(new KeyStoreException("forced exception")).when(dbStore).engineDeleteEntry("testKey@0");
-
- // Expect IOException because KeyStoreException is caught and wrapped
- IOException ex = assertThrows(IOException.class, () -> provider.deleteKey("testKey"));
- assertTrue(ex.getMessage().contains("Problem removing"));
-
- // Verify interactions with dbStore mocks
- verify(dbStore).engineContainsAlias("testKey@0");
- verify(dbStore).engineDeleteEntry("testKey@0");
- }
-
- @Test
- void testCreateKey_ShouldThrowIOException_WhenKeyAlreadyExists() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
-
- // Inject mocked dbStore
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- String keyName = "existingKey";
- byte[] material = new byte[16]; // 128 bits
- KeyProvider.Options options = new KeyProvider.Options(conf)
- .setCipher("AES")
- .setBitLength(128);
-
- // Simulate that key already exists
- when(dbStore.engineContainsAlias(keyName)).thenReturn(true);
-
- IOException ex = assertThrows(IOException.class, () -> provider.createKey(keyName, material, options));
- assertTrue(ex.getMessage().contains("Key " + keyName + " already exists"));
- }
-
- @Test
- void testCreateKey_ShouldThrowIOException_WhenKeyLengthIncorrect() throws Throwable {
- Configuration conf = new Configuration();
- RangerKeyStore dbStore = mock(RangerKeyStore.class);
- RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
-
- // Inject mocked dbStore
- Field dbStoreField = RangerKeyStoreProvider.class.getDeclaredField("dbStore");
- dbStoreField.setAccessible(true);
- dbStoreField.set(provider, dbStore);
-
- String keyName = "newKey";
- byte[] material = new byte[10]; // 80 bits
- KeyProvider.Options options = new KeyProvider.Options(conf)
- .setCipher("AES")
- .setBitLength(128); // But expects 128 bits
-
- // Simulate key does not exist
- when(dbStore.engineContainsAlias(keyName)).thenReturn(false);
-
- IOException ex = assertThrows(IOException.class, () -> provider.createKey(keyName, material, options));
- assertTrue(ex.getMessage().contains("Wrong key length. Required 128, but got 80"));
- }
-
- static {
- boolean ok = false;
- try {
- byte[] data = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
-
- SecretKey key192 = new SecretKeySpec(
- new byte[] {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
- 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17},
- "AES");
- Cipher c = Cipher.getInstance("AES");
- c.init(Cipher.ENCRYPT_MODE, key192);
- c.doFinal(data);
- ok = true;
- } catch (Exception e) {
- //
- }
- UNRESTRICTED_POLICIES_INSTALLED = ok;
- }
-}
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/RangerMasterKeyTest.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/RangerMasterKeyTest.java
deleted file mode 100644
index 6abca9f3e..000000000
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/RangerMasterKeyTest.java
+++ /dev/null
@@ -1,305 +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.hadoop.crypto.key.kms;
-
-import com.sun.jersey.core.util.Base64;
-import org.apache.hadoop.crypto.key.RangerKMSDB;
-import org.apache.hadoop.crypto.key.RangerKeyStoreProvider;
-import org.apache.hadoop.crypto.key.RangerMasterKey;
-import org.apache.hadoop.crypto.key.kms.server.DerbyTestUtils;
-import org.apache.hadoop.crypto.key.kms.server.KMSConfiguration;
-import org.apache.ranger.kms.dao.DaoManager;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-
-import javax.crypto.Cipher;
-import javax.crypto.SecretKey;
-import javax.crypto.spec.SecretKeySpec;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Properties;
-
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-/**
- * A test for the RangerMasterKey.
- */
-public class RangerMasterKeyTest {
- private static final boolean UNRESTRICTED_POLICIES_INSTALLED;
-
- @BeforeAll
- public static void startServers() throws Exception {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
- DerbyTestUtils.startDerby();
- }
-
- @AfterAll
- public static void stopServers() throws Exception {
- if (UNRESTRICTED_POLICIES_INSTALLED) {
- DerbyTestUtils.stopDerby();
- }
- }
-
- @Test
- public void testFetchEncrAlgo_DefaultFallback() throws Exception {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- RangerKMSDB rangerkmsDb = new RangerKMSDB(RangerKeyStoreProvider.getDBKSConf());
- DaoManager daoManager = rangerkmsDb.getDaoManager();
- RangerMasterKey rangerMasterKey = new RangerMasterKey(daoManager);
-
- String inputWithoutComma = "verylongstringwithoutcommapassword123";
-
- Method method = RangerMasterKey.class.getDeclaredMethod("fetchEncrAlgo", String.class);
- method.setAccessible(true);
-
- String result = (String) method.invoke(rangerMasterKey, inputWithoutComma);
- Assertions.assertEquals("PBEWithMD5AndTripleDES", result); // default fallback
- }
-
- @Test
- public void testReencryptMKWithFipsAlgo() throws Exception {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- RangerKMSDB rangerkmsDb = new RangerKMSDB(RangerKeyStoreProvider.getDBKSConf());
- DaoManager daoManager = rangerkmsDb.getDaoManager();
- RangerMasterKey rangerMasterKey = new RangerMasterKey(daoManager);
-
- String inputWithoutComma = "verylongstringwithoutcommapassword123";
-
- Method method = RangerMasterKey.class.getDeclaredMethod("reencryptMKWithFipsAlgo", String.class);
- method.setAccessible(true);
-
- boolean result = (boolean) method.invoke(rangerMasterKey, inputWithoutComma);
- Assertions.assertFalse(result); // or assertTrue if expecting re-encryption to happen
- }
-
- @Test
- public void testGenerateMKFromHSMMK() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- RangerKMSDB rangerkmsDb = new RangerKMSDB(RangerKeyStoreProvider.getDBKSConf());
- DaoManager daoManager = rangerkmsDb.getDaoManager();
- RangerMasterKey rangerMasterKey = new RangerMasterKey(daoManager);
-
- String password = "password0password0password0password0password0password0password0password0"
- + "password0password0password0password0password0password0password0password0"
- + "password0password0password0password0password0password0password0";
- byte[] key = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
- 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17};
- rangerMasterKey.generateMKFromHSMMK(password, key);
- }
-
- @Test
- public void testGenerateMKFromKeySecureMK() throws Throwable {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- RangerKMSDB rangerkmsDb = new RangerKMSDB(RangerKeyStoreProvider.getDBKSConf());
- DaoManager daoManager = rangerkmsDb.getDaoManager();
- RangerMasterKey rangerMasterKey = new RangerMasterKey(daoManager);
-
- String password = "password0password0password0password0password0password0password0password0"
- + "password0password0password0password0password0password0password0";
- byte[] key = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
- 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17};
- rangerMasterKey.generateMKFromKeySecureMK(password, key);
-
- assertNotNull(rangerMasterKey.getMasterKey(password));
- }
-
- @Test
- public void testDecryptMasterKeySK() throws Exception {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- RangerKMSDB rangerkmsDb = new RangerKMSDB(RangerKeyStoreProvider.getDBKSConf());
- DaoManager daoManager = rangerkmsDb.getDaoManager();
- RangerMasterKey rangerMasterKey = new RangerMasterKey(daoManager);
-
- String password = "password0password0password0password0password0password0password0password0"
- + "password0password0password0password0password0password0password0";
-
- // Simulate a generated master key
- byte[] rawKey = "myMockRawKey1234567890".getBytes(); // Simulated secret key material
- Method encryptMethod = RangerMasterKey.class.getDeclaredMethod("encryptMasterKey", String.class, byte[].class);
- encryptMethod.setAccessible(true);
- String encryptedStr = (String) encryptMethod.invoke(rangerMasterKey, password, rawKey);
-
- // Now decrypt using the method under test
- Method decryptMethod = RangerMasterKey.class.getDeclaredMethod(
- "decryptMasterKeySK", byte[].class, String.class, String.class);
- decryptMethod.setAccessible(true);
-
- byte[] encryptedBytes = Base64.decode(encryptedStr);
- SecretKey secretKey = (SecretKey) decryptMethod.invoke(rangerMasterKey, encryptedBytes, password, encryptedStr);
-
- assertNotNull(secretKey);
- }
-
- @Test
- public void testUpdateEncryptedMK() throws Exception {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- RangerKMSDB rangerkmsDb = new RangerKMSDB(RangerKeyStoreProvider.getDBKSConf());
- DaoManager daoManager = rangerkmsDb.getDaoManager();
- RangerMasterKey rangerMasterKey = new RangerMasterKey(daoManager);
-
- String password = "password0password0password0password0password0password0password0password0"
- + "password0password0password0password0password0password0password0";
-
- byte[] rawKey = "myMockRawKey1234567890".getBytes();
-
- Method updateEncryptedMKMethod = RangerMasterKey.class.getDeclaredMethod(
- "updateEncryptedMK", String.class);
- updateEncryptedMKMethod.setAccessible(true);
- updateEncryptedMKMethod.invoke(rangerMasterKey, password);
- }
-
- @Test
- public void testGetFIPSCompliantPassword() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- RangerKMSDB rangerkmsDb = new RangerKMSDB(RangerKeyStoreProvider.getDBKSConf());
- DaoManager daoManager = rangerkmsDb.getDaoManager();
- RangerMasterKey rangerMasterKey = new RangerMasterKey(daoManager);
-
- String password = "password0password0password0password0password0password0password0password0"
- + "password0password0password0password0password0password0password0";
-
- Method getFIPSCompliantPasswordMethod = RangerMasterKey.class.getDeclaredMethod(
- "getFIPSCompliantPassword", String.class);
- getFIPSCompliantPasswordMethod.setAccessible(true);
- getFIPSCompliantPasswordMethod.invoke(rangerMasterKey, password);
- }
-
- @Test
- public void testGetPasswordParam() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- RangerKMSDB rangerkmsDb = new RangerKMSDB(RangerKeyStoreProvider.getDBKSConf());
- DaoManager daoManager = rangerkmsDb.getDaoManager();
- RangerMasterKey rangerMasterKey = new RangerMasterKey(daoManager);
-
- String password = "password0password0password0password0password0password0password0password0"
- + "password0password0password0password0password0password0password0";
-
- Method getPasswordParamMethod = RangerMasterKey.class.getDeclaredMethod(
- "getPasswordParam", String.class);
- getPasswordParamMethod.setAccessible(true);
- getPasswordParamMethod.invoke(rangerMasterKey, password);
- }
-
- @Test
- public void testGetIntConfig_ReturnsDefaultWhenPropertyMissing() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
- if (!UNRESTRICTED_POLICIES_INSTALLED) {
- return;
- }
-
- Path configDir = Paths.get("src/test/resources/kms");
- System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
-
- RangerKMSDB rangerkmsDb = new RangerKMSDB(RangerKeyStoreProvider.getDBKSConf());
- DaoManager daoManager = rangerkmsDb.getDaoManager();
- RangerMasterKey rangerMasterKey = new RangerMasterKey(daoManager);
-
- Method method = RangerMasterKey.class.getDeclaredMethod("getIntConfig", String.class, int.class);
- method.setAccessible(true);
- int defaultValue = 42;
- int result = (int) method.invoke(rangerMasterKey, "non.existent.property", defaultValue);
- Assertions.assertEquals(defaultValue, result, "Expected default value when property is missing");
- }
-
- @Test
- public void testGetIntConfig_ParsesValidInteger() throws Exception {
- Field propField = RangerMasterKey.class.getDeclaredField("serverConfigProperties");
- propField.setAccessible(true);
- Properties props = new Properties();
- props.setProperty("valid.int.key", "123");
-
- Method method = RangerMasterKey.class.getDeclaredMethod("getIntConfig", String.class, int.class);
- method.setAccessible(true);
- int invoke = (int) method.invoke(null, "valid.int.key", 42);
- }
-
- static {
- boolean ok = false;
- try {
- byte[] data = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
-
- SecretKey key192 = new SecretKeySpec(
- new byte[] {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
- 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17},
- "AES");
- Cipher c = Cipher.getInstance("AES");
- c.init(Cipher.ENCRYPT_MODE, key192);
- c.doFinal(data);
- ok = true;
- } catch (Exception e) {
- //
- }
- UNRESTRICTED_POLICIES_INSTALLED = ok;
- }
-}
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestAzureKeyVaultClientAuthenticator.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestAzureKeyVaultClientAuthenticator.java
index 5ddb7e5b2..b5494e2da 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestAzureKeyVaultClientAuthenticator.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestAzureKeyVaultClientAuthenticator.java
@@ -18,6 +18,7 @@
import com.microsoft.azure.keyvault.KeyVaultClient;
import org.apache.hadoop.crypto.key.AzureKeyVaultClientAuthenticator;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -30,6 +31,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestAzureKeyVaultClientAuthenticator {
@Test
public void testDoAuthenticate_shouldThrowRuntimeException() {
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestDBToAzureKeyVault.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestDBToAzureKeyVault.java
index e12238eeb..9663553fe 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestDBToAzureKeyVault.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestDBToAzureKeyVault.java
@@ -18,6 +18,7 @@
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.crypto.key.DBToAzureKeyVault;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -38,6 +39,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestDBToAzureKeyVault {
@Test
public void testShowUsage() {
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestJKS2RangerUtil.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestJKS2RangerUtil.java
index b941b0511..60006cbb3 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestJKS2RangerUtil.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestJKS2RangerUtil.java
@@ -19,6 +19,7 @@
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.crypto.key.JKS2RangerUtil;
import org.apache.hadoop.crypto.key.RangerMasterKey;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -40,6 +41,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestJKS2RangerUtil {
@Test
public void testGetFromJceks() throws Exception {
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestKeySecureToRangerDBMKUtil.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestKeySecureToRangerDBMKUtil.java
index c4a3a40a3..41fec07bb 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestKeySecureToRangerDBMKUtil.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestKeySecureToRangerDBMKUtil.java
@@ -18,6 +18,7 @@
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.crypto.key.KeySecureToRangerDBMKUtil;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -38,6 +39,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestKeySecureToRangerDBMKUtil {
private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestMigrateDBMKeyToGCP.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestMigrateDBMKeyToGCP.java
index d70d133f3..d4a949527 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestMigrateDBMKeyToGCP.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestMigrateDBMKeyToGCP.java
@@ -17,6 +17,7 @@
package org.apache.hadoop.crypto.key.kms;
import org.apache.hadoop.crypto.key.MigrateDBMKeyToGCP;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -33,6 +34,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestMigrateDBMKeyToGCP {
@Test
public void testShowUsage() throws InvocationTargetException, IllegalAccessException, NoSuchMethodException {
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRanger2JKSUtil.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRanger2JKSUtil.java
index 7792f09cc..acc264d0a 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRanger2JKSUtil.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRanger2JKSUtil.java
@@ -18,6 +18,7 @@
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.crypto.key.Ranger2JKSUtil;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -30,6 +31,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestRanger2JKSUtil {
@Test
public void testShowUsage() {
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerAzureKeyVaultKeyGenerator.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerAzureKeyVaultKeyGenerator.java
index 4031c0ba2..405ae644b 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerAzureKeyVaultKeyGenerator.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerAzureKeyVaultKeyGenerator.java
@@ -21,6 +21,7 @@
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.crypto.key.RangerAzureKeyVaultKeyGenerator;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -43,6 +44,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestRangerAzureKeyVaultKeyGenerator {
private static final String VALID_VAULT_URL = "https://test-keyvault.vault.azure.net/";
private static final String VALID_MASTER_KEY = "test-master-key";
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerGoogleCloudHSMProvider.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerGoogleCloudHSMProvider.java
index 988cce338..4801d8c84 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerGoogleCloudHSMProvider.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerGoogleCloudHSMProvider.java
@@ -20,6 +20,7 @@
import org.apache.hadoop.crypto.key.RangerGoogleCloudHSMProvider;
import org.bouncycastle.crypto.RuntimeCryptoException;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -41,6 +42,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestRangerGoogleCloudHSMProvider {
private static final String VALID_PROJECT_ID = "test-project-id";
private static final String VALID_LOCATION_ID = "us-central1";
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerKeyStore.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerKeyStore.java
index 7be4f7fa4..4dee51ac8 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerKeyStore.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerKeyStore.java
@@ -28,6 +28,7 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -259,6 +260,7 @@ public void testEngineStore_ThrowsIllegalArgumentException_WhenPasswordIsNull()
}
@Test
+ @Disabled
public void testAddKeyEntry_throwsKeyStoreException_whenSealKeyFails() throws Exception {
DaoManager daoManager = mock(DaoManager.class);
RangerKeyStore rangerKeyStore = new RangerKeyStore(daoManager);
@@ -279,6 +281,7 @@ public void testAddKeyEntry_throwsKeyStoreException_whenSealKeyFails() throws Ex
}
@Test
+ @Disabled
public void testDbOperationStore_whenUpdateThrowsException() {
DaoManager daoManager = mock(DaoManager.class);
RangerKeyStore rangerKeyStore = new RangerKeyStore(daoManager);
@@ -328,6 +331,7 @@ public void testDbOperationStore_whenKeyStoreExists_shouldCallUpdate() throws Ex
}
@Test
+ @Disabled
public void testDbOperationDelete() throws Exception {
DaoManager daoManager = mock(DaoManager.class);
RangerKeyStore rangerKeyStore = new RangerKeyStore(daoManager);
@@ -348,6 +352,7 @@ public void testDbOperationDelete() throws Exception {
}
@Test
+ @Disabled
public void testDbOperationLoad() throws Exception {
DaoManager daoManager = mock(DaoManager.class);
RangerKeyStore rangerKeyStore = new RangerKeyStore(daoManager);
@@ -472,6 +477,7 @@ void testEngineGetKeyMetadata() throws Exception {
}
@Test
+ @Disabled
void testAddSecureKeyByteEntry_EncryptFails_ThrowsKeyStoreException() throws Exception {
DaoManager daoManager = mock(DaoManager.class);
RangerKeyStore rangerKeyStore = spy(new RangerKeyStore(daoManager));
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerSafenetKeySecure.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerSafenetKeySecure.java
index 98b21e97f..d4c2e3329 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerSafenetKeySecure.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/TestRangerSafenetKeySecure.java
@@ -18,6 +18,7 @@
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.crypto.key.RangerSafenetKeySecure;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -39,6 +40,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestRangerSafenetKeySecure {
@Test
public void testGenerateMasterKey_WithNullKeystore_ShouldReturnFalse() throws Exception {
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/RangerKeyStoreProviderTest.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/RangerKeyStoreProviderTest.java
index 8f68e2498..68fd15f5e 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/RangerKeyStoreProviderTest.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/RangerKeyStoreProviderTest.java
@@ -28,6 +28,7 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import javax.crypto.Cipher;
@@ -90,6 +91,7 @@ public static void stopServers() throws Exception {
}
@BeforeEach
+ @Disabled
public void cleanUpKeyBeforeEachTest() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -109,6 +111,7 @@ public void cleanUpKeyBeforeEachTest() throws Throwable {
}
@Test
+ @Disabled
public void testCreateDeleteKey() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -138,6 +141,7 @@ public void testCreateDeleteKey() throws Throwable {
}
@Test
+ @Disabled
public void testDeleteKey_EngineDeleteEntryThrowsForBaseKey() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
@@ -171,6 +175,7 @@ public void testDeleteKey_EngineDeleteEntryThrowsForBaseKey() throws Throwable {
}
@Test
+ @Disabled
public void testCreateKey() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -200,6 +205,7 @@ public void testCreateKey() throws Throwable {
}
@Test
+ @Disabled
public void testRolloverKey() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -243,6 +249,7 @@ public void testRolloverKey() throws Throwable {
}
@Test
+ @Disabled
public void testGetKeyVersion() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -293,6 +300,7 @@ public void testGetKeyVersion() throws Throwable {
}
@Test
+ @Disabled
public void testGetKeys() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -325,6 +333,7 @@ public void testGetKeys() throws Throwable {
}
@Test
+ @Disabled
public void testGetKeyVersionWithInvalidKey() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -346,6 +355,7 @@ public void testGetKeyVersionWithInvalidKey() throws Throwable {
}
@Test
+ @Disabled
public void testGetKeyVersionWithInvalidVersion() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -379,6 +389,7 @@ public void testGetKeyVersionWithInvalidVersion() throws Throwable {
}
@Test
+ @Disabled
public void testGetKeyVersions() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -413,6 +424,7 @@ public void testGetKeyVersions() throws Throwable {
}
@Test
+ @Disabled
public void testGetMetadata() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -443,6 +455,7 @@ public void testGetMetadata() throws Throwable {
}
@Test
+ @Disabled
public void testGetKeyVersionWithInvalidKeyName() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -464,6 +477,7 @@ public void testGetKeyVersionWithInvalidKeyName() throws Throwable {
}
@Test
+ @Disabled
public void testFlush() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -494,6 +508,7 @@ public void testFlush() throws Throwable {
}
@Test
+ @Disabled
public void testGetConfiguration() {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -521,6 +536,7 @@ public void testGetConfiguration() {
}
@Test
+ @Disabled
public void testGetKeyVersionWithInvalidVersionName() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -542,6 +558,7 @@ public void testGetKeyVersionWithInvalidVersionName() throws Throwable {
}
@Test
+ @Disabled
public void testGetDBKSConf() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -559,6 +576,7 @@ public void testGetDBKSConf() throws Throwable {
}
@Test
+ @Disabled
public void testRollNewVersion_ThrowsWhenKeyNotFound() throws Throwable {
Path configDir = Paths.get("src/test/resources/kms");
System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
@@ -574,6 +592,7 @@ public void testRollNewVersion_ThrowsWhenKeyNotFound() throws Throwable {
}
@Test
+ @Disabled
public void testRollNewVersion_ThrowsWhenKeyLengthMismatch() throws Throwable {
Path configDir = Paths.get("src/test/resources/kms");
System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
@@ -597,6 +616,7 @@ public void testRollNewVersion_ThrowsWhenKeyLengthMismatch() throws Throwable {
}
@Test
+ @Disabled
public void testDeleteKey_MetadataIsNull() throws Throwable {
Path configDir = Paths.get("src/test/resources/kms");
System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());
@@ -618,6 +638,7 @@ public void testDeleteKey_MetadataIsNull() throws Throwable {
}
@Test
+ @Disabled
public void testGetKeyVersion_DecryptKeyThrowsRuntimeException() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStore dbStore = mock(RangerKeyStore.class);
@@ -643,6 +664,7 @@ public void testGetKeyVersion_DecryptKeyThrowsRuntimeException() throws Throwabl
}
@Test
+ @Disabled
public void testGetKeyVersion_NoSuchAlgorithmException() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStore dbStore = mock(RangerKeyStore.class);
@@ -671,6 +693,7 @@ public void testGetKeyVersion_NoSuchAlgorithmException() throws Throwable {
}
@Test
+ @Disabled
public void testGetMetadata_GenericException() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
@@ -691,6 +714,7 @@ public void testGetMetadata_GenericException() throws Throwable {
}
@Test
+ @Disabled
public void testGetConfiguration1() throws Throwable {
if (!UNRESTRICTED_POLICIES_INSTALLED) {
return;
@@ -708,6 +732,7 @@ public void testGetConfiguration1() throws Throwable {
}
@Test
+ @Disabled
public void testSaveKey_ThrowsIOException() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
@@ -757,6 +782,7 @@ public void testSaveKey_ThrowsIOException() throws Throwable {
}
@Test
+ @Disabled
public void testGetKeyVersion_KeyVaultTrue_SuccessPath() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
@@ -795,6 +821,7 @@ public void testGetKeyVersion_KeyVaultTrue_SuccessPath() throws Throwable {
}
@Test
+ @Disabled
public void testGenerateAndGetMasterKey_generateMasterKeyThrows() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStoreProvider provider = spy(new RangerKeyStoreProvider(conf));
@@ -818,6 +845,7 @@ public void testGenerateAndGetMasterKey_generateMasterKeyThrows() throws Throwab
}
@Test
+ @Disabled
void testFlush_EngineStoreThrowsIOException() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStore dbStore = mock(RangerKeyStore.class);
@@ -841,6 +869,7 @@ void testFlush_EngineStoreThrowsIOException() throws Throwable {
}
@Test
+ @Disabled
void testFlush_EngineStoreThrowsNoSuchAlgorithmException() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStore dbStore = mock(RangerKeyStore.class);
@@ -863,6 +892,7 @@ void testFlush_EngineStoreThrowsNoSuchAlgorithmException() throws Throwable {
}
@Test
+ @Disabled
void testFlush_EngineStoreThrowsCertificateException() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStore dbStore = mock(RangerKeyStore.class);
@@ -885,6 +915,7 @@ void testFlush_EngineStoreThrowsCertificateException() throws Throwable {
}
@Test
+ @Disabled
void testDeleteKey_ShouldThrowIOException() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStore dbStore = mock(RangerKeyStore.class);
@@ -919,6 +950,7 @@ void testDeleteKey_ShouldThrowIOException() throws Throwable {
}
@Test
+ @Disabled
void testCreateKey_ShouldThrowIOException_WhenKeyAlreadyExists() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStore dbStore = mock(RangerKeyStore.class);
@@ -943,6 +975,7 @@ void testCreateKey_ShouldThrowIOException_WhenKeyAlreadyExists() throws Throwabl
}
@Test
+ @Disabled
void testCreateKey_ShouldThrowIOException_WhenKeyLengthIncorrect() throws Throwable {
Configuration conf = new Configuration();
RangerKeyStore dbStore = mock(RangerKeyStore.class);
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/RangerMasterKeyTest.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/RangerMasterKeyTest.java
index 8d2b3c806..2e298f5da 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/RangerMasterKeyTest.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/RangerMasterKeyTest.java
@@ -24,6 +24,7 @@
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import javax.crypto.Cipher;
@@ -36,6 +37,7 @@
/**
* A test for the RangerMasterKey.
*/
+@Disabled
public class RangerMasterKeyTest {
private static final boolean UNRESTRICTED_POLICIES_INSTALLED;
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
index 931eaa65f..65a01e107 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
@@ -22,6 +22,7 @@
import org.apache.hadoop.crypto.key.KeyProviderCryptoExtension;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.security.token.delegation.web.HttpUserGroupInformation;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -54,6 +55,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestKMS {
private static KeyProviderCryptoExtension keyProvider;
private static KMSAudit kmsAudit;
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSExceptionsProvider.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSExceptionsProvider.java
index f5728695e..53595478f 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSExceptionsProvider.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSExceptionsProvider.java
@@ -16,6 +16,7 @@
*/
package org.apache.hadoop.crypto.key.kms.server;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -32,6 +33,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestKMSExceptionsProvider {
@Test
public void testGetOneLineMessage() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSMDCFilter.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSMDCFilter.java
index 9fa9666e8..c83fbb512 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSMDCFilter.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSMDCFilter.java
@@ -16,6 +16,7 @@
*/
package org.apache.hadoop.crypto.key.kms.server;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -34,6 +35,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestKMSMDCFilter {
@Test
public void testInit() throws ServletException {
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSServerJSONUtils.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSServerJSONUtils.java
index e98b00a45..b427f8682 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSServerJSONUtils.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSServerJSONUtils.java
@@ -17,6 +17,7 @@
package org.apache.hadoop.crypto.key.kms.server;
import org.apache.hadoop.crypto.key.KeyProvider;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -30,6 +31,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestKMSServerJSONUtils {
@Test
public void testToJSON() {
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSWebApp.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSWebApp.java
index 726686b7b..142c781e9 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSWebApp.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSWebApp.java
@@ -25,6 +25,7 @@
import org.apache.hadoop.crypto.key.KeyProviderCryptoExtension;
import org.apache.ranger.kms.metrics.collector.KMSMetricsCollector;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -60,6 +61,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestKMSWebApp {
private Configuration mockConfig;
private KeyAuthorizationKeyProvider.KeyACLs mockAcls;
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestRangerJsonProvider.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestRangerJsonProvider.java
index 92deee574..3652dffac 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestRangerJsonProvider.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestRangerJsonProvider.java
@@ -17,6 +17,7 @@
package org.apache.hadoop.crypto.key.kms.server;
import org.apache.ranger.common.RangerJsonProvider;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -27,6 +28,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestRangerJsonProvider {
@Test
public void testRangerJsonProvider() {
diff --git a/kms/src/test/java/org/apache/ranger/entity/TestXXDBBase.java b/kms/src/test/java/org/apache/ranger/entity/TestXXDBBase.java
index a36588e72..84d9c1d6b 100644
--- a/kms/src/test/java/org/apache/ranger/entity/TestXXDBBase.java
+++ b/kms/src/test/java/org/apache/ranger/entity/TestXXDBBase.java
@@ -16,6 +16,7 @@
*/
package org.apache.ranger.entity;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -32,6 +33,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestXXDBBase {
@Test
public void testEquals_sameObject() {
diff --git a/kms/src/test/java/org/apache/ranger/entity/TestXXRangerKeyStore.java b/kms/src/test/java/org/apache/ranger/entity/TestXXRangerKeyStore.java
index 0c35d0a26..9bb74df0a 100644
--- a/kms/src/test/java/org/apache/ranger/entity/TestXXRangerKeyStore.java
+++ b/kms/src/test/java/org/apache/ranger/entity/TestXXRangerKeyStore.java
@@ -16,6 +16,7 @@
*/
package org.apache.ranger.entity;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -26,6 +27,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestXXRangerKeyStore {
@Test
public void testGetId() {
diff --git a/kms/src/test/java/org/apache/ranger/kms/biz/TestRangerKMSStartUp.java b/kms/src/test/java/org/apache/ranger/kms/biz/TestRangerKMSStartUp.java
index 6ce8c7758..11bf99b83 100644
--- a/kms/src/test/java/org/apache/ranger/kms/biz/TestRangerKMSStartUp.java
+++ b/kms/src/test/java/org/apache/ranger/kms/biz/TestRangerKMSStartUp.java
@@ -16,6 +16,7 @@
*/
package org.apache.ranger.kms.biz;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -24,6 +25,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestRangerKMSStartUp {
@Test
public void testInitRangerMasterKey() throws Throwable {
diff --git a/kms/src/test/java/org/apache/ranger/kms/dao/TestBaseDao.java b/kms/src/test/java/org/apache/ranger/kms/dao/TestBaseDao.java
index 093be75e5..2dac31e33 100644
--- a/kms/src/test/java/org/apache/ranger/kms/dao/TestBaseDao.java
+++ b/kms/src/test/java/org/apache/ranger/kms/dao/TestBaseDao.java
@@ -17,6 +17,7 @@
package org.apache.ranger.kms.dao;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
@@ -33,6 +34,7 @@
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
+@Disabled
public class TestBaseDao {
@Mock
private DaoManager daoManager;
diff --git a/kms/src/test/java/org/apache/ranger/kms/metrics/source/TestKMSMetricUtil.java b/kms/src/test/java/org/apache/ranger/kms/metrics/source/TestKMSMetricUtil.java
index 2016979ad..72a0df4b7 100644
--- a/kms/src/test/java/org/apache/ranger/kms/metrics/source/TestKMSMetricUtil.java
+++ b/kms/src/test/java/org/apache/ranger/kms/metrics/source/TestKMSMetricUtil.java
@@ -17,6 +17,7 @@
package org.apache.ranger.kms.metrics.source;
import org.apache.hadoop.crypto.key.kms.server.KMSMetricUtil;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
@@ -28,6 +29,7 @@
@ExtendWith(MockitoExtension.class)
@TestMethodOrder(MethodOrderer.MethodName.class)
+@Disabled
public class TestKMSMetricUtil {
@Test
public void testGetKMSMetricCalculation() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {