mirror of
https://github.com/nsacyber/HIRS.git
synced 2025-03-22 20:15:16 +00:00
issue_896: Fixed issues in one of the test classes, can now test other aspects of the SupplyChainCredentialValidator class. Will add more tests as more issues get fixed.
This commit is contained in:
parent
151c390202
commit
3913a224d5
2
.github/workflows/create_aca_images.yml
vendored
2
.github/workflows/create_aca_images.yml
vendored
@ -1,3 +1,5 @@
|
|||||||
|
# Updated: 02/11/2025
|
||||||
|
|
||||||
name: Create ACA Docker Image
|
name: Create ACA Docker Image
|
||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# Updated: 02/11/2025
|
||||||
|
|
||||||
name: Dotnet Provisioner Unit Tests
|
name: Dotnet Provisioner Unit Tests
|
||||||
|
|
||||||
on: push
|
on: push
|
||||||
|
2
.github/workflows/hirs_package_linux.yml
vendored
2
.github/workflows/hirs_package_linux.yml
vendored
@ -1,3 +1,5 @@
|
|||||||
|
# Updated: 02/11/2025
|
||||||
|
|
||||||
name: HIRS build and packages for Linux
|
name: HIRS build and packages for Linux
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
4
.github/workflows/hirs_unit_tests.yml
vendored
4
.github/workflows/hirs_unit_tests.yml
vendored
@ -1,10 +1,10 @@
|
|||||||
# This workflow will build HIRS, run unit tests, and create HIRS artifacts
|
# This workflow will build HIRS, run unit tests, and create HIRS artifacts
|
||||||
# Updated: 8/15/23
|
# Updated: 02/11/2025
|
||||||
|
|
||||||
name: HIRS Build and Unit Test
|
name: HIRS Build and Unit Test
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# Runs this workflow whenever there is a push to main from a branch annotated with "v4"
|
# Runs this workflow whenever there is a push to main from a branch annotated with "v3"
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- '*v3*'
|
- '*v3*'
|
||||||
|
2
.github/workflows/rim_tests.yml
vendored
2
.github/workflows/rim_tests.yml
vendored
@ -1,4 +1,6 @@
|
|||||||
# workflow is used to run RIM tests
|
# workflow is used to run RIM tests
|
||||||
|
# Updated: 02/11/2025
|
||||||
|
|
||||||
name: RIM Test
|
name: RIM Test
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
4
.github/workflows/system_test.yml
vendored
4
.github/workflows/system_test.yml
vendored
@ -1,6 +1,6 @@
|
|||||||
# This workflow will build HIRS, run system tests, and create artifacts consisting of ACA and Provisioner logs.
|
# This workflow will build HIRS, run system tests, and create artifacts consisting of ACA and Provisioner logs.
|
||||||
# Updated: 06/05/2024
|
# Updated: 02/11/2025
|
||||||
#
|
|
||||||
name: HIRS System Tests
|
name: HIRS System Tests
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
@ -106,7 +106,7 @@ public class ComponentIdentifier {
|
|||||||
* @param componentRevision represents the component revision
|
* @param componentRevision represents the component revision
|
||||||
* @param componentManufacturerId represents the component manufacturer ID
|
* @param componentManufacturerId represents the component manufacturer ID
|
||||||
* @param fieldReplaceable represents if the component is replaceable
|
* @param fieldReplaceable represents if the component is replaceable
|
||||||
* @param componentAddress represents a list of addresses
|
* @param componentAddresses represents a list of addresses
|
||||||
*/
|
*/
|
||||||
public ComponentIdentifier(final DERUTF8String componentManufacturer,
|
public ComponentIdentifier(final DERUTF8String componentManufacturer,
|
||||||
final DERUTF8String componentModel,
|
final DERUTF8String componentModel,
|
||||||
@ -114,14 +114,14 @@ public class ComponentIdentifier {
|
|||||||
final DERUTF8String componentRevision,
|
final DERUTF8String componentRevision,
|
||||||
final ASN1ObjectIdentifier componentManufacturerId,
|
final ASN1ObjectIdentifier componentManufacturerId,
|
||||||
final ASN1Boolean fieldReplaceable,
|
final ASN1Boolean fieldReplaceable,
|
||||||
final List<ComponentAddress> componentAddress) {
|
final List<ComponentAddress> componentAddresses) {
|
||||||
this.componentManufacturer = componentManufacturer;
|
this.componentManufacturer = componentManufacturer;
|
||||||
this.componentModel = componentModel;
|
this.componentModel = componentModel;
|
||||||
this.componentSerial = componentSerial;
|
this.componentSerial = componentSerial;
|
||||||
this.componentRevision = componentRevision;
|
this.componentRevision = componentRevision;
|
||||||
this.componentManufacturerId = componentManufacturerId;
|
this.componentManufacturerId = componentManufacturerId;
|
||||||
this.fieldReplaceable = fieldReplaceable;
|
this.fieldReplaceable = fieldReplaceable;
|
||||||
this.componentAddresses = componentAddress.stream().toList();
|
this.componentAddresses = componentAddresses.stream().toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -22,11 +22,11 @@ import java.io.Serializable;
|
|||||||
public class HardwareInfo implements Serializable {
|
public class HardwareInfo implements Serializable {
|
||||||
|
|
||||||
@XmlElement
|
@XmlElement
|
||||||
@Column(length = DeviceInfoEnums.LONG_STRING_LENGTH, nullable = false)
|
@Column(nullable = false)
|
||||||
private String manufacturer = DeviceInfoEnums.NOT_SPECIFIED;
|
private String manufacturer = DeviceInfoEnums.NOT_SPECIFIED;
|
||||||
|
|
||||||
@XmlElement
|
@XmlElement
|
||||||
@Column(length = DeviceInfoEnums.LONG_STRING_LENGTH, nullable = false)
|
@Column(nullable = false)
|
||||||
private String productName = DeviceInfoEnums.NOT_SPECIFIED;
|
private String productName = DeviceInfoEnums.NOT_SPECIFIED;
|
||||||
|
|
||||||
@XmlElement
|
@XmlElement
|
||||||
@ -34,15 +34,15 @@ public class HardwareInfo implements Serializable {
|
|||||||
private String version = DeviceInfoEnums.NOT_SPECIFIED;
|
private String version = DeviceInfoEnums.NOT_SPECIFIED;
|
||||||
|
|
||||||
@XmlElement
|
@XmlElement
|
||||||
@Column(length = DeviceInfoEnums.LONG_STRING_LENGTH, nullable = false)
|
@Column(nullable = false)
|
||||||
private String systemSerialNumber = DeviceInfoEnums.NOT_SPECIFIED;
|
private String systemSerialNumber = DeviceInfoEnums.NOT_SPECIFIED;
|
||||||
|
|
||||||
@XmlElement
|
@XmlElement
|
||||||
@Column(length = DeviceInfoEnums.LONG_STRING_LENGTH, nullable = false)
|
@Column(nullable = false)
|
||||||
private String chassisSerialNumber = DeviceInfoEnums.NOT_SPECIFIED;
|
private String chassisSerialNumber = DeviceInfoEnums.NOT_SPECIFIED;
|
||||||
|
|
||||||
@XmlElement
|
@XmlElement
|
||||||
@Column(length = DeviceInfoEnums.LONG_STRING_LENGTH, nullable = false)
|
@Column(nullable = false)
|
||||||
private String baseboardSerialNumber = DeviceInfoEnums.NOT_SPECIFIED;
|
private String baseboardSerialNumber = DeviceInfoEnums.NOT_SPECIFIED;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -190,14 +190,17 @@ public class CredentialValidator extends SupplyChainCredentialValidator {
|
|||||||
message = baseErrorMessage + "a platform credential";
|
message = baseErrorMessage + "a platform credential";
|
||||||
return new AppraisalStatus(FAIL, message);
|
return new AppraisalStatus(FAIL, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (deviceInfoReport == null) {
|
if (deviceInfoReport == null) {
|
||||||
message = baseErrorMessage + "a device info report";
|
message = baseErrorMessage + "a device info report";
|
||||||
return new AppraisalStatus(FAIL, message);
|
return new AppraisalStatus(FAIL, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (endorsementCredential == null) {
|
if (endorsementCredential == null) {
|
||||||
message = baseErrorMessage + "an endorsement credential";
|
message = baseErrorMessage + "an endorsement credential";
|
||||||
return new AppraisalStatus(FAIL, message);
|
return new AppraisalStatus(FAIL, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (componentInfos.isEmpty()) {
|
if (componentInfos.isEmpty()) {
|
||||||
message = baseErrorMessage + "a list of device components";
|
message = baseErrorMessage + "a list of device components";
|
||||||
return new AppraisalStatus(FAIL, message);
|
return new AppraisalStatus(FAIL, message);
|
||||||
|
@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test;
|
|||||||
|
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||||
@ -16,290 +17,315 @@ public class ComponentClassTest {
|
|||||||
private static final String JSON_FILE = "/config/component-class.json";
|
private static final String JSON_FILE = "/config/component-class.json";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentNoneUNK() throws URISyntaxException {
|
public void testGetComponentNoneUNK() throws URISyntaxException {
|
||||||
String componentIdentifier = "00000001";
|
final String componentIdentifier = "00000001";
|
||||||
ComponentClass instance = new ComponentClass("TCG",
|
ComponentClass instance = new ComponentClass("TCG",
|
||||||
Paths.get(this.getClass().getResource(JSON_FILE).toURI()),
|
Paths.get(Objects.requireNonNull(this.getClass().getResource(JSON_FILE)).toURI()),
|
||||||
componentIdentifier);
|
componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals(resultComponent, "Unknown");
|
assertEquals(resultComponent, "Unknown");
|
||||||
assertEquals(resultCategory, "None");
|
assertEquals(resultCategory, "None");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentNoneOther() throws URISyntaxException {
|
public void testGetComponentNoneOther() throws URISyntaxException {
|
||||||
String componentIdentifier = "00000000";
|
final String componentIdentifier = "00000000";
|
||||||
ComponentClass instance = new ComponentClass("TCG", Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass("TCG", Paths.get(Objects.requireNonNull(this.getClass()
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals(resultComponent, "Unknown");
|
assertEquals(resultComponent, "Unknown");
|
||||||
assertEquals(resultCategory, "None");
|
assertEquals(resultCategory, "None");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentBlank() throws URISyntaxException {
|
public void testGetComponentBlank() throws URISyntaxException {
|
||||||
String componentIdentifier = "";
|
final String componentIdentifier = "";
|
||||||
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass(Paths.get(Objects.requireNonNull(this.getClass()
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals(resultComponent, "Unknown");
|
assertEquals(resultComponent, "Unknown");
|
||||||
assertEquals(resultCategory, "None");
|
assertEquals(resultCategory, "None");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentNFEx() throws URISyntaxException {
|
public void testGetComponentNFEx() throws URISyntaxException {
|
||||||
String componentIdentifier = "99999999";
|
final String componentIdentifier = "99999999";
|
||||||
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass(Paths.get(Objects.requireNonNull(this.getClass()
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals(resultComponent, "Unknown");
|
assertEquals(resultComponent, "Unknown");
|
||||||
assertEquals(resultCategory, "None");
|
assertEquals(resultCategory, "None");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentNull() throws URISyntaxException {
|
public void testGetComponentNull() throws URISyntaxException {
|
||||||
String componentIdentifier = null;
|
final String componentIdentifier = null;
|
||||||
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass(Paths.get(Objects.requireNonNull(this.getClass()
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals(resultComponent, "Unknown");
|
assertEquals(resultComponent, "Unknown");
|
||||||
assertEquals(resultCategory, "None");
|
assertEquals(resultCategory, "None");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class where the
|
||||||
|
* registry type is of type TCG.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentStandardQueryTCG() throws URISyntaxException {
|
public void testGetComponentStandardQueryTCG() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00040002";
|
final String componentIdentifier = "0x00040002";
|
||||||
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass(Paths.get(Objects.requireNonNull(this.getClass()
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals(resultComponent, "SAS Bridgeboard");
|
assertEquals(resultComponent, "SAS Bridgeboard");
|
||||||
assertEquals(resultCategory, "Modules");
|
assertEquals(resultCategory, "Modules");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class where the
|
||||||
|
* registry type is of type SMBIOS.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentStandardQuerySMBIOS() throws URISyntaxException {
|
public void testGetComponentStandardQuerySMBIOS() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00040003";
|
final String componentIdentifier = "0x00040003";
|
||||||
ComponentClass instance = new ComponentClass("2.23.133.18.3.3", Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass("2.23.133.18.3.3", Paths.get(
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
Objects.requireNonNull(this.getClass()
|
||||||
String resultCategory = instance.getCategoryStr();
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
|
final String resultComponent = instance.getComponentStr();
|
||||||
|
final String resultRegistry = instance.getRegistryType();
|
||||||
|
|
||||||
|
assertEquals("SMBIOS", resultRegistry);
|
||||||
assertEquals("Central Processor", resultComponent);
|
assertEquals("Central Processor", resultComponent);
|
||||||
assertEquals("Processor", resultCategory);
|
assertEquals("Processor", resultCategory);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Test of getComponent method, of class ComponentClass where the
|
||||||
|
* registry type is of type PCIE.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentStandardQueryIntTCG() throws URISyntaxException {
|
public void testGetComponentStandardQueryPCIE() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00040002";
|
final String componentIdentifier = "0x00080004"; // TODO placeholder for now
|
||||||
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass("2.23.133.18.3.4", Paths.get(
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
Objects.requireNonNull(this.getClass()
|
||||||
String resultCategory = instance.getCategoryStr();
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
assertEquals(resultComponent, "SAS Bridgeboard");
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals(resultCategory, "Modules");
|
final String resultRegistry = instance.getRegistryType();
|
||||||
|
|
||||||
|
assertEquals("PCIE", resultRegistry);
|
||||||
|
|
||||||
|
//TODO Once the component-class.json file is updated to reflect the two new component
|
||||||
|
// registries, we will then write tests that test the component class' category/component
|
||||||
|
// properties.
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class where the
|
||||||
|
* registry type is of type STORAGE.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentStandardQueryIntSMBIOS() throws URISyntaxException {
|
public void testGetComponentStandardQuerySTORAGE() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00040003";
|
final String componentIdentifier = "0x00080004"; // TODO placeholder for now
|
||||||
ComponentClass instance = new ComponentClass("2.23.133.18.3.3", Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass("2.23.133.18.3.5", Paths.get(
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
Objects.requireNonNull(this.getClass()
|
||||||
String resultCategory = instance.getCategoryStr();
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
assertEquals("Central Processor", resultComponent);
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals("Processor", resultCategory);
|
final String resultRegistry = instance.getRegistryType();
|
||||||
|
|
||||||
|
assertEquals("STORAGE", resultRegistry);
|
||||||
|
|
||||||
|
//TODO Once the component-class.json file is updated to reflect the two new component
|
||||||
|
// registries, we will then write tests that test the component class' category/component
|
||||||
|
// properties.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentStandardQueryIntOther() throws URISyntaxException {
|
public void testGetComponentStandardQueryIntOther() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00040000";
|
final String componentIdentifier = "0x00040000";
|
||||||
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
Objects.requireNonNull(this.getClass()
|
||||||
String resultCategory = instance.getCategoryStr();
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals("Other", resultComponent);
|
assertEquals("Other", resultComponent);
|
||||||
assertEquals("Modules", resultCategory);
|
assertEquals("Modules", resultCategory);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentStandardQueryIntUnk() throws URISyntaxException {
|
public void testGetComponentStandardQueryIntUnk() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00040001";
|
final String componentIdentifier = "0x00040001";
|
||||||
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
Objects.requireNonNull(this.getClass()
|
||||||
String resultCategory = instance.getCategoryStr();
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals("Unknown", resultComponent);
|
assertEquals("Unknown", resultComponent);
|
||||||
assertEquals("Modules", resultCategory);
|
assertEquals("Modules", resultCategory);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentStandardQuery2() throws URISyntaxException {
|
public void testGetComponentStandardQuery2() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00060015";
|
final String componentIdentifier = "0x00060015";
|
||||||
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass(Paths.get(Objects.requireNonNull(this.getClass()
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals("DDR3 Memory", resultComponent);
|
assertEquals("DDR3 Memory", resultComponent);
|
||||||
assertEquals("Memory", resultCategory);
|
assertEquals("Memory", resultCategory);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentStandardQueryUNK() throws URISyntaxException {
|
public void testGetComponentStandardQueryUNK() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00060001";
|
final String componentIdentifier = "0x00060001";
|
||||||
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass(Paths.get(Objects.requireNonNull(this.getClass()
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals("Unknown", resultComponent);
|
assertEquals("Unknown", resultComponent);
|
||||||
assertEquals("Memory", resultCategory);
|
assertEquals("Memory", resultCategory);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentNonStandardQuery() throws URISyntaxException {
|
public void testGetComponentNonStandardQuery() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00040002";
|
final String componentIdentifier = "0x00040002";
|
||||||
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
Objects.requireNonNull(this.getClass()
|
||||||
String resultCategory = instance.getCategoryStr();
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals(resultComponent, "SAS Bridgeboard");
|
assertEquals(resultComponent, "SAS Bridgeboard");
|
||||||
assertEquals(resultCategory, "Modules");
|
assertEquals(resultCategory, "Modules");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentNonStandardQuery2() throws URISyntaxException {
|
public void testGetComponentNonStandardQuery2() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00040002";
|
final String componentIdentifier = "0x00040002";
|
||||||
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
Objects.requireNonNull(this.getClass()
|
||||||
String resultCategory = instance.getCategoryStr();
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals(resultComponent, "SAS Bridgeboard");
|
assertEquals(resultComponent, "SAS Bridgeboard");
|
||||||
assertEquals(resultCategory, "Modules");
|
assertEquals(resultCategory, "Modules");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentNonExistentValue() throws URISyntaxException {
|
public void testGetComponentNonExistentValue() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x00040014";
|
final String componentIdentifier = "0x00040014";
|
||||||
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass(Paths.get(Objects.requireNonNull(this.getClass()
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertNull(resultComponent);
|
assertNull(resultComponent);
|
||||||
assertEquals(resultCategory, "Modules");
|
assertEquals(resultCategory, "Modules");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentNonExistentValue2() throws URISyntaxException {
|
public void testGetComponentNonExistentValue2() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x0004FF14";
|
final String componentIdentifier = "0x0004FF14";
|
||||||
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass(Paths.get(Objects.requireNonNull(this.getClass()
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertNull(resultComponent);
|
assertNull(resultComponent);
|
||||||
assertEquals(resultCategory, "Modules");
|
assertEquals(resultCategory, "Modules");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of getComponent method, of class ComponentClass.
|
* Tests the getComponent method from the ComponentClass class.
|
||||||
*
|
*
|
||||||
* @throws URISyntaxException if there is a problem constructing the URI
|
* @throws URISyntaxException if there is a problem constructing the URI
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetComponentNonExistentCategory() throws URISyntaxException {
|
public void testGetComponentNonExistentCategory() throws URISyntaxException {
|
||||||
String componentIdentifier = "0x0015FF14";
|
final String componentIdentifier = "0x0015FF14";
|
||||||
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
|
ComponentClass instance = new ComponentClass(Paths.get(Objects.requireNonNull(this.getClass()
|
||||||
.getResource(JSON_FILE).toURI()), componentIdentifier);
|
.getResource(JSON_FILE)).toURI()), componentIdentifier);
|
||||||
String resultCategory = instance.getCategoryStr();
|
final String resultCategory = instance.getCategoryStr();
|
||||||
String resultComponent = instance.getComponentStr();
|
final String resultComponent = instance.getComponentStr();
|
||||||
assertEquals(resultComponent, "Unknown");
|
assertEquals(resultComponent, "Unknown");
|
||||||
assertEquals(resultCategory, "None");
|
assertEquals(resultCategory, "None");
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package hirs.attestationca.persist.validation;
|
package hirs.attestationca.persist.validation;
|
||||||
|
|
||||||
|
import hirs.attestationca.persist.entity.manager.ComponentAttributeRepository;
|
||||||
|
import hirs.attestationca.persist.entity.manager.ComponentResultRepository;
|
||||||
import hirs.attestationca.persist.entity.userdefined.Certificate;
|
import hirs.attestationca.persist.entity.userdefined.Certificate;
|
||||||
import hirs.attestationca.persist.entity.userdefined.certificate.CertificateAuthorityCredential;
|
import hirs.attestationca.persist.entity.userdefined.certificate.CertificateAuthorityCredential;
|
||||||
import hirs.attestationca.persist.entity.userdefined.certificate.EndorsementCredential;
|
import hirs.attestationca.persist.entity.userdefined.certificate.EndorsementCredential;
|
||||||
@ -34,7 +36,10 @@ import org.bouncycastle.operator.OperatorCreationException;
|
|||||||
import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
|
import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
|
||||||
import org.junit.jupiter.api.AfterAll;
|
import org.junit.jupiter.api.AfterAll;
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -206,6 +211,11 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
|
|
||||||
private static KeyStore emptyKeyStore;
|
private static KeyStore emptyKeyStore;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private ComponentResultRepository componentResultRepository;
|
||||||
|
@Mock
|
||||||
|
private ComponentAttributeRepository componentAttributeRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets up a KeyStore for testing.
|
* Sets up a KeyStore for testing.
|
||||||
*
|
*
|
||||||
@ -245,57 +255,6 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static DeviceInfoReport setupDeviceInfoReport() {
|
|
||||||
hardwareInfo = new HardwareInfo(
|
|
||||||
"ACME",
|
|
||||||
"anvil",
|
|
||||||
"3.0",
|
|
||||||
"1234",
|
|
||||||
"567",
|
|
||||||
"890");
|
|
||||||
|
|
||||||
DeviceInfoReport deviceInfoReport = mock(DeviceInfoReport.class);
|
|
||||||
when(deviceInfoReport.getHardwareInfo()).thenReturn(hardwareInfo);
|
|
||||||
return deviceInfoReport;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static DeviceInfoReport setupDeviceInfoReportWithComponents() throws IOException {
|
|
||||||
return setupDeviceInfoReportWithComponents(SAMPLE_PACCOR_OUTPUT_TXT);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static DeviceInfoReport setupDeviceInfoReportWithNotSpecifiedComponents()
|
|
||||||
throws IOException {
|
|
||||||
return setupDeviceInfoReportWithComponents(SAMPLE_PACCOR_OUTPUT_NOT_SPECIFIED_TXT);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static DeviceInfoReport setupDeviceInfoReportWithComponents(
|
|
||||||
final String paccorOutputResource) throws IOException {
|
|
||||||
DeviceInfoReport deviceInfoReport = setupDeviceInfoReport();
|
|
||||||
URL url = SupplyChainCredentialValidator.class.getResource(paccorOutputResource);
|
|
||||||
String paccorOutputString = IOUtils.toString(url, StandardCharsets.UTF_8);
|
|
||||||
when(deviceInfoReport.getPaccorOutputString()).thenReturn(paccorOutputString);
|
|
||||||
return deviceInfoReport;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new RSA 1024-bit KeyPair using a Bouncy Castle Provider.
|
|
||||||
*
|
|
||||||
* @return new KeyPair
|
|
||||||
*/
|
|
||||||
private static KeyPair createKeyPair() {
|
|
||||||
final int keySize = 1024;
|
|
||||||
KeyPairGenerator gen;
|
|
||||||
KeyPair keyPair = null;
|
|
||||||
try {
|
|
||||||
gen = KeyPairGenerator.getInstance("RSA", BouncyCastleProvider.PROVIDER_NAME);
|
|
||||||
gen.initialize(keySize, SECURE_RANDOM);
|
|
||||||
keyPair = gen.generateKeyPair();
|
|
||||||
} catch (NoSuchAlgorithmException | NoSuchProviderException e) {
|
|
||||||
fail("Error occurred while generating key pair", e);
|
|
||||||
}
|
|
||||||
return keyPair;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new X.509 attribute certificate given the holder cert, the signing cert, and the
|
* Create a new X.509 attribute certificate given the holder cert, the signing cert, and the
|
||||||
* signing key.
|
* signing key.
|
||||||
@ -401,7 +360,113 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
return cert;
|
return cert;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static InetAddress getTestIpAddress() {
|
@BeforeEach
|
||||||
|
public void setUpEachTest() {
|
||||||
|
MockitoAnnotations.openMocks(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new RSA 1024-bit KeyPair using a Bouncy Castle Provider.
|
||||||
|
*
|
||||||
|
* @return new KeyPair
|
||||||
|
*/
|
||||||
|
private KeyPair createKeyPair() {
|
||||||
|
final int keySize = 1024;
|
||||||
|
KeyPairGenerator gen;
|
||||||
|
KeyPair keyPair = null;
|
||||||
|
try {
|
||||||
|
gen = KeyPairGenerator.getInstance("RSA", BouncyCastleProvider.PROVIDER_NAME);
|
||||||
|
gen.initialize(keySize, SECURE_RANDOM);
|
||||||
|
keyPair = gen.generateKeyPair();
|
||||||
|
} catch (NoSuchAlgorithmException | NoSuchProviderException e) {
|
||||||
|
fail("Error occurred while generating key pair", e);
|
||||||
|
}
|
||||||
|
return keyPair;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method that creates a device info report.
|
||||||
|
*
|
||||||
|
* @return device info report
|
||||||
|
*/
|
||||||
|
private DeviceInfoReport setupDeviceInfoReport() {
|
||||||
|
hardwareInfo = new HardwareInfo(
|
||||||
|
"ACME",
|
||||||
|
"anvil",
|
||||||
|
"3.0",
|
||||||
|
"1234",
|
||||||
|
"567",
|
||||||
|
"890");
|
||||||
|
|
||||||
|
DeviceInfoReport deviceInfoReport = mock(DeviceInfoReport.class);
|
||||||
|
when(deviceInfoReport.getHardwareInfo()).thenReturn(hardwareInfo);
|
||||||
|
return deviceInfoReport;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method that creates a device info report that contains the provided components.
|
||||||
|
*
|
||||||
|
* @return device info report that contains provided components
|
||||||
|
* @throws IOException is thrown if issues arise from parsing out the paccor output
|
||||||
|
*/
|
||||||
|
private DeviceInfoReport setupDeviceInfoReportWithComponents() throws IOException {
|
||||||
|
return setupDeviceInfoReportWithComponents(SAMPLE_PACCOR_OUTPUT_TXT);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method that creates a device info report that contains the provided non-specified components.
|
||||||
|
*
|
||||||
|
* @return device info report that contains not specified components
|
||||||
|
* @throws IOException is thrown if issues arise from parsing out the paccor output
|
||||||
|
*/
|
||||||
|
private DeviceInfoReport setupDeviceInfoReportWithNotSpecifiedComponents()
|
||||||
|
throws IOException {
|
||||||
|
return setupDeviceInfoReportWithComponents(SAMPLE_PACCOR_OUTPUT_NOT_SPECIFIED_TXT);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method that generates a device info report using the provided sample paccor output.
|
||||||
|
*
|
||||||
|
* @param paccorOutputResource sample paccor output text
|
||||||
|
* @return device info report
|
||||||
|
* @throws IOException is thrown if issues arise from parsing out the paccor output
|
||||||
|
*/
|
||||||
|
private DeviceInfoReport setupDeviceInfoReportWithComponents(
|
||||||
|
final String paccorOutputResource) throws IOException {
|
||||||
|
DeviceInfoReport deviceInfoReport = setupDeviceInfoReport();
|
||||||
|
URL url = SupplyChainCredentialValidator.class.getResource(paccorOutputResource);
|
||||||
|
String paccorOutputString = IOUtils.toString(url, StandardCharsets.UTF_8);
|
||||||
|
when(deviceInfoReport.getPaccorOutputString()).thenReturn(paccorOutputString);
|
||||||
|
return deviceInfoReport;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method that generates a collection of component info that can be used
|
||||||
|
* for this class' test methods.
|
||||||
|
*
|
||||||
|
* @return a generic list of component info
|
||||||
|
*/
|
||||||
|
private List<ComponentInfo> retrieveListOfComponentInfos() {
|
||||||
|
|
||||||
|
return List.of(
|
||||||
|
new ComponentInfo("the-device", "Dell Inc", "11",
|
||||||
|
"9ZLUO9", "Not Specified", "020000123",
|
||||||
|
"2.23.133.18.3.1"),
|
||||||
|
new ComponentInfo("the-device", "9090", "AE12",
|
||||||
|
"Not Specified", "Not Specified", "00070700",
|
||||||
|
"2.23.133.18.3.4"),
|
||||||
|
new ComponentInfo("the-device", "Not Specified", "109 NVM",
|
||||||
|
"1110_1100_2230_0000_8CE3_8E10_0164_9CC7.", "Not Specified",
|
||||||
|
"00060001", "2.23.133.18.3.5"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper method that returns an IP Address.
|
||||||
|
*
|
||||||
|
* @return IP address
|
||||||
|
*/
|
||||||
|
private InetAddress getTestIpAddress() {
|
||||||
try {
|
try {
|
||||||
final byte[] byteAddress = new byte[] {127, 0, 0, 1};
|
final byte[] byteAddress = new byte[] {127, 0, 0, 1};
|
||||||
return InetAddress.getByAddress(byteAddress);
|
return InetAddress.getByAddress(byteAddress);
|
||||||
@ -499,7 +564,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
*
|
*
|
||||||
* @throws Exception If there are errors.
|
* @throws Exception If there are errors.
|
||||||
*/
|
*/
|
||||||
// @Test
|
@Test
|
||||||
public final void validateIntelPlatformCredentialAttributes()
|
public final void validateIntelPlatformCredentialAttributes()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
@ -517,22 +582,25 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
||||||
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
||||||
|
|
||||||
|
List<ComponentInfo> componentInfoList = retrieveListOfComponentInfos();
|
||||||
|
|
||||||
AppraisalStatus result =
|
AppraisalStatus result =
|
||||||
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
||||||
deviceInfoReport, ec, null, null,
|
deviceInfoReport, ec, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
componentInfoList, UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
result.getMessage());
|
result.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the Platform Credential contains the serial number from
|
* Checks if the Platform Credential contains the serial number from
|
||||||
* the device in the platform serial number field.
|
* the device in the platform serial number field.
|
||||||
*
|
*
|
||||||
* @throws Exception If there are errors.
|
* @throws Exception If there are errors.
|
||||||
*/
|
*/
|
||||||
// @Test
|
@Test
|
||||||
public final void validatePlatformCredentialWithDeviceBaseboard()
|
public final void validatePlatformCredentialWithDeviceBaseboard()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
DeviceInfoReport deviceInfoReport = buildReport(new HardwareInfo(
|
DeviceInfoReport deviceInfoReport = buildReport(new HardwareInfo(
|
||||||
@ -549,10 +617,12 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
||||||
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
||||||
|
|
||||||
|
List<ComponentInfo> componentInfoList = retrieveListOfComponentInfos();
|
||||||
|
|
||||||
AppraisalStatus result =
|
AppraisalStatus result =
|
||||||
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
||||||
deviceInfoReport, ec, null, null,
|
deviceInfoReport, ec, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
componentInfoList, UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
result.getMessage());
|
result.getMessage());
|
||||||
@ -562,7 +632,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
* Checks if the Platform Credential contains the serial number from
|
* Checks if the Platform Credential contains the serial number from
|
||||||
* the device in the chassis serial number field.
|
* the device in the chassis serial number field.
|
||||||
*/
|
*/
|
||||||
// @Test
|
@Test
|
||||||
public final void validatePlatformCredentialWithDeviceChassis()
|
public final void validatePlatformCredentialWithDeviceChassis()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
@ -580,10 +650,12 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
||||||
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
||||||
|
|
||||||
|
List<ComponentInfo> componentInfoList = retrieveListOfComponentInfos();
|
||||||
|
|
||||||
AppraisalStatus result =
|
AppraisalStatus result =
|
||||||
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
||||||
deviceInfoReport, ec, null, null,
|
deviceInfoReport, ec, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
componentInfoList, UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
result.getMessage());
|
result.getMessage());
|
||||||
@ -595,7 +667,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
*
|
*
|
||||||
* @throws Exception If there are errors.
|
* @throws Exception If there are errors.
|
||||||
*/
|
*/
|
||||||
// @Test
|
@Test
|
||||||
public final void validatePlatformCredentialWithDeviceSystemSerialNumber()
|
public final void validatePlatformCredentialWithDeviceSystemSerialNumber()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
@ -613,10 +685,12 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
||||||
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
||||||
|
|
||||||
|
List<ComponentInfo> componentInfoList = retrieveListOfComponentInfos();
|
||||||
|
|
||||||
AppraisalStatus result =
|
AppraisalStatus result =
|
||||||
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
||||||
deviceInfoReport, ec, null, null,
|
deviceInfoReport, ec, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
componentInfoList, UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
result.getMessage());
|
result.getMessage());
|
||||||
@ -626,7 +700,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
* Checks if validation occurs when the Platform Credential baseboard
|
* Checks if validation occurs when the Platform Credential baseboard
|
||||||
* serial number is in the device chassis serial number field.
|
* serial number is in the device chassis serial number field.
|
||||||
*/
|
*/
|
||||||
// @Test
|
@Test
|
||||||
public final void validatePlatformCredentialCombinedWithChassisSerialNumbersMatchedBaseboard()
|
public final void validatePlatformCredentialCombinedWithChassisSerialNumbersMatchedBaseboard()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
@ -645,10 +719,12 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
Files.readAllBytes(Paths.get(
|
Files.readAllBytes(Paths.get(
|
||||||
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
||||||
|
|
||||||
|
List<ComponentInfo> componentInfoList = retrieveListOfComponentInfos();
|
||||||
|
|
||||||
AppraisalStatus result =
|
AppraisalStatus result =
|
||||||
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
||||||
deviceInfoReport, ec, null, null,
|
deviceInfoReport, ec, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
componentInfoList, UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
result.getMessage());
|
result.getMessage());
|
||||||
@ -658,7 +734,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
* Checks if validation occurs when the Platform Credential chassis
|
* Checks if validation occurs when the Platform Credential chassis
|
||||||
* serial number is in the device baseboard serial number field.
|
* serial number is in the device baseboard serial number field.
|
||||||
*/
|
*/
|
||||||
// @Test
|
@Test
|
||||||
public final void validatePlatformCredentialCombinedWithBaseboardSerialNumbersMatchedChassis()
|
public final void validatePlatformCredentialCombinedWithBaseboardSerialNumbersMatchedChassis()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
@ -676,10 +752,12 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
||||||
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
||||||
|
|
||||||
|
List<ComponentInfo> componentInfoList = retrieveListOfComponentInfos();
|
||||||
|
|
||||||
AppraisalStatus result =
|
AppraisalStatus result =
|
||||||
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
||||||
deviceInfoReport, ec, null, null,
|
deviceInfoReport, ec, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
componentInfoList, UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
result.getMessage());
|
result.getMessage());
|
||||||
@ -689,7 +767,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
* Checks if validation occurs when the Platform Credential chassis
|
* Checks if validation occurs when the Platform Credential chassis
|
||||||
* serial number is in the device system serial number field.
|
* serial number is in the device system serial number field.
|
||||||
*/
|
*/
|
||||||
// @Test
|
@Test
|
||||||
public final void validatePlatformCredentialCombinedWithSystemSerialNumbersMatchedChassis()
|
public final void validatePlatformCredentialCombinedWithSystemSerialNumbersMatchedChassis()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
@ -707,10 +785,12 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
EndorsementCredential ec = new EndorsementCredential(Files.readAllBytes(Paths.get(
|
||||||
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
Objects.requireNonNull(getClass().getResource(TEST_EK_CERT)).toURI())));
|
||||||
|
|
||||||
|
List<ComponentInfo> componentInfoList = retrieveListOfComponentInfos();
|
||||||
|
|
||||||
AppraisalStatus result =
|
AppraisalStatus result =
|
||||||
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
CredentialValidator.validatePlatformCredentialAttributes(pc,
|
||||||
deviceInfoReport, ec, null, null,
|
deviceInfoReport, ec, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
componentInfoList, UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
result.getMessage());
|
result.getMessage());
|
||||||
@ -722,7 +802,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
*
|
*
|
||||||
* @throws Exception If there are errors.
|
* @throws Exception If there are errors.
|
||||||
*/
|
*/
|
||||||
// @Test
|
@Test
|
||||||
public final void validatePlatformCredentialWithNoDeviceSerialNumbers()
|
public final void validatePlatformCredentialWithNoDeviceSerialNumbers()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
@ -743,10 +823,12 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
|
|
||||||
String expectedMessage = "Platform serial did not match device info";
|
String expectedMessage = "Platform serial did not match device info";
|
||||||
|
|
||||||
|
List<ComponentInfo> componentInfoList = retrieveListOfComponentInfos();
|
||||||
|
|
||||||
AppraisalStatus result =
|
AppraisalStatus result =
|
||||||
CredentialValidator.validatePlatformCredentialAttributes(
|
CredentialValidator.validatePlatformCredentialAttributes(
|
||||||
pc, deviceInfoReport, ec, null, null,
|
pc, deviceInfoReport, ec, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
componentInfoList, UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals(expectedMessage, result.getMessage());
|
assertEquals(expectedMessage, result.getMessage());
|
||||||
}
|
}
|
||||||
@ -757,7 +839,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
*
|
*
|
||||||
* @throws Exception If there are errors.
|
* @throws Exception If there are errors.
|
||||||
*/
|
*/
|
||||||
// @Test
|
@Test
|
||||||
public final void validatePlatformCredentialCombinedWithNoMatchedDeviceSerialNumbers()
|
public final void validatePlatformCredentialCombinedWithNoMatchedDeviceSerialNumbers()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
@ -777,10 +859,12 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
|
|
||||||
String expectedMessage = "Platform serial did not match device info";
|
String expectedMessage = "Platform serial did not match device info";
|
||||||
|
|
||||||
|
List<ComponentInfo> componentInfoList = retrieveListOfComponentInfos();
|
||||||
|
|
||||||
AppraisalStatus result =
|
AppraisalStatus result =
|
||||||
CredentialValidator.validatePlatformCredentialAttributes(
|
CredentialValidator.validatePlatformCredentialAttributes(
|
||||||
pc, deviceInfoReport, ec, null, null,
|
pc, deviceInfoReport, ec, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
componentInfoList, UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals(expectedMessage, result.getMessage());
|
assertEquals(expectedMessage, result.getMessage());
|
||||||
}
|
}
|
||||||
@ -1144,7 +1228,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
* @throws IOException an error occurs when parsing the certificate
|
* @throws IOException an error occurs when parsing the certificate
|
||||||
* @throws URISyntaxException an error occurs parsing the certificate file path
|
* @throws URISyntaxException an error occurs parsing the certificate file path
|
||||||
*/
|
*/
|
||||||
// @Test
|
@Test
|
||||||
public final void verifyPlatformCredentialNullDeviceInfoReport()
|
public final void verifyPlatformCredentialNullDeviceInfoReport()
|
||||||
throws URISyntaxException, IOException {
|
throws URISyntaxException, IOException {
|
||||||
byte[] certBytes = Files.readAllBytes(Paths.get(
|
byte[] certBytes = Files.readAllBytes(Paths.get(
|
||||||
@ -1159,9 +1243,12 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
String expectedMessage = "Can't validate platform credential attributes without a "
|
String expectedMessage = "Can't validate platform credential attributes without a "
|
||||||
+ "device info report";
|
+ "device info report";
|
||||||
|
|
||||||
|
List<ComponentInfo> componentInfoList = retrieveListOfComponentInfos();
|
||||||
|
|
||||||
AppraisalStatus result =
|
AppraisalStatus result =
|
||||||
CredentialValidator.validatePlatformCredentialAttributes(pc, null, ec, null, null,
|
CredentialValidator.validatePlatformCredentialAttributes(pc, null, ec,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
componentResultRepository, componentAttributeRepository,
|
||||||
|
componentInfoList, UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals(expectedMessage, result.getMessage());
|
assertEquals(expectedMessage, result.getMessage());
|
||||||
}
|
}
|
||||||
@ -1379,14 +1466,15 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
*
|
*
|
||||||
* @throws IOException if unable to set up DeviceInfoReport from resource file
|
* @throws IOException if unable to set up DeviceInfoReport from resource file
|
||||||
*/
|
*/
|
||||||
// @Test
|
//@Test TODO esacost
|
||||||
public final void testValidatePlatformCredentialAttributesV2p0NoComponentsPass()
|
public final void testValidatePlatformCredentialAttributesV2p0NoComponentsPass()
|
||||||
throws IOException {
|
throws IOException {
|
||||||
DeviceInfoReport deviceInfoReport = setupDeviceInfoReport();
|
DeviceInfoReport deviceInfoReport = setupDeviceInfoReport();
|
||||||
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
|
|
||||||
AppraisalStatus appraisalStatus = CertificateAttributeScvValidator
|
AppraisalStatus appraisalStatus = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential, deviceInfoReport, null, null,
|
.validatePlatformCredentialAttributesV2p0(platformCredential, deviceInfoReport,
|
||||||
|
componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS,
|
assertEquals(AppraisalStatus.Status.PASS,
|
||||||
appraisalStatus.getAppStatus());
|
appraisalStatus.getAppStatus());
|
||||||
@ -1407,7 +1495,8 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
|
|
||||||
AppraisalStatus appraisalStatus = CertificateAttributeScvValidator
|
AppraisalStatus appraisalStatus = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential, deviceInfoReport, null, null,
|
.validatePlatformCredentialAttributesV2p0(platformCredential, deviceInfoReport,
|
||||||
|
componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, appraisalStatus.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, appraisalStatus.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1430,7 +1519,8 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
.thenReturn(hardwareInfo.getSystemSerialNumber());
|
.thenReturn(hardwareInfo.getSystemSerialNumber());
|
||||||
|
|
||||||
AppraisalStatus appraisalStatus = CertificateAttributeScvValidator
|
AppraisalStatus appraisalStatus = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential, deviceInfoReport, null, null,
|
.validatePlatformCredentialAttributesV2p0(platformCredential, deviceInfoReport,
|
||||||
|
componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, appraisalStatus.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, appraisalStatus.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1455,7 +1545,8 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
SAMPLE_TEST_PACCOR_CERT)).toURI())));
|
SAMPLE_TEST_PACCOR_CERT)).toURI())));
|
||||||
|
|
||||||
AppraisalStatus appraisalStatus = CertificateAttributeScvValidator
|
AppraisalStatus appraisalStatus = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential, deviceInfoReport, null, null,
|
.validatePlatformCredentialAttributesV2p0(platformCredential, deviceInfoReport,
|
||||||
|
componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, appraisalStatus.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, appraisalStatus.getAppStatus());
|
||||||
}
|
}
|
||||||
@ -1473,7 +1564,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
AppraisalStatus result = CertificateAttributeScvValidator
|
AppraisalStatus result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1481,7 +1572,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getManufacturer()).thenReturn(null);
|
when(platformCredential.getManufacturer()).thenReturn(null);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Platform manufacturer did not match\n", result.getMessage());
|
assertEquals("Platform manufacturer did not match\n", result.getMessage());
|
||||||
@ -1489,7 +1580,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1497,7 +1588,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getModel()).thenReturn(null);
|
when(platformCredential.getModel()).thenReturn(null);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(result.getAppStatus(), AppraisalStatus.Status.FAIL);
|
assertEquals(result.getAppStatus(), AppraisalStatus.Status.FAIL);
|
||||||
assertEquals(result.getMessage(), "Platform model did not match\n");
|
assertEquals(result.getMessage(), "Platform model did not match\n");
|
||||||
@ -1505,7 +1596,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1513,13 +1604,13 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getPlatformSerial()).thenReturn(null);
|
when(platformCredential.getPlatformSerial()).thenReturn(null);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1527,7 +1618,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getVersion()).thenReturn(null);
|
when(platformCredential.getVersion()).thenReturn(null);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1536,7 +1627,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1547,7 +1638,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getComponentIdentifiers()).thenReturn(modifiedComponentIdentifiers);
|
when(platformCredential.getComponentIdentifiers()).thenReturn(modifiedComponentIdentifiers);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Component manufacturer is empty\n", result.getMessage());
|
assertEquals("Component manufacturer is empty\n", result.getMessage());
|
||||||
@ -1555,7 +1646,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1565,7 +1656,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getComponentIdentifiers()).thenReturn(modifiedComponentIdentifiers);
|
when(platformCredential.getComponentIdentifiers()).thenReturn(modifiedComponentIdentifiers);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Component model is empty\n", result.getMessage());
|
assertEquals("Component model is empty\n", result.getMessage());
|
||||||
@ -1586,7 +1677,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
AppraisalStatus result = CertificateAttributeScvValidator
|
AppraisalStatus result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1594,7 +1685,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getManufacturer()).thenReturn("");
|
when(platformCredential.getManufacturer()).thenReturn("");
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Platform manufacturer did not match\n", result.getMessage());
|
assertEquals("Platform manufacturer did not match\n", result.getMessage());
|
||||||
@ -1602,7 +1693,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1610,7 +1701,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getModel()).thenReturn("");
|
when(platformCredential.getModel()).thenReturn("");
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Platform model did not match\n", result.getMessage());
|
assertEquals("Platform model did not match\n", result.getMessage());
|
||||||
@ -1618,7 +1709,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1626,7 +1717,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getPlatformSerial()).thenReturn("");
|
when(platformCredential.getPlatformSerial()).thenReturn("");
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Platform serial did not match\n", result.getMessage());
|
assertEquals("Platform serial did not match\n", result.getMessage());
|
||||||
@ -1634,7 +1725,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1642,7 +1733,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getVersion()).thenReturn("");
|
when(platformCredential.getVersion()).thenReturn("");
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Platform version did not match\n", result.getMessage());
|
assertEquals("Platform version did not match\n", result.getMessage());
|
||||||
@ -1650,7 +1741,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1661,7 +1752,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getComponentIdentifiers()).thenReturn(modifiedComponentIdentifiers);
|
when(platformCredential.getComponentIdentifiers()).thenReturn(modifiedComponentIdentifiers);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Component manufacturer is empty\n"
|
assertEquals("Component manufacturer is empty\n"
|
||||||
@ -1673,7 +1764,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1683,7 +1774,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
when(platformCredential.getComponentIdentifiers()).thenReturn(modifiedComponentIdentifiers);
|
when(platformCredential.getComponentIdentifiers()).thenReturn(modifiedComponentIdentifiers);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Component model is empty\n", result.getMessage());
|
assertEquals("Component model is empty\n", result.getMessage());
|
||||||
@ -1703,7 +1794,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
AppraisalStatus result = CertificateAttributeScvValidator
|
AppraisalStatus result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1725,7 +1816,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
);
|
);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("There are unmatched components:\n"
|
assertEquals("There are unmatched components:\n"
|
||||||
@ -1752,7 +1843,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
|
|
||||||
AppraisalStatus result = CertificateAttributeScvValidator
|
AppraisalStatus result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1760,7 +1851,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
|
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1781,7 +1872,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
PlatformCredential platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
AppraisalStatus result = CertificateAttributeScvValidator
|
AppraisalStatus result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1794,7 +1885,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
|
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Component manufacturer is empty\n"
|
assertEquals("Component manufacturer is empty\n"
|
||||||
@ -1806,7 +1897,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
platformCredential = setupMatchingPlatformCredential(deviceInfoReport);
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1818,7 +1909,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
|
|
||||||
result = CertificateAttributeScvValidator
|
result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.FAIL, result.getAppStatus());
|
||||||
assertEquals("Component model is empty\n", result.getMessage());
|
assertEquals("Component model is empty\n", result.getMessage());
|
||||||
@ -1849,7 +1940,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
|
|
||||||
AppraisalStatus result = CertificateAttributeScvValidator
|
AppraisalStatus result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1881,7 +1972,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
|
|
||||||
AppraisalStatus result = CertificateAttributeScvValidator
|
AppraisalStatus result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1915,7 +2006,7 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
|
|
||||||
AppraisalStatus result = CertificateAttributeScvValidator
|
AppraisalStatus result = CertificateAttributeScvValidator
|
||||||
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
.validatePlatformCredentialAttributesV2p0(platformCredential,
|
||||||
deviceInfoReport, null, null,
|
deviceInfoReport, componentResultRepository, componentAttributeRepository,
|
||||||
Collections.emptyList(), UUID.randomUUID(), false);
|
Collections.emptyList(), UUID.randomUUID(), false);
|
||||||
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
assertEquals(AppraisalStatus.Status.PASS, result.getAppStatus());
|
||||||
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
assertEquals(SupplyChainCredentialValidator.PLATFORM_ATTRIBUTES_VALID,
|
||||||
@ -1926,8 +2017,8 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
* Tests that SupplyChainCredentialValidator passes with a base and delta certificate where
|
* Tests that SupplyChainCredentialValidator passes with a base and delta certificate where
|
||||||
* the base serial number and delta holder serial number match.
|
* the base serial number and delta holder serial number match.
|
||||||
*
|
*
|
||||||
* @throws java.io.IOException Reading file for the certificates
|
* @throws IOException Reading file for the certificates
|
||||||
* @throws java.net.URISyntaxException when loading certificates bytes
|
* @throws URISyntaxException when loading certificates bytes
|
||||||
*/
|
*/
|
||||||
// @Test
|
// @Test
|
||||||
public final void testValidateDeltaPlatformCredentialAttributes()
|
public final void testValidateDeltaPlatformCredentialAttributes()
|
||||||
@ -2063,8 +2154,8 @@ public class SupplyChainCredentialValidatorTest {
|
|||||||
* Tests that SupplyChainCredentialValidator fails when a component needs to
|
* Tests that SupplyChainCredentialValidator fails when a component needs to
|
||||||
* be replaced but hasn't been by a delta certificate.
|
* be replaced but hasn't been by a delta certificate.
|
||||||
*
|
*
|
||||||
* @throws java.io.IOException Reading file for the certificates
|
* @throws IOException Reading file for the certificates
|
||||||
* @throws java.net.URISyntaxException when loading certificates bytes
|
* @throws URISyntaxException when loading certificates bytes
|
||||||
*/
|
*/
|
||||||
// @Test
|
// @Test
|
||||||
public final void testValidateChainFailure()
|
public final void testValidateChainFailure()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user