Skip to content

Commit d5e2b75

Browse files
authored
HDDS-6738. Migrate tests with rules in hdds-server-framework to JUnit5 (#3415)
1 parent 1067d35 commit d5e2b75

File tree

13 files changed

+398
-494
lines changed

13 files changed

+398
-494
lines changed

hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/security/x509/certificate/authority/TestDefaultCAServer.java

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,13 @@
3636
import org.bouncycastle.cert.X509CertificateHolder;
3737
import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
3838
import org.bouncycastle.pkcs.PKCS10CertificationRequest;
39-
import org.junit.Assert;
40-
import org.junit.Before;
41-
import org.junit.Rule;
42-
import org.junit.Test;
43-
import org.junit.rules.TemporaryFolder;
39+
import org.junit.jupiter.api.BeforeEach;
40+
import org.junit.jupiter.api.Test;
41+
import org.junit.jupiter.api.io.TempDir;
4442

4543
import java.io.IOException;
4644
import java.math.BigInteger;
45+
import java.nio.file.Path;
4746
import java.nio.file.Paths;
4847
import java.security.KeyPair;
4948
import java.security.NoSuchAlgorithmException;
@@ -61,30 +60,29 @@
6160
import java.util.concurrent.Future;
6261
import java.util.function.Consumer;
6362

64-
import static junit.framework.TestCase.assertTrue;
6563
import static org.apache.hadoop.hdds.HddsConfigKeys.OZONE_METADATA_DIRS;
6664
import static org.apache.hadoop.hdds.protocol.proto.HddsProtos.NodeType.OM;
6765
import static org.apache.hadoop.hdds.protocol.proto.HddsProtos.NodeType.SCM;
6866
import static org.apache.hadoop.hdds.security.x509.certificate.authority.CertificateServer.CAType.INTERMEDIARY_CA;
6967
import static org.apache.hadoop.hdds.security.x509.certificate.authority.CertificateServer.CAType.SELF_SIGNED_CA;
7068
import static org.apache.hadoop.ozone.OzoneConsts.SCM_CA_CERT_STORAGE_DIR;
7169
import static org.apache.hadoop.ozone.OzoneConsts.SCM_CA_PATH;
72-
import static org.junit.Assert.assertEquals;
73-
import static org.junit.Assert.assertNotNull;
74-
import static org.junit.Assert.fail;
70+
import static org.junit.jupiter.api.Assertions.assertEquals;
71+
import static org.junit.jupiter.api.Assertions.assertNotNull;
72+
import static org.junit.jupiter.api.Assertions.assertThrows;
73+
import static org.junit.jupiter.api.Assertions.assertTrue;
74+
import static org.junit.jupiter.api.Assertions.fail;
7575

7676
/**
7777
* Tests the Default CA Server.
7878
*/
7979
public class TestDefaultCAServer {
8080
private static OzoneConfiguration conf = new OzoneConfiguration();
81-
@Rule
82-
public TemporaryFolder temporaryFolder = new TemporaryFolder();
8381
private MockCAStore caStore;
8482

85-
@Before
86-
public void init() throws IOException {
87-
conf.set(OZONE_METADATA_DIRS, temporaryFolder.newFolder().toString());
83+
@BeforeEach
84+
public void init(@TempDir Path tempDir) throws IOException {
85+
conf.set(OZONE_METADATA_DIRS, tempDir.toString());
8886
caStore = new MockCAStore();
8987
}
9088

@@ -331,16 +329,16 @@ public void testRequestCertificateWithInvalidSubjectFailure()
331329
});
332330
}
333331

334-
@Test(expected = IllegalStateException.class)
335-
public void testIntermediaryCAWithEmpty()
336-
throws Exception {
332+
@Test
333+
public void testIntermediaryCAWithEmpty() {
337334

338335
CertificateServer scmCA = new DefaultCAServer("testCA",
339336
RandomStringUtils.randomAlphabetic(4),
340337
RandomStringUtils.randomAlphabetic(4), caStore,
341338
new DefaultProfile(), Paths.get("scm").toString());
342339

343-
scmCA.init(new SecurityConfig(conf), INTERMEDIARY_CA);
340+
assertThrows(IllegalStateException.class,
341+
() -> scmCA.init(new SecurityConfig(conf), INTERMEDIARY_CA));
344342
}
345343

346344
@Test
@@ -362,7 +360,7 @@ clusterId, scmId, caStore, new DefaultProfile(),
362360
new SCMCertificateClient(new SecurityConfig(conf));
363361

364362
CertificateClient.InitResponse response = scmCertificateClient.init();
365-
Assert.assertEquals(CertificateClient.InitResponse.GETCERT, response);
363+
assertEquals(CertificateClient.InitResponse.GETCERT, response);
366364

367365
// Generate cert
368366
KeyPair keyPair =
@@ -378,12 +376,12 @@ clusterId, scmId, caStore, new DefaultProfile(),
378376

379377
Future<X509CertificateHolder> holder = rootCA.requestCertificate(csr,
380378
CertificateApprover.ApprovalType.TESTING_AUTOMATIC, SCM);
381-
Assert.assertTrue(holder.isDone());
379+
assertTrue(holder.isDone());
382380

383381
X509CertificateHolder certificateHolder = holder.get();
384382

385383

386-
Assert.assertNotNull(certificateHolder);
384+
assertNotNull(certificateHolder);
387385
LocalDate invalidAfterDate = certificateHolder.getNotAfter().toInstant()
388386
.atZone(ZoneId.systemDefault())
389387
.toLocalDate();

hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/security/x509/certificate/authority/TestDefaultProfile.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,38 +43,34 @@
4343
import org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder;
4444
import org.bouncycastle.pkcs.PKCSException;
4545
import org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequestBuilder;
46-
import org.junit.Before;
47-
import org.junit.Rule;
48-
import org.junit.Test;
49-
import org.junit.rules.TemporaryFolder;
46+
import org.junit.jupiter.api.BeforeEach;
47+
import org.junit.jupiter.api.Test;
48+
import org.junit.jupiter.api.io.TempDir;
5049

5150
import java.io.IOException;
51+
import java.nio.file.Path;
5252
import java.security.KeyPair;
5353
import java.security.NoSuchAlgorithmException;
5454
import java.security.NoSuchProviderException;
5555

5656
import static org.apache.hadoop.hdds.HddsConfigKeys.OZONE_METADATA_DIRS;
57-
import static org.junit.Assert.assertFalse;
58-
import static org.junit.Assert.assertTrue;
57+
import static org.junit.jupiter.api.Assertions.assertFalse;
58+
import static org.junit.jupiter.api.Assertions.assertTrue;
5959

6060
/**
6161
* Tests for the default PKI Profile.
6262
*/
6363
public class TestDefaultProfile {
64-
@Rule
65-
public TemporaryFolder temporaryFolder = new TemporaryFolder();
66-
6764
private OzoneConfiguration configuration;
6865
private SecurityConfig securityConfig;
6966
private DefaultProfile defaultProfile;
7067
private MockApprover testApprover;
7168
private KeyPair keyPair;
7269

73-
@Before
74-
public void setUp() throws Exception {
70+
@BeforeEach
71+
public void setUp(@TempDir Path tempDir) throws Exception {
7572
configuration = new OzoneConfiguration();
76-
configuration.set(OZONE_METADATA_DIRS,
77-
temporaryFolder.newFolder().toString());
73+
configuration.set(OZONE_METADATA_DIRS, tempDir.toString());
7874
securityConfig = new SecurityConfig(configuration);
7975
defaultProfile = new DefaultProfile();
8076
testApprover = new MockApprover(defaultProfile,

hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/security/x509/certificate/utils/TestCRLCodec.java

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121

2222
import static java.nio.charset.StandardCharsets.UTF_8;
2323
import static org.apache.hadoop.hdds.HddsConfigKeys.OZONE_METADATA_DIRS;
24-
import static org.junit.Assert.assertEquals;
25-
import static org.junit.Assert.assertNotNull;
26-
import static org.junit.Assert.assertTrue;
24+
import static org.junit.jupiter.api.Assertions.assertEquals;
25+
import static org.junit.jupiter.api.Assertions.assertNotNull;
26+
import static org.junit.jupiter.api.Assertions.assertTrue;
2727

2828
import java.io.BufferedReader;
2929
import java.io.ByteArrayInputStream;
@@ -33,6 +33,7 @@
3333
import java.io.InputStream;
3434
import java.io.InputStreamReader;
3535
import java.math.BigInteger;
36+
import java.nio.file.Path;
3637
import java.nio.file.Paths;
3738
import java.security.KeyPair;
3839
import java.security.NoSuchAlgorithmException;
@@ -60,12 +61,9 @@
6061
import org.bouncycastle.cert.X509v2CRLBuilder;
6162
import org.bouncycastle.operator.OperatorCreationException;
6263
import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
63-
import org.junit.Assert;
64-
import org.junit.Before;
65-
import org.junit.Rule;
66-
import org.junit.Test;
67-
import org.junit.rules.TemporaryFolder;
68-
64+
import org.junit.jupiter.api.BeforeEach;
65+
import org.junit.jupiter.api.Test;
66+
import org.junit.jupiter.api.io.TempDir;
6967

7068
/**
7169
* Tests for the CRLCodec.
@@ -79,8 +77,6 @@ public class TestCRLCodec {
7977
private KeyPair keyPair;
8078
private static final String TMP_CERT_FILE_NAME = "pemcertificate.crt";
8179

82-
@Rule
83-
public TemporaryFolder temporaryFolder = new TemporaryFolder();
8480
private File basePath;
8581
private static final String TMP_CRL_ENTRY =
8682
"-----BEGIN X509 CRL-----\n" +
@@ -95,12 +91,12 @@ public class TestCRLCodec {
9591
"tPiRCAUQLW9BACm17xc=\n" +
9692
"-----END X509 CRL-----\n";
9793

98-
@Before
99-
public void init() throws NoSuchProviderException,
94+
@BeforeEach
95+
public void init(@TempDir Path tempDir) throws NoSuchProviderException,
10096
NoSuchAlgorithmException, IOException,
10197
CertificateException, OperatorCreationException {
10298

103-
conf.set(OZONE_METADATA_DIRS, temporaryFolder.newFolder().toString());
99+
conf.set(OZONE_METADATA_DIRS, tempDir.toString());
104100
securityConfig = new SecurityConfig(conf);
105101
writeTempCert();
106102
x509CertificateHolder = readTempCert();
@@ -272,7 +268,7 @@ private void writeTempCert() throws NoSuchProviderException,
272268
securityConfig.getCertificateLocation("scm")));
273269

274270
if (!basePath.exists()) {
275-
Assert.assertTrue(basePath.mkdirs());
271+
assertTrue(basePath.mkdirs());
276272
}
277273
codec.writeCertificate(basePath.toPath(), TMP_CERT_FILE_NAME,
278274
pemString, false);

hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/security/x509/certificate/utils/TestCertificateCodec.java

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,12 @@
2626
import org.apache.hadoop.hdds.security.x509.certificates.utils.SelfSignedCertificate;
2727
import org.apache.hadoop.hdds.security.x509.keys.HDDSKeyGenerator;
2828
import org.bouncycastle.cert.X509CertificateHolder;
29-
import org.junit.Assert;
30-
import org.junit.Before;
31-
import org.junit.Rule;
32-
import org.junit.Test;
33-
import org.junit.rules.TemporaryFolder;
29+
import org.junit.jupiter.api.BeforeEach;
30+
import org.junit.jupiter.api.Test;
31+
import org.junit.jupiter.api.io.TempDir;
3432

35-
import java.io.File;
3633
import java.io.IOException;
34+
import java.nio.file.Path;
3735
import java.security.NoSuchAlgorithmException;
3836
import java.security.NoSuchProviderException;
3937
import java.security.cert.CertificateException;
@@ -42,9 +40,9 @@
4240
import java.time.temporal.ChronoUnit;
4341

4442
import static org.apache.hadoop.hdds.HddsConfigKeys.OZONE_METADATA_DIRS;
45-
import static org.junit.Assert.assertEquals;
46-
import static org.junit.Assert.assertNotNull;
47-
import static org.junit.Assert.assertTrue;
43+
import static org.junit.jupiter.api.Assertions.assertEquals;
44+
import static org.junit.jupiter.api.Assertions.assertNotNull;
45+
import static org.junit.jupiter.api.Assertions.assertTrue;
4846

4947
/**
5048
* Tests the Certificate codecs.
@@ -53,12 +51,10 @@ public class TestCertificateCodec {
5351
private static OzoneConfiguration conf = new OzoneConfiguration();
5452
private static final String COMPONENT = "test";
5553
private SecurityConfig securityConfig;
56-
@Rule
57-
public TemporaryFolder temporaryFolder = new TemporaryFolder();
5854

59-
@Before
60-
public void init() throws IOException {
61-
conf.set(OZONE_METADATA_DIRS, temporaryFolder.newFolder().toString());
55+
@BeforeEach
56+
public void init(@TempDir Path tempDir) {
57+
conf.set(OZONE_METADATA_DIRS, tempDir.toString());
6258
securityConfig = new SecurityConfig(conf);
6359
}
6460

@@ -118,9 +114,9 @@ public void testGetPEMEncodedString()
118114
* @throws CertificateException - on Error.
119115
*/
120116
@Test
121-
public void testwriteCertificate() throws NoSuchProviderException,
122-
NoSuchAlgorithmException, IOException, SCMSecurityException,
123-
CertificateException {
117+
public void testWriteCertificate(@TempDir Path basePath)
118+
throws NoSuchProviderException, NoSuchAlgorithmException,
119+
IOException, SCMSecurityException, CertificateException {
124120
HDDSKeyGenerator keyGenerator =
125121
new HDDSKeyGenerator(conf);
126122
X509CertificateHolder cert =
@@ -137,16 +133,13 @@ public void testwriteCertificate() throws NoSuchProviderException,
137133
.build();
138134
CertificateCodec codec = new CertificateCodec(securityConfig, COMPONENT);
139135
String pemString = codec.getPEMEncodedString(cert);
140-
File basePath = temporaryFolder.newFolder();
141-
if (!basePath.exists()) {
142-
Assert.assertTrue(basePath.mkdirs());
143-
}
144-
codec.writeCertificate(basePath.toPath(), "pemcertificate.crt",
136+
codec.writeCertificate(basePath, "pemcertificate.crt",
145137
pemString, false);
146138
X509CertificateHolder certHolder =
147-
codec.readCertificate(basePath.toPath(), "pemcertificate.crt");
139+
codec.readCertificate(basePath, "pemcertificate.crt");
148140
assertNotNull(certHolder);
149-
assertEquals(cert.getSerialNumber(), certHolder.getSerialNumber());
141+
assertEquals(cert.getSerialNumber(),
142+
certHolder.getSerialNumber());
150143
}
151144

152145
/**

0 commit comments

Comments
 (0)