Skip to content

Commit 33f3d3d

Browse files
committed
Fix failing unit tests
1 parent 24771d4 commit 33f3d3d

4 files changed

Lines changed: 93 additions & 0 deletions

File tree

server/src/test/java/org/apache/cloudstack/kms/KMSManagerImplKeyCreationTest.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import org.apache.cloudstack.kms.dao.HSMProfileDao;
2525
import org.apache.cloudstack.kms.dao.KMSKekVersionDao;
2626
import org.apache.cloudstack.kms.dao.KMSKeyDao;
27+
import org.junit.After;
28+
import org.junit.Before;
2729
import org.junit.Test;
2830
import org.junit.runner.RunWith;
2931
import org.mockito.ArgumentCaptor;
@@ -33,6 +35,10 @@
3335
import org.mockito.Mockito;
3436
import org.mockito.Spy;
3537
import org.mockito.junit.MockitoJUnitRunner;
38+
import org.springframework.test.util.ReflectionTestUtils;
39+
40+
import java.util.concurrent.ExecutorService;
41+
import java.util.concurrent.Executors;
3642

3743
import static org.junit.Assert.assertEquals;
3844
import static org.junit.Assert.assertNotNull;
@@ -68,6 +74,28 @@ public class KMSManagerImplKeyCreationTest {
6874
@Mock
6975
private KMSProvider kmsProvider;
7076

77+
private ExecutorService executor;
78+
79+
@Before
80+
public void setUp() {
81+
executor = Executors.newSingleThreadExecutor(r -> {
82+
Thread t = new Thread(r, "kms-test");
83+
t.setDaemon(true);
84+
return t;
85+
});
86+
ReflectionTestUtils.setField(kmsManager, "kmsOperationExecutor", executor);
87+
doReturn(5).when(kmsManager).getOperationTimeoutSec();
88+
doReturn(0).when(kmsManager).getRetryCount();
89+
doReturn(0).when(kmsManager).getRetryDelayMs();
90+
}
91+
92+
@After
93+
public void tearDown() {
94+
if (executor != null) {
95+
executor.shutdownNow();
96+
}
97+
}
98+
7199
/**
72100
* Test: createUserKMSKey uses explicit HSM profile when provided
73101
*/

server/src/test/java/org/apache/cloudstack/kms/KMSManagerImplKeyLifecycleTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.apache.cloudstack.kms.dao.KMSKekVersionDao;
2929
import org.apache.cloudstack.kms.dao.KMSKeyDao;
3030
import org.apache.cloudstack.kms.dao.KMSWrappedKeyDao;
31+
import org.junit.After;
3132
import org.junit.Before;
3233
import org.junit.Test;
3334
import org.junit.runner.RunWith;
@@ -37,8 +38,11 @@
3738
import org.mockito.MockedStatic;
3839
import org.mockito.Spy;
3940
import org.mockito.junit.MockitoJUnitRunner;
41+
import org.springframework.test.util.ReflectionTestUtils;
4042

4143
import java.util.List;
44+
import java.util.concurrent.ExecutorService;
45+
import java.util.concurrent.Executors;
4246

4347
import static org.junit.Assert.assertFalse;
4448
import static org.junit.Assert.assertNotNull;
@@ -82,13 +86,28 @@ public class KMSManagerImplKeyLifecycleTest {
8286
@Mock
8387
private KMSProvider kmsProvider;
8488

89+
private ExecutorService executor;
90+
8591
@Before
8692
public void setUp() {
93+
executor = Executors.newSingleThreadExecutor(r -> {
94+
Thread t = new Thread(r, "kms-test");
95+
t.setDaemon(true);
96+
return t;
97+
});
98+
ReflectionTestUtils.setField(kmsManager, "kmsOperationExecutor", executor);
8799
doReturn(5).when(kmsManager).getOperationTimeoutSec();
88100
doReturn(0).when(kmsManager).getRetryCount();
89101
doReturn(0).when(kmsManager).getRetryDelayMs();
90102
}
91103

104+
@After
105+
public void tearDown() {
106+
if (executor != null) {
107+
executor.shutdownNow();
108+
}
109+
}
110+
92111
@Test(expected = KMSException.class)
93112
public void testUnwrapKey_ThrowsWhenWrappedKeyNotFound() throws KMSException {
94113
when(kmsWrappedKeyDao.findById(1L)).thenReturn(null);

server/src/test/java/org/apache/cloudstack/kms/KMSManagerImplKeyRotationTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.apache.cloudstack.kms.dao.KMSKeyDao;
2727
import org.apache.cloudstack.kms.dao.KMSWrappedKeyDao;
2828
import com.cloud.event.ActionEventUtils;
29+
import org.junit.After;
2930
import org.junit.Before;
3031
import org.junit.Test;
3132
import org.junit.runner.RunWith;
@@ -36,8 +37,11 @@
3637
import org.mockito.Mockito;
3738
import org.mockito.Spy;
3839
import org.mockito.junit.MockitoJUnitRunner;
40+
import org.springframework.test.util.ReflectionTestUtils;
3941

4042
import java.util.List;
43+
import java.util.concurrent.ExecutorService;
44+
import java.util.concurrent.Executors;
4145

4246
import static org.junit.Assert.assertEquals;
4347
import static org.junit.Assert.assertNotNull;
@@ -80,8 +84,26 @@ public class KMSManagerImplKeyRotationTest {
8084
private final Long testZoneId = 1L;
8185
private final String testProviderName = "pkcs11";
8286

87+
private ExecutorService executor;
88+
8389
@Before
8490
public void setUp() {
91+
executor = Executors.newSingleThreadExecutor(r -> {
92+
Thread t = new Thread(r, "kms-test");
93+
t.setDaemon(true);
94+
return t;
95+
});
96+
ReflectionTestUtils.setField(kmsManager, "kmsOperationExecutor", executor);
97+
doReturn(5).when(kmsManager).getOperationTimeoutSec();
98+
doReturn(0).when(kmsManager).getRetryCount();
99+
doReturn(0).when(kmsManager).getRetryDelayMs();
100+
}
101+
102+
@After
103+
public void tearDown() {
104+
if (executor != null) {
105+
executor.shutdownNow();
106+
}
85107
}
86108

87109
/**

server/src/test/java/org/apache/cloudstack/kms/KMSManagerImplRetryTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,17 @@
1818
package org.apache.cloudstack.kms;
1919

2020
import org.apache.cloudstack.framework.kms.KMSException;
21+
import org.junit.After;
22+
import org.junit.Before;
2123
import org.junit.Test;
2224
import org.junit.runner.RunWith;
2325
import org.mockito.InjectMocks;
2426
import org.mockito.Spy;
2527
import org.mockito.junit.MockitoJUnitRunner;
28+
import org.springframework.test.util.ReflectionTestUtils;
2629

30+
import java.util.concurrent.ExecutorService;
31+
import java.util.concurrent.Executors;
2732
import java.util.concurrent.atomic.AtomicInteger;
2833

2934
import static org.junit.Assert.assertEquals;
@@ -46,6 +51,25 @@ public class KMSManagerImplRetryTest {
4651
@InjectMocks
4752
private KMSManagerImpl kmsManager;
4853

54+
private ExecutorService executor;
55+
56+
@Before
57+
public void setUp() {
58+
executor = Executors.newSingleThreadExecutor(r -> {
59+
Thread t = new Thread(r, "kms-test");
60+
t.setDaemon(true);
61+
return t;
62+
});
63+
ReflectionTestUtils.setField(kmsManager, "kmsOperationExecutor", executor);
64+
}
65+
66+
@After
67+
public void tearDown() {
68+
if (executor != null) {
69+
executor.shutdownNow();
70+
}
71+
}
72+
4973
/**
5074
* Configure the spy to use a 1-second timeout, the given retry count, and no delay.
5175
*/

0 commit comments

Comments
 (0)