From 616fc0686f7dfad3afc67af0a6a41cc60947114c Mon Sep 17 00:00:00 2001 From: TheSilentCoder <184309164+ThatSilentCoder@users.noreply.github.com> Date: Mon, 23 Dec 2024 10:12:31 -0500 Subject: [PATCH] issue_863: Removed testng from codebase. Has been officially replaced with spring junit. --- gradle/versions.toml | 2 - tools/tcg_rim_tool/build.gradle | 2 +- .../java/hirs/swid/TestSwidTagGateway.java | 374 +++++++++--------- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/gradle/versions.toml b/gradle/versions.toml index c5d37b37b..3c67dc0c9 100644 --- a/gradle/versions.toml +++ b/gradle/versions.toml @@ -22,7 +22,6 @@ protobufJavaVersion = "4.28.3" springBootVersion = "3.4.0" springCoreVersion = "6.2.1" springRetryVersion = "2.0.10" -testngVersion = "7.10.2" tomcatVersion = "10.1.33" #test dependencies versions @@ -60,7 +59,6 @@ spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-start spring-framework-webmvc = { module = "org.springframework:spring-webmvc", version.ref = "springCoreVersion" } spring-retry = { module = "org.springframework.retry:spring-retry", version.ref = "springRetryVersion" } tomcat-embed-jasper = { module = "org.apache.tomcat.embed:tomcat-embed-jasper", version.ref = "tomcatVersion" } -testng = { module = "org.testng:testng", version.ref = "testngVersion" } # test dependencies hsqldb = { module = "org.hsqldb:hsqldb", version.ref = "hsqldbVersion" } diff --git a/tools/tcg_rim_tool/build.gradle b/tools/tcg_rim_tool/build.gradle index 0820beee5..820c55eef 100644 --- a/tools/tcg_rim_tool/build.gradle +++ b/tools/tcg_rim_tool/build.gradle @@ -25,7 +25,7 @@ dependencies { compileOnly libs.lombok annotationProcessor libs.lombok - testImplementation libs.testng + testImplementation libs.spring.boot.starter.test testCompileOnly libs.lombok testAnnotationProcessor libs.lombok diff --git a/tools/tcg_rim_tool/src/test/java/hirs/swid/TestSwidTagGateway.java b/tools/tcg_rim_tool/src/test/java/hirs/swid/TestSwidTagGateway.java index 732859646..06254b4ce 100644 --- a/tools/tcg_rim_tool/src/test/java/hirs/swid/TestSwidTagGateway.java +++ b/tools/tcg_rim_tool/src/test/java/hirs/swid/TestSwidTagGateway.java @@ -1,208 +1,210 @@ package hirs.swid; import hirs.utils.rim.ReferenceManifestValidator; +import org.junit.jupiter.api.Test; +import org.springframework.test.context.event.annotation.AfterTestClass; +import org.springframework.test.context.event.annotation.BeforeTestClass; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; -import org.testng.Assert; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.AfterClass; -import org.testng.annotations.Test; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class TestSwidTagGateway { - private SwidTagGateway gateway; - private ReferenceManifestValidator validator; - private final String DEFAULT_OUTPUT = "generated_swidTag.swidtag"; - private final String BASE_USER_CERT = "generated_user_cert.swidtag"; - private final String BASE_USER_CERT_EMBED = "generated_user_cert_embed.swidtag"; - private final String BASE_DEFAULT_CERT = "generated_default_cert.swidtag"; - private final String BASE_RFC3339_TIMESTAMP = "generated_timestamp_rfc3339.swidtag"; - private final String BASE_RFC3852_TIMESTAMP = "generated_timestamp_rfc3852.swidtag"; - private final String ATTRIBUTES_FILE = TestSwidTagGateway.class.getClassLoader() - .getResource("rim_fields.json").getPath(); - private final String JKS_KEYSTORE_FILE = TestSwidTagGateway.class.getClassLoader() - .getResource("keystore.jks").getPath(); - private final String SIGNING_CERT_FILE = TestSwidTagGateway.class.getClassLoader() - .getResource("RimSignCert.pem").getPath(); - private final String PRIVATE_KEY_FILE = TestSwidTagGateway.class.getClassLoader() - .getResource("privateRimKey.pem").getPath(); - private final String CA_CHAIN_FILE = TestSwidTagGateway.class.getClassLoader() - .getResource("RimCertChain.pem").getPath(); - private final String SUPPORT_RIM_FILE = TestSwidTagGateway.class.getClassLoader() - .getResource("TpmLog.bin").getPath(); - private final String RFC3852_COUNTERSIGNATURE_FILE = TestSwidTagGateway.class.getClassLoader() - .getResource("counterSignature.file").getPath(); - private InputStream expectedFile; + private final String DEFAULT_OUTPUT = "generated_swidTag.swidtag"; + private final String BASE_USER_CERT = "generated_user_cert.swidtag"; + private final String BASE_USER_CERT_EMBED = "generated_user_cert_embed.swidtag"; + private final String BASE_DEFAULT_CERT = "generated_default_cert.swidtag"; + private final String BASE_RFC3339_TIMESTAMP = "generated_timestamp_rfc3339.swidtag"; + private final String BASE_RFC3852_TIMESTAMP = "generated_timestamp_rfc3852.swidtag"; + private final String ATTRIBUTES_FILE = TestSwidTagGateway.class.getClassLoader() + .getResource("rim_fields.json").getPath(); + private final String JKS_KEYSTORE_FILE = TestSwidTagGateway.class.getClassLoader() + .getResource("keystore.jks").getPath(); + private final String SIGNING_CERT_FILE = TestSwidTagGateway.class.getClassLoader() + .getResource("RimSignCert.pem").getPath(); + private final String PRIVATE_KEY_FILE = TestSwidTagGateway.class.getClassLoader() + .getResource("privateRimKey.pem").getPath(); + private final String CA_CHAIN_FILE = TestSwidTagGateway.class.getClassLoader() + .getResource("RimCertChain.pem").getPath(); + private final String SUPPORT_RIM_FILE = TestSwidTagGateway.class.getClassLoader() + .getResource("TpmLog.bin").getPath(); + private final String RFC3852_COUNTERSIGNATURE_FILE = TestSwidTagGateway.class.getClassLoader() + .getResource("counterSignature.file").getPath(); + private SwidTagGateway gateway; + private ReferenceManifestValidator validator; + private InputStream expectedFile; - @BeforeClass - public void setUp() throws Exception { - gateway = new SwidTagGateway(); - gateway.setRimEventLog(SUPPORT_RIM_FILE); - gateway.setAttributesFile(ATTRIBUTES_FILE); - validator = new ReferenceManifestValidator(); - validator.setRimEventLog(SUPPORT_RIM_FILE); - validator.setTrustStoreFile(CA_CHAIN_FILE); - } + @BeforeTestClass + public void setUp() throws Exception { + gateway = new SwidTagGateway(); + gateway.setRimEventLog(SUPPORT_RIM_FILE); + gateway.setAttributesFile(ATTRIBUTES_FILE); + validator = new ReferenceManifestValidator(); + validator.setRimEventLog(SUPPORT_RIM_FILE); + validator.setTrustStoreFile(CA_CHAIN_FILE); + } - @AfterClass - public void tearDown() throws Exception { - if (expectedFile != null) { - expectedFile.close(); - } - } + @AfterTestClass + public void tearDown() throws Exception { + if (expectedFile != null) { + expectedFile.close(); + } + } - /** - * This test corresponds to the arguments: - * -c base -l TpmLog.bin -k privateRimKey.pem -p RimSignCert.pem - * where RimSignCert.pem has the AIA extension. - */ - @Test - public void testCreateBaseUserCertNotEmbedded() { - gateway.setDefaultCredentials(false); - gateway.setPemCertificateFile(SIGNING_CERT_FILE); - gateway.setPemPrivateKeyFile(PRIVATE_KEY_FILE); - gateway.setEmbeddedCert(false); - gateway.generateSwidTag(DEFAULT_OUTPUT); - expectedFile = TestSwidTagGateway.class.getClassLoader() - .getResourceAsStream(BASE_USER_CERT); - Assert.assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT)); - validator.setRim(DEFAULT_OUTPUT); - Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE)); - } + /** + * This test corresponds to the arguments: + * -c base -l TpmLog.bin -k privateRimKey.pem -p RimSignCert.pem + * where RimSignCert.pem has the AIA extension. + */ + @Test + public void testCreateBaseUserCertNotEmbedded() { + gateway.setDefaultCredentials(false); + gateway.setPemCertificateFile(SIGNING_CERT_FILE); + gateway.setPemPrivateKeyFile(PRIVATE_KEY_FILE); + gateway.setEmbeddedCert(false); + gateway.generateSwidTag(DEFAULT_OUTPUT); + expectedFile = TestSwidTagGateway.class.getClassLoader() + .getResourceAsStream(BASE_USER_CERT); + assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT)); + validator.setRim(DEFAULT_OUTPUT); + assertTrue(validator.validateRim(SIGNING_CERT_FILE)); + } - /** - * This test creates the following base RIM: - * -c base -l TpmLog.bin -k privateRimKey.pem -p RimSignCert.pem -e - * And then validates it: - * -v [base RIM] -l TpmLog.bin -t RimCertChain.pem - */ - @Test - public void testCreateBaseUserCertEmbedded() { - gateway.setDefaultCredentials(false); - gateway.setPemCertificateFile(SIGNING_CERT_FILE); - gateway.setPemPrivateKeyFile(PRIVATE_KEY_FILE); - gateway.setEmbeddedCert(true); - gateway.generateSwidTag(DEFAULT_OUTPUT); - expectedFile = TestSwidTagGateway.class.getClassLoader() - .getResourceAsStream(BASE_USER_CERT_EMBED); - Assert.assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT)); - validator.setRim(DEFAULT_OUTPUT); - Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE)); - } + /** + * This test creates the following base RIM: + * -c base -l TpmLog.bin -k privateRimKey.pem -p RimSignCert.pem -e + * And then validates it: + * -v [base RIM] -l TpmLog.bin -t RimCertChain.pem + */ + @Test + public void testCreateBaseUserCertEmbedded() { + gateway.setDefaultCredentials(false); + gateway.setPemCertificateFile(SIGNING_CERT_FILE); + gateway.setPemPrivateKeyFile(PRIVATE_KEY_FILE); + gateway.setEmbeddedCert(true); + gateway.generateSwidTag(DEFAULT_OUTPUT); + expectedFile = TestSwidTagGateway.class.getClassLoader() + .getResourceAsStream(BASE_USER_CERT_EMBED); + assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT)); + validator.setRim(DEFAULT_OUTPUT); + assertTrue(validator.validateRim(SIGNING_CERT_FILE)); + } - /** - * This test corresponds to the arguments: - * -c base -l TpmLog.bin -d - */ - @Test - public void testCreateBaseDefaultCert() { - gateway.setDefaultCredentials(true); - gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE); - gateway.generateSwidTag(DEFAULT_OUTPUT); - expectedFile = TestSwidTagGateway.class.getClassLoader() - .getResourceAsStream(BASE_DEFAULT_CERT); - Assert.assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT)); - validator.setRim(DEFAULT_OUTPUT); - Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE)); - } + /** + * This test corresponds to the arguments: + * -c base -l TpmLog.bin -d + */ + @Test + public void testCreateBaseDefaultCert() { + gateway.setDefaultCredentials(true); + gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE); + gateway.generateSwidTag(DEFAULT_OUTPUT); + expectedFile = TestSwidTagGateway.class.getClassLoader() + .getResourceAsStream(BASE_DEFAULT_CERT); + assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT)); + validator.setRim(DEFAULT_OUTPUT); + assertTrue(validator.validateRim(SIGNING_CERT_FILE)); + } - /** - * This test corresponds to the arguments: - * -c base -l TpmLog.bin -d --timestamp rfc3339 2023-01-01T00:00:00Z - */ - @Test - public void testCreateTimestampRfc3339() { - gateway.setDefaultCredentials(true); - gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE); - gateway.setTimestampFormat("RFC3339"); - gateway.setTimestampArgument("2023-01-01T00:00:00Z"); - gateway.generateSwidTag(DEFAULT_OUTPUT); - expectedFile = TestSwidTagGateway.class.getClassLoader() - .getResourceAsStream(BASE_RFC3339_TIMESTAMP); - Assert.assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT)); - validator.setRim(DEFAULT_OUTPUT); - Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE)); - } + /** + * This test corresponds to the arguments: + * -c base -l TpmLog.bin -d --timestamp rfc3339 2023-01-01T00:00:00Z + */ + @Test + public void testCreateTimestampRfc3339() { + gateway.setDefaultCredentials(true); + gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE); + gateway.setTimestampFormat("RFC3339"); + gateway.setTimestampArgument("2023-01-01T00:00:00Z"); + gateway.generateSwidTag(DEFAULT_OUTPUT); + expectedFile = TestSwidTagGateway.class.getClassLoader() + .getResourceAsStream(BASE_RFC3339_TIMESTAMP); + assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT)); + validator.setRim(DEFAULT_OUTPUT); + assertTrue(validator.validateRim(SIGNING_CERT_FILE)); + } - /** - * This test corresponds to the arguments: - * -c base -l TpmLog.bin -d --timestamp rfc3852 countersignature.file - */ - @Test - public void testCreateTimestampRfc3852() { - gateway.setDefaultCredentials(true); - gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE); - gateway.setTimestampFormat("RFC3852"); - gateway.setTimestampArgument(RFC3852_COUNTERSIGNATURE_FILE); - gateway.generateSwidTag(DEFAULT_OUTPUT); - expectedFile = TestSwidTagGateway.class.getClassLoader() - .getResourceAsStream(BASE_RFC3852_TIMESTAMP); - Assert.assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT)); - validator.setRim(DEFAULT_OUTPUT); - Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE)); - } + /** + * This test corresponds to the arguments: + * -c base -l TpmLog.bin -d --timestamp rfc3852 countersignature.file + */ + @Test + public void testCreateTimestampRfc3852() { + gateway.setDefaultCredentials(true); + gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE); + gateway.setTimestampFormat("RFC3852"); + gateway.setTimestampArgument(RFC3852_COUNTERSIGNATURE_FILE); + gateway.generateSwidTag(DEFAULT_OUTPUT); + expectedFile = TestSwidTagGateway.class.getClassLoader() + .getResourceAsStream(BASE_RFC3852_TIMESTAMP); + assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT)); + validator.setRim(DEFAULT_OUTPUT); + assertTrue(validator.validateRim(SIGNING_CERT_FILE)); + } - /** - * This test corresponds to the arguments: - * -v - */ + /** + * This test corresponds to the arguments: + * -v + */ - public void testvalidateSwidtagFile() { - String filepath = TestSwidTagGateway.class.getClassLoader() - .getResource(BASE_USER_CERT).getPath(); - System.out.println("Validating file at " + filepath); - validator.setRim(DEFAULT_OUTPUT); - Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE)); - } + public void testvalidateSwidtagFile() { + String filepath = TestSwidTagGateway.class.getClassLoader() + .getResource(BASE_USER_CERT).getPath(); + System.out.println("Validating file at " + filepath); + validator.setRim(DEFAULT_OUTPUT); + assertTrue(validator.validateRim(SIGNING_CERT_FILE)); + } - /** - * This method compares two files by bytes to determine if they are the same or not. - * @param file to be compared to the expected value. - * @return true if they are equal, false if not. - */ - private boolean compareFileBytesToExpectedFile(String file) { - FileInputStream testFile = null; - try { - int data; - testFile = new FileInputStream(file); - while ((data = testFile.read()) != -1) { - int expected = expectedFile.read(); - if (data != expected) { - System.out.println("Expected: " + expected); - System.out.println("Got: " + data); - return false; - } - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - return false; - } catch (IOException e) { - e.printStackTrace(); - return false; - } catch (NullPointerException e) { - e.printStackTrace(); - return false; - } finally { - if (testFile != null) { - try { - testFile.close(); - } catch (IOException e) { - e.printStackTrace(); - return false; - } - } - if (expectedFile != null) { - try { - expectedFile.close(); - } catch (IOException e) { - e.printStackTrace(); - return false; - } - } - } - return true; - } + /** + * This method compares two files by bytes to determine if they are the same or not. + * + * @param file to be compared to the expected value. + * @return true if they are equal, false if not. + */ + private boolean compareFileBytesToExpectedFile(String file) { + FileInputStream testFile = null; + try { + int data; + testFile = new FileInputStream(file); + while ((data = testFile.read()) != -1) { + int expected = expectedFile.read(); + if (data != expected) { + System.out.println("Expected: " + expected); + System.out.println("Got: " + data); + return false; + } + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + return false; + } catch (IOException e) { + e.printStackTrace(); + return false; + } catch (NullPointerException e) { + e.printStackTrace(); + return false; + } finally { + if (testFile != null) { + try { + testFile.close(); + } catch (IOException e) { + e.printStackTrace(); + return false; + } + } + if (expectedFile != null) { + try { + expectedFile.close(); + } catch (IOException e) { + e.printStackTrace(); + return false; + } + } + } + return true; + } }