mirror of
https://github.com/nsacyber/HIRS.git
synced 2025-02-05 18:49:53 +00:00
issue_863: Removed testng from codebase. Has been officially replaced with spring junit.
Some checks failed
Dotnet Provisioner Unit Tests / Restore and Run Unit Tests (ubuntu-20.04) (push) Has been cancelled
Dotnet Provisioner Unit Tests / Restore and Run Unit Tests (windows-2022) (push) Has been cancelled
HIRS Build and Unit Test / ACA_Provisioner_Unit_Tests (push) Has been cancelled
HIRS System Tests / DockerTests (push) Has been cancelled
Dotnet Provisioner Unit Tests / Evaluate Tests (push) Has been cancelled
Some checks failed
Dotnet Provisioner Unit Tests / Restore and Run Unit Tests (ubuntu-20.04) (push) Has been cancelled
Dotnet Provisioner Unit Tests / Restore and Run Unit Tests (windows-2022) (push) Has been cancelled
HIRS Build and Unit Test / ACA_Provisioner_Unit_Tests (push) Has been cancelled
HIRS System Tests / DockerTests (push) Has been cancelled
Dotnet Provisioner Unit Tests / Evaluate Tests (push) Has been cancelled
This commit is contained in:
parent
e49f7fd5ce
commit
616fc0686f
@ -22,7 +22,6 @@ protobufJavaVersion = "4.28.3"
|
|||||||
springBootVersion = "3.4.0"
|
springBootVersion = "3.4.0"
|
||||||
springCoreVersion = "6.2.1"
|
springCoreVersion = "6.2.1"
|
||||||
springRetryVersion = "2.0.10"
|
springRetryVersion = "2.0.10"
|
||||||
testngVersion = "7.10.2"
|
|
||||||
tomcatVersion = "10.1.33"
|
tomcatVersion = "10.1.33"
|
||||||
|
|
||||||
#test dependencies versions
|
#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-framework-webmvc = { module = "org.springframework:spring-webmvc", version.ref = "springCoreVersion" }
|
||||||
spring-retry = { module = "org.springframework.retry:spring-retry", version.ref = "springRetryVersion" }
|
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" }
|
tomcat-embed-jasper = { module = "org.apache.tomcat.embed:tomcat-embed-jasper", version.ref = "tomcatVersion" }
|
||||||
testng = { module = "org.testng:testng", version.ref = "testngVersion" }
|
|
||||||
|
|
||||||
# test dependencies
|
# test dependencies
|
||||||
hsqldb = { module = "org.hsqldb:hsqldb", version.ref = "hsqldbVersion" }
|
hsqldb = { module = "org.hsqldb:hsqldb", version.ref = "hsqldbVersion" }
|
||||||
|
@ -25,7 +25,7 @@ dependencies {
|
|||||||
compileOnly libs.lombok
|
compileOnly libs.lombok
|
||||||
annotationProcessor libs.lombok
|
annotationProcessor libs.lombok
|
||||||
|
|
||||||
testImplementation libs.testng
|
testImplementation libs.spring.boot.starter.test
|
||||||
|
|
||||||
testCompileOnly libs.lombok
|
testCompileOnly libs.lombok
|
||||||
testAnnotationProcessor libs.lombok
|
testAnnotationProcessor libs.lombok
|
||||||
|
@ -1,208 +1,210 @@
|
|||||||
package hirs.swid;
|
package hirs.swid;
|
||||||
|
|
||||||
import hirs.utils.rim.ReferenceManifestValidator;
|
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.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|
||||||
import org.testng.Assert;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
import org.testng.annotations.BeforeClass;
|
|
||||||
import org.testng.annotations.AfterClass;
|
|
||||||
import org.testng.annotations.Test;
|
|
||||||
|
|
||||||
public class TestSwidTagGateway {
|
public class TestSwidTagGateway {
|
||||||
private SwidTagGateway gateway;
|
private final String DEFAULT_OUTPUT = "generated_swidTag.swidtag";
|
||||||
private ReferenceManifestValidator validator;
|
private final String BASE_USER_CERT = "generated_user_cert.swidtag";
|
||||||
private final String DEFAULT_OUTPUT = "generated_swidTag.swidtag";
|
private final String BASE_USER_CERT_EMBED = "generated_user_cert_embed.swidtag";
|
||||||
private final String BASE_USER_CERT = "generated_user_cert.swidtag";
|
private final String BASE_DEFAULT_CERT = "generated_default_cert.swidtag";
|
||||||
private final String BASE_USER_CERT_EMBED = "generated_user_cert_embed.swidtag";
|
private final String BASE_RFC3339_TIMESTAMP = "generated_timestamp_rfc3339.swidtag";
|
||||||
private final String BASE_DEFAULT_CERT = "generated_default_cert.swidtag";
|
private final String BASE_RFC3852_TIMESTAMP = "generated_timestamp_rfc3852.swidtag";
|
||||||
private final String BASE_RFC3339_TIMESTAMP = "generated_timestamp_rfc3339.swidtag";
|
private final String ATTRIBUTES_FILE = TestSwidTagGateway.class.getClassLoader()
|
||||||
private final String BASE_RFC3852_TIMESTAMP = "generated_timestamp_rfc3852.swidtag";
|
.getResource("rim_fields.json").getPath();
|
||||||
private final String ATTRIBUTES_FILE = TestSwidTagGateway.class.getClassLoader()
|
private final String JKS_KEYSTORE_FILE = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResource("rim_fields.json").getPath();
|
.getResource("keystore.jks").getPath();
|
||||||
private final String JKS_KEYSTORE_FILE = TestSwidTagGateway.class.getClassLoader()
|
private final String SIGNING_CERT_FILE = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResource("keystore.jks").getPath();
|
.getResource("RimSignCert.pem").getPath();
|
||||||
private final String SIGNING_CERT_FILE = TestSwidTagGateway.class.getClassLoader()
|
private final String PRIVATE_KEY_FILE = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResource("RimSignCert.pem").getPath();
|
.getResource("privateRimKey.pem").getPath();
|
||||||
private final String PRIVATE_KEY_FILE = TestSwidTagGateway.class.getClassLoader()
|
private final String CA_CHAIN_FILE = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResource("privateRimKey.pem").getPath();
|
.getResource("RimCertChain.pem").getPath();
|
||||||
private final String CA_CHAIN_FILE = TestSwidTagGateway.class.getClassLoader()
|
private final String SUPPORT_RIM_FILE = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResource("RimCertChain.pem").getPath();
|
.getResource("TpmLog.bin").getPath();
|
||||||
private final String SUPPORT_RIM_FILE = TestSwidTagGateway.class.getClassLoader()
|
private final String RFC3852_COUNTERSIGNATURE_FILE = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResource("TpmLog.bin").getPath();
|
.getResource("counterSignature.file").getPath();
|
||||||
private final String RFC3852_COUNTERSIGNATURE_FILE = TestSwidTagGateway.class.getClassLoader()
|
private SwidTagGateway gateway;
|
||||||
.getResource("counterSignature.file").getPath();
|
private ReferenceManifestValidator validator;
|
||||||
private InputStream expectedFile;
|
private InputStream expectedFile;
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeTestClass
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
gateway = new SwidTagGateway();
|
gateway = new SwidTagGateway();
|
||||||
gateway.setRimEventLog(SUPPORT_RIM_FILE);
|
gateway.setRimEventLog(SUPPORT_RIM_FILE);
|
||||||
gateway.setAttributesFile(ATTRIBUTES_FILE);
|
gateway.setAttributesFile(ATTRIBUTES_FILE);
|
||||||
validator = new ReferenceManifestValidator();
|
validator = new ReferenceManifestValidator();
|
||||||
validator.setRimEventLog(SUPPORT_RIM_FILE);
|
validator.setRimEventLog(SUPPORT_RIM_FILE);
|
||||||
validator.setTrustStoreFile(CA_CHAIN_FILE);
|
validator.setTrustStoreFile(CA_CHAIN_FILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterClass
|
@AfterTestClass
|
||||||
public void tearDown() throws Exception {
|
public void tearDown() throws Exception {
|
||||||
if (expectedFile != null) {
|
if (expectedFile != null) {
|
||||||
expectedFile.close();
|
expectedFile.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This test corresponds to the arguments:
|
* This test corresponds to the arguments:
|
||||||
* -c base -l TpmLog.bin -k privateRimKey.pem -p RimSignCert.pem
|
* -c base -l TpmLog.bin -k privateRimKey.pem -p RimSignCert.pem
|
||||||
* where RimSignCert.pem has the AIA extension.
|
* where RimSignCert.pem has the AIA extension.
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testCreateBaseUserCertNotEmbedded() {
|
public void testCreateBaseUserCertNotEmbedded() {
|
||||||
gateway.setDefaultCredentials(false);
|
gateway.setDefaultCredentials(false);
|
||||||
gateway.setPemCertificateFile(SIGNING_CERT_FILE);
|
gateway.setPemCertificateFile(SIGNING_CERT_FILE);
|
||||||
gateway.setPemPrivateKeyFile(PRIVATE_KEY_FILE);
|
gateway.setPemPrivateKeyFile(PRIVATE_KEY_FILE);
|
||||||
gateway.setEmbeddedCert(false);
|
gateway.setEmbeddedCert(false);
|
||||||
gateway.generateSwidTag(DEFAULT_OUTPUT);
|
gateway.generateSwidTag(DEFAULT_OUTPUT);
|
||||||
expectedFile = TestSwidTagGateway.class.getClassLoader()
|
expectedFile = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResourceAsStream(BASE_USER_CERT);
|
.getResourceAsStream(BASE_USER_CERT);
|
||||||
Assert.assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT));
|
assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT));
|
||||||
validator.setRim(DEFAULT_OUTPUT);
|
validator.setRim(DEFAULT_OUTPUT);
|
||||||
Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This test creates the following base RIM:
|
* This test creates the following base RIM:
|
||||||
* -c base -l TpmLog.bin -k privateRimKey.pem -p RimSignCert.pem -e
|
* -c base -l TpmLog.bin -k privateRimKey.pem -p RimSignCert.pem -e
|
||||||
* And then validates it:
|
* And then validates it:
|
||||||
* -v [base RIM] -l TpmLog.bin -t RimCertChain.pem
|
* -v [base RIM] -l TpmLog.bin -t RimCertChain.pem
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testCreateBaseUserCertEmbedded() {
|
public void testCreateBaseUserCertEmbedded() {
|
||||||
gateway.setDefaultCredentials(false);
|
gateway.setDefaultCredentials(false);
|
||||||
gateway.setPemCertificateFile(SIGNING_CERT_FILE);
|
gateway.setPemCertificateFile(SIGNING_CERT_FILE);
|
||||||
gateway.setPemPrivateKeyFile(PRIVATE_KEY_FILE);
|
gateway.setPemPrivateKeyFile(PRIVATE_KEY_FILE);
|
||||||
gateway.setEmbeddedCert(true);
|
gateway.setEmbeddedCert(true);
|
||||||
gateway.generateSwidTag(DEFAULT_OUTPUT);
|
gateway.generateSwidTag(DEFAULT_OUTPUT);
|
||||||
expectedFile = TestSwidTagGateway.class.getClassLoader()
|
expectedFile = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResourceAsStream(BASE_USER_CERT_EMBED);
|
.getResourceAsStream(BASE_USER_CERT_EMBED);
|
||||||
Assert.assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT));
|
assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT));
|
||||||
validator.setRim(DEFAULT_OUTPUT);
|
validator.setRim(DEFAULT_OUTPUT);
|
||||||
Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This test corresponds to the arguments:
|
* This test corresponds to the arguments:
|
||||||
* -c base -l TpmLog.bin -d
|
* -c base -l TpmLog.bin -d
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testCreateBaseDefaultCert() {
|
public void testCreateBaseDefaultCert() {
|
||||||
gateway.setDefaultCredentials(true);
|
gateway.setDefaultCredentials(true);
|
||||||
gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE);
|
gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE);
|
||||||
gateway.generateSwidTag(DEFAULT_OUTPUT);
|
gateway.generateSwidTag(DEFAULT_OUTPUT);
|
||||||
expectedFile = TestSwidTagGateway.class.getClassLoader()
|
expectedFile = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResourceAsStream(BASE_DEFAULT_CERT);
|
.getResourceAsStream(BASE_DEFAULT_CERT);
|
||||||
Assert.assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT));
|
assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT));
|
||||||
validator.setRim(DEFAULT_OUTPUT);
|
validator.setRim(DEFAULT_OUTPUT);
|
||||||
Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This test corresponds to the arguments:
|
* This test corresponds to the arguments:
|
||||||
* -c base -l TpmLog.bin -d --timestamp rfc3339 2023-01-01T00:00:00Z
|
* -c base -l TpmLog.bin -d --timestamp rfc3339 2023-01-01T00:00:00Z
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testCreateTimestampRfc3339() {
|
public void testCreateTimestampRfc3339() {
|
||||||
gateway.setDefaultCredentials(true);
|
gateway.setDefaultCredentials(true);
|
||||||
gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE);
|
gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE);
|
||||||
gateway.setTimestampFormat("RFC3339");
|
gateway.setTimestampFormat("RFC3339");
|
||||||
gateway.setTimestampArgument("2023-01-01T00:00:00Z");
|
gateway.setTimestampArgument("2023-01-01T00:00:00Z");
|
||||||
gateway.generateSwidTag(DEFAULT_OUTPUT);
|
gateway.generateSwidTag(DEFAULT_OUTPUT);
|
||||||
expectedFile = TestSwidTagGateway.class.getClassLoader()
|
expectedFile = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResourceAsStream(BASE_RFC3339_TIMESTAMP);
|
.getResourceAsStream(BASE_RFC3339_TIMESTAMP);
|
||||||
Assert.assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT));
|
assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT));
|
||||||
validator.setRim(DEFAULT_OUTPUT);
|
validator.setRim(DEFAULT_OUTPUT);
|
||||||
Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This test corresponds to the arguments:
|
* This test corresponds to the arguments:
|
||||||
* -c base -l TpmLog.bin -d --timestamp rfc3852 countersignature.file
|
* -c base -l TpmLog.bin -d --timestamp rfc3852 countersignature.file
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testCreateTimestampRfc3852() {
|
public void testCreateTimestampRfc3852() {
|
||||||
gateway.setDefaultCredentials(true);
|
gateway.setDefaultCredentials(true);
|
||||||
gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE);
|
gateway.setJksTruststoreFile(JKS_KEYSTORE_FILE);
|
||||||
gateway.setTimestampFormat("RFC3852");
|
gateway.setTimestampFormat("RFC3852");
|
||||||
gateway.setTimestampArgument(RFC3852_COUNTERSIGNATURE_FILE);
|
gateway.setTimestampArgument(RFC3852_COUNTERSIGNATURE_FILE);
|
||||||
gateway.generateSwidTag(DEFAULT_OUTPUT);
|
gateway.generateSwidTag(DEFAULT_OUTPUT);
|
||||||
expectedFile = TestSwidTagGateway.class.getClassLoader()
|
expectedFile = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResourceAsStream(BASE_RFC3852_TIMESTAMP);
|
.getResourceAsStream(BASE_RFC3852_TIMESTAMP);
|
||||||
Assert.assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT));
|
assertTrue(compareFileBytesToExpectedFile(DEFAULT_OUTPUT));
|
||||||
validator.setRim(DEFAULT_OUTPUT);
|
validator.setRim(DEFAULT_OUTPUT);
|
||||||
Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This test corresponds to the arguments:
|
* This test corresponds to the arguments:
|
||||||
* -v <path>
|
* -v <path>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public void testvalidateSwidtagFile() {
|
public void testvalidateSwidtagFile() {
|
||||||
String filepath = TestSwidTagGateway.class.getClassLoader()
|
String filepath = TestSwidTagGateway.class.getClassLoader()
|
||||||
.getResource(BASE_USER_CERT).getPath();
|
.getResource(BASE_USER_CERT).getPath();
|
||||||
System.out.println("Validating file at " + filepath);
|
System.out.println("Validating file at " + filepath);
|
||||||
validator.setRim(DEFAULT_OUTPUT);
|
validator.setRim(DEFAULT_OUTPUT);
|
||||||
Assert.assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
assertTrue(validator.validateRim(SIGNING_CERT_FILE));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method compares two files by bytes to determine if they are the same or not.
|
* 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.
|
* @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;
|
private boolean compareFileBytesToExpectedFile(String file) {
|
||||||
try {
|
FileInputStream testFile = null;
|
||||||
int data;
|
try {
|
||||||
testFile = new FileInputStream(file);
|
int data;
|
||||||
while ((data = testFile.read()) != -1) {
|
testFile = new FileInputStream(file);
|
||||||
int expected = expectedFile.read();
|
while ((data = testFile.read()) != -1) {
|
||||||
if (data != expected) {
|
int expected = expectedFile.read();
|
||||||
System.out.println("Expected: " + expected);
|
if (data != expected) {
|
||||||
System.out.println("Got: " + data);
|
System.out.println("Expected: " + expected);
|
||||||
return false;
|
System.out.println("Got: " + data);
|
||||||
}
|
return false;
|
||||||
}
|
}
|
||||||
} catch (FileNotFoundException e) {
|
}
|
||||||
e.printStackTrace();
|
} catch (FileNotFoundException e) {
|
||||||
return false;
|
e.printStackTrace();
|
||||||
} catch (IOException e) {
|
return false;
|
||||||
e.printStackTrace();
|
} catch (IOException e) {
|
||||||
return false;
|
e.printStackTrace();
|
||||||
} catch (NullPointerException e) {
|
return false;
|
||||||
e.printStackTrace();
|
} catch (NullPointerException e) {
|
||||||
return false;
|
e.printStackTrace();
|
||||||
} finally {
|
return false;
|
||||||
if (testFile != null) {
|
} finally {
|
||||||
try {
|
if (testFile != null) {
|
||||||
testFile.close();
|
try {
|
||||||
} catch (IOException e) {
|
testFile.close();
|
||||||
e.printStackTrace();
|
} catch (IOException e) {
|
||||||
return false;
|
e.printStackTrace();
|
||||||
}
|
return false;
|
||||||
}
|
}
|
||||||
if (expectedFile != null) {
|
}
|
||||||
try {
|
if (expectedFile != null) {
|
||||||
expectedFile.close();
|
try {
|
||||||
} catch (IOException e) {
|
expectedFile.close();
|
||||||
e.printStackTrace();
|
} catch (IOException e) {
|
||||||
return false;
|
e.printStackTrace();
|
||||||
}
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
}
|
||||||
}
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user