From 0666371bef6ad0068c69cd4362236046848dd924 Mon Sep 17 00:00:00 2001 From: Mohit Rajbhar Date: Tue, 12 May 2026 12:03:25 +0530 Subject: [PATCH] Refactor Junit5 for BaseTestAESCCM and BaseTestAESCCM2 tests This change consolidates the tests previously associated with BaseTestAESCCM into the parameterized TestAESCCM class, and the tests from BaseTestAESCCM2 into the parameterized TestAESCCM class. Signed-off-by: Mohit Rajbhar --- .../jceplus/junit/openjceplus/TestAESCCM.java | 24 ------------------ .../junit/openjceplus/TestAESCCM2.java | 24 ------------------ .../jceplus/junit/openjceplus/TestAll.java | 2 -- .../junit/openjceplusfips/TestAESCCM.java | 24 ------------------ .../junit/openjceplusfips/TestAESCCM2.java | 24 ------------------ .../junit/openjceplusfips/TestAll.java | 2 -- .../TestAESCCM.java} | 25 ++++++++++++++++--- .../TestAESCCM2.java} | 25 ++++++++++++++++--- 8 files changed, 44 insertions(+), 106 deletions(-) delete mode 100644 src/test/java/ibm/jceplus/junit/openjceplus/TestAESCCM.java delete mode 100644 src/test/java/ibm/jceplus/junit/openjceplus/TestAESCCM2.java delete mode 100644 src/test/java/ibm/jceplus/junit/openjceplusfips/TestAESCCM.java delete mode 100644 src/test/java/ibm/jceplus/junit/openjceplusfips/TestAESCCM2.java rename src/test/java/ibm/jceplus/junit/{base/BaseTestAESCCM.java => tests/TestAESCCM.java} (98%) rename src/test/java/ibm/jceplus/junit/{base/BaseTestAESCCM2.java => tests/TestAESCCM2.java} (98%) diff --git a/src/test/java/ibm/jceplus/junit/openjceplus/TestAESCCM.java b/src/test/java/ibm/jceplus/junit/openjceplus/TestAESCCM.java deleted file mode 100644 index b9e8b984d..000000000 --- a/src/test/java/ibm/jceplus/junit/openjceplus/TestAESCCM.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright IBM Corp. 2023, 2024 - * - * This code is free software; you can redistribute it and/or modify it - * under the terms provided by IBM in the LICENSE file that accompanied - * this code, including the "Classpath" Exception described therein. - */ - -package ibm.jceplus.junit.openjceplus; - -import ibm.jceplus.junit.base.BaseTestAESCCM; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.api.TestInstance.Lifecycle; - -@TestInstance(Lifecycle.PER_CLASS) -public class TestAESCCM extends BaseTestAESCCM { - - @BeforeAll - public void beforeAll() { - Utils.loadProviderTestSuite(); - setProviderName(Utils.TEST_SUITE_PROVIDER_NAME); - } -} diff --git a/src/test/java/ibm/jceplus/junit/openjceplus/TestAESCCM2.java b/src/test/java/ibm/jceplus/junit/openjceplus/TestAESCCM2.java deleted file mode 100644 index 5b2ea2d45..000000000 --- a/src/test/java/ibm/jceplus/junit/openjceplus/TestAESCCM2.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright IBM Corp. 2023, 2024 - * - * This code is free software; you can redistribute it and/or modify it - * under the terms provided by IBM in the LICENSE file that accompanied - * this code, including the "Classpath" Exception described therein. - */ - -package ibm.jceplus.junit.openjceplus; - -import ibm.jceplus.junit.base.BaseTestAESCCM2; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.api.TestInstance.Lifecycle; - -@TestInstance(Lifecycle.PER_CLASS) -public class TestAESCCM2 extends BaseTestAESCCM2 { - - @BeforeAll - public void beforeAll() { - Utils.loadProviderTestSuite(); - setProviderName(Utils.TEST_SUITE_PROVIDER_NAME); - } -} diff --git a/src/test/java/ibm/jceplus/junit/openjceplus/TestAll.java b/src/test/java/ibm/jceplus/junit/openjceplus/TestAll.java index a6aad09bb..83119b573 100644 --- a/src/test/java/ibm/jceplus/junit/openjceplus/TestAll.java +++ b/src/test/java/ibm/jceplus/junit/openjceplus/TestAll.java @@ -13,8 +13,6 @@ @SelectClasses({ TestAES256Interop.class, - TestAESCCM.class, - TestAESCCM2.class, TestAESCCMInteropBC.class, TestAESCCMParameters.class, TestAESGCM_ExtIV.class, diff --git a/src/test/java/ibm/jceplus/junit/openjceplusfips/TestAESCCM.java b/src/test/java/ibm/jceplus/junit/openjceplusfips/TestAESCCM.java deleted file mode 100644 index bdacddfb9..000000000 --- a/src/test/java/ibm/jceplus/junit/openjceplusfips/TestAESCCM.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright IBM Corp. 2023, 2024 - * - * This code is free software; you can redistribute it and/or modify it - * under the terms provided by IBM in the LICENSE file that accompanied - * this code, including the "Classpath" Exception described therein. - */ - -package ibm.jceplus.junit.openjceplusfips; - -import ibm.jceplus.junit.base.BaseTestAESCCM; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.api.TestInstance.Lifecycle; - -@TestInstance(Lifecycle.PER_CLASS) -public class TestAESCCM extends BaseTestAESCCM { - - @BeforeAll - public void beforeAll() { - Utils.loadProviderTestSuite(); - setProviderName(Utils.TEST_SUITE_PROVIDER_NAME); - } -} diff --git a/src/test/java/ibm/jceplus/junit/openjceplusfips/TestAESCCM2.java b/src/test/java/ibm/jceplus/junit/openjceplusfips/TestAESCCM2.java deleted file mode 100644 index fb69a48a1..000000000 --- a/src/test/java/ibm/jceplus/junit/openjceplusfips/TestAESCCM2.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright IBM Corp. 2023, 2024 - * - * This code is free software; you can redistribute it and/or modify it - * under the terms provided by IBM in the LICENSE file that accompanied - * this code, including the "Classpath" Exception described therein. - */ - -package ibm.jceplus.junit.openjceplusfips; - -import ibm.jceplus.junit.base.BaseTestAESCCM2; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.api.TestInstance.Lifecycle; - -@TestInstance(Lifecycle.PER_CLASS) -public class TestAESCCM2 extends BaseTestAESCCM2 { - - @BeforeAll - public void beforeAll() { - Utils.loadProviderTestSuite(); - setProviderName(Utils.TEST_SUITE_PROVIDER_NAME); - } -} diff --git a/src/test/java/ibm/jceplus/junit/openjceplusfips/TestAll.java b/src/test/java/ibm/jceplus/junit/openjceplusfips/TestAll.java index 173341255..9191d1492 100644 --- a/src/test/java/ibm/jceplus/junit/openjceplusfips/TestAll.java +++ b/src/test/java/ibm/jceplus/junit/openjceplusfips/TestAll.java @@ -13,8 +13,6 @@ @SelectClasses({ TestAES256Interop.class, - TestAESCCM.class, - TestAESCCM2.class, TestAESCCMInteropBC.class, TestAESCCMParameters.class, TestAESGCM_ExtIV.class, diff --git a/src/test/java/ibm/jceplus/junit/base/BaseTestAESCCM.java b/src/test/java/ibm/jceplus/junit/tests/TestAESCCM.java similarity index 98% rename from src/test/java/ibm/jceplus/junit/base/BaseTestAESCCM.java rename to src/test/java/ibm/jceplus/junit/tests/TestAESCCM.java index 2aef4b994..e57ea726a 100644 --- a/src/test/java/ibm/jceplus/junit/base/BaseTestAESCCM.java +++ b/src/test/java/ibm/jceplus/junit/tests/TestAESCCM.java @@ -1,12 +1,12 @@ /* - * Copyright IBM Corp. 2023, 2024 + * Copyright IBM Corp. 2023, 2026 * * This code is free software; you can redistribute it and/or modify it * under the terms provided by IBM in the LICENSE file that accompanied * this code, including the "Classpath" Exception described therein. */ -package ibm.jceplus.junit.base; +package ibm.jceplus.junit.tests; import ibm.security.internal.spec.CCMParameterSpec; import java.nio.ByteBuffer; @@ -19,11 +19,25 @@ import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.MethodSource; // This test case exercises the AES/CCM cipher using a CCMParameterSpec object -public class BaseTestAESCCM extends BaseTestJunit5 { +@Tag(Tags.OPENJCEPLUS_NAME) +@Tag(Tags.OPENJCEPLUS_FIPS_NAME) +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +@ParameterizedClass +@MethodSource("ibm.jceplus.junit.tests.TestArguments#getEnabledProviders") +public class TestAESCCM extends BaseTest { + + @Parameter(0) + TestProvider provider; public static int iterationLimit = 100; public static int iterationCounter = 0; @@ -52,6 +66,11 @@ public class BaseTestAESCCM extends BaseTestJunit5 { public static boolean printJunitTrace = Boolean.valueOf(System.getProperty("com.ibm.jceplus.junit.printJunitTrace")); + @BeforeEach + public void setUp() throws Exception { + setAndInsertProvider(provider); + } + @Test public void testAESCCM() throws Exception { while (iterationCounter < iterationLimit) { diff --git a/src/test/java/ibm/jceplus/junit/base/BaseTestAESCCM2.java b/src/test/java/ibm/jceplus/junit/tests/TestAESCCM2.java similarity index 98% rename from src/test/java/ibm/jceplus/junit/base/BaseTestAESCCM2.java rename to src/test/java/ibm/jceplus/junit/tests/TestAESCCM2.java index d1151c66f..7d9e360c4 100644 --- a/src/test/java/ibm/jceplus/junit/base/BaseTestAESCCM2.java +++ b/src/test/java/ibm/jceplus/junit/tests/TestAESCCM2.java @@ -1,12 +1,12 @@ /* - * Copyright IBM Corp. 2023, 2024 + * Copyright IBM Corp. 2023, 2026 * * This code is free software; you can redistribute it and/or modify it * under the terms provided by IBM in the LICENSE file that accompanied * this code, including the "Classpath" Exception described therein. */ -package ibm.jceplus.junit.base; +package ibm.jceplus.junit.tests; import ibm.security.internal.spec.CCMParameterSpec; import java.nio.ByteBuffer; @@ -20,11 +20,25 @@ import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.Parameter; +import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.provider.MethodSource; // This test case exercises the AES/CCM cipher using a CCMParameters object -public class BaseTestAESCCM2 extends BaseTestJunit5 { +@Tag(Tags.OPENJCEPLUS_NAME) +@Tag(Tags.OPENJCEPLUS_FIPS_NAME) +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +@ParameterizedClass +@MethodSource("ibm.jceplus.junit.tests.TestArguments#getEnabledProviders") +public class TestAESCCM2 extends BaseTest { + + @Parameter(0) + TestProvider provider; public int iterationLimit = 100; public int iterationCounter = 0; @@ -53,6 +67,11 @@ public class BaseTestAESCCM2 extends BaseTestJunit5 { public boolean printJunitTrace = Boolean.valueOf(System.getProperty("com.ibm.jceplus.junit.printJunitTrace")); + @BeforeEach + public void setUp() throws Exception { + setAndInsertProvider(provider); + } + @Test public void testAESCCM() throws Exception { while (iterationCounter < iterationLimit) {