mirror of
https://github.com/nsacyber/HIRS.git
synced 2024-12-18 20:47:58 +00:00
Merge pull request #577 from nsacyber/v3_issue_576_pt1-unittest
[#546] (Part 1) Migrating tests in /data/persist/ folder in HIRS_Utils
This commit is contained in:
commit
c1917f03ae
@ -3,28 +3,26 @@ package hirs.attestationca.persist.entity;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.MappedSuperclass;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.NonNull;
|
||||
|
||||
/**
|
||||
* An abstract archivable entity that can be given a user-defined name and description.
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@AllArgsConstructor
|
||||
@MappedSuperclass
|
||||
public abstract class UserDefinedEntity extends ArchivableEntity {
|
||||
|
||||
@Column(nullable = false, unique = true)
|
||||
private String name;
|
||||
@NonNull private String name;
|
||||
|
||||
@ToString.Exclude
|
||||
@EqualsAndHashCode.Exclude
|
||||
@Column(nullable = false, unique = false)
|
||||
private String description = "";
|
||||
@NonNull private String description = "";
|
||||
|
||||
/**
|
||||
* Default empty constructor is required for Hibernate. It is protected to
|
||||
@ -42,5 +40,40 @@ public abstract class UserDefinedEntity extends ArchivableEntity {
|
||||
public UserDefinedEntity(final String name) {
|
||||
this(name, "");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a boolean if other is equal to this. <code>UserDefinedEntity</code>s are
|
||||
* identified by their name, so this returns true if <code>other</code> is
|
||||
* an instance of <code>UserDefinedEntity</code> and its name is the same as this
|
||||
* <code>UserDefinedEntity</code>. Otherwise this returns false.
|
||||
*
|
||||
* @param other
|
||||
* other object to test for equals
|
||||
* @return true if other is <code>Baseline</code> and has same name
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(final Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
if (!(other instanceof UserDefinedEntity)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
final UserDefinedEntity entity = (UserDefinedEntity) other;
|
||||
return this.getName().equals(entity.getName());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the hash code for this <code>UserDefinedEntity</code>.
|
||||
* <code>UserDefinedEntity</code>s are identified by their name, so the returned hash
|
||||
* is the hash of the name.
|
||||
*
|
||||
* @return hash
|
||||
*/
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return name.hashCode();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,6 +45,7 @@ dependencies {
|
||||
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.3'
|
||||
testImplementation 'org.junit.platform:junit-platform-launcher:1.9.3'
|
||||
testImplementation 'org.hamcrest:hamcrest:2.2'
|
||||
testImplementation project(path: ':HIRS_AttestationCA')
|
||||
|
||||
compileOnly libs.lombok
|
||||
annotationProcessor libs.lombok
|
||||
|
207
HIRS_Utils/src/test/java/hirs/data/persist/FirmwareInfoTest.java
Normal file
207
HIRS_Utils/src/test/java/hirs/data/persist/FirmwareInfoTest.java
Normal file
@ -0,0 +1,207 @@
|
||||
package hirs.data.persist;
|
||||
|
||||
import hirs.attestationca.persist.entity.userdefined.info.FirmwareInfo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import static hirs.utils.enums.DeviceInfoEnums.NOT_SPECIFIED;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* FirmwareInfoTest is a unit test class for FirmwareInfo.
|
||||
*/
|
||||
public class FirmwareInfoTest {
|
||||
|
||||
private static final String BIOS_VENDOR = "test bios vendor";
|
||||
private static final String BIOS_VERSION = "test bios version";
|
||||
private static final String BIOS_RELEASE_DATE = "test bios release date";
|
||||
|
||||
private static final String LONG_BIOS_VENDOR = StringUtils.rightPad(
|
||||
"test bios vendor",
|
||||
257
|
||||
);
|
||||
private static final String LONG_BIOS_VERSION = StringUtils.rightPad(
|
||||
"test bios version",
|
||||
257
|
||||
);
|
||||
private static final String LONG_BIOS_RELEASE_DATE = StringUtils.rightPad(
|
||||
"test bios release date",
|
||||
33
|
||||
);
|
||||
|
||||
/**
|
||||
* Tests instantiation of a FirmwareInfo object.
|
||||
*/
|
||||
@Test
|
||||
public final void firmwareInfo() {
|
||||
new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the no-parameter constructor for FirmwareInfo contains expected values.
|
||||
*/
|
||||
@Test
|
||||
public final void firmwareInfoNoParams() {
|
||||
FirmwareInfo firmwareInfo = new FirmwareInfo();
|
||||
Assertions.assertEquals(NOT_SPECIFIED, firmwareInfo.getBiosVendor());
|
||||
Assertions.assertEquals(NOT_SPECIFIED,firmwareInfo.getBiosVersion());
|
||||
Assertions.assertEquals(NOT_SPECIFIED,firmwareInfo.getBiosReleaseDate());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the getters for FirmwareInfo return the expected values.
|
||||
*/
|
||||
@Test
|
||||
public final void firmwareInfoGetters() {
|
||||
FirmwareInfo firmwareInfo = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
Assertions.assertEquals(BIOS_VENDOR, firmwareInfo.getBiosVendor());
|
||||
Assertions.assertEquals(BIOS_VERSION, firmwareInfo.getBiosVersion());
|
||||
Assertions.assertEquals(BIOS_RELEASE_DATE, firmwareInfo.getBiosReleaseDate());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if BIOS vendor is null.
|
||||
*/
|
||||
@Test
|
||||
public final void biosVendorNullTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class,
|
||||
() -> new FirmwareInfo(null, BIOS_VERSION, BIOS_RELEASE_DATE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if BIOS version is null.
|
||||
*/
|
||||
@Test
|
||||
public final void biosVersionNullTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class,
|
||||
() -> new FirmwareInfo(BIOS_VENDOR, null, BIOS_RELEASE_DATE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if BIOS release date is null.
|
||||
*/
|
||||
@Test
|
||||
public final void biosReleaseDateNullTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class,
|
||||
() -> new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, null));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if BIOS vendor is longer than allowed.
|
||||
*/
|
||||
@Test
|
||||
public final void biosVendorLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class,
|
||||
() -> new FirmwareInfo(LONG_BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if BIOS version is longer than allowed.
|
||||
*/
|
||||
@Test
|
||||
public final void biosVersionLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class,
|
||||
() -> new FirmwareInfo(BIOS_VENDOR, LONG_BIOS_VERSION, BIOS_RELEASE_DATE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if BIOS release date is longer than allowed.
|
||||
*/
|
||||
@Test
|
||||
public final void biosReleaseDateLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class,
|
||||
() -> new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, LONG_BIOS_RELEASE_DATE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two FirmwareInfo objects with the same BIOS vendor, version, and release date
|
||||
* create hash codes that are equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqualHashCode() {
|
||||
FirmwareInfo fi1 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
FirmwareInfo fi2 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
Assertions.assertEquals(fi2.hashCode(), fi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two FirmwareInfo objects with different BIOS vendor information will generate
|
||||
* different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualHashCodeBiosVendor() {
|
||||
String biosVendor2 = "test bios vendor 2";
|
||||
FirmwareInfo fi1 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
FirmwareInfo fi2 = new FirmwareInfo(biosVendor2, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
Assertions.assertNotEquals(fi2.hashCode(), fi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two FirmwareInfo objects with different BIOS version information will
|
||||
* generate different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualHashCodeBiosVersion() {
|
||||
String biosVersion2 = "test bios version 2";
|
||||
FirmwareInfo fi1 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
FirmwareInfo fi2 = new FirmwareInfo(BIOS_VENDOR, biosVersion2, BIOS_RELEASE_DATE);
|
||||
Assertions.assertNotEquals(fi2.hashCode(), fi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two FirmwareInfo objects with different BIOS release date information will
|
||||
* generate different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualHashCodeBiosReleaseDate() {
|
||||
String biosReleaseDate2 = "test bios release date 2";
|
||||
FirmwareInfo fi1 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
FirmwareInfo fi2 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, biosReleaseDate2);
|
||||
Assertions.assertNotEquals(fi2.hashCode(), fi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two FirmwareInfo objects with the same BIOS vendor, version, and release date
|
||||
* information are equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqual() {
|
||||
FirmwareInfo fi1 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
FirmwareInfo fi2 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
Assertions.assertEquals(fi2, fi1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two FirmwareInfo objects with different BIOS vendor information are not equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualBiosVendor() {
|
||||
String biosVendor2 = "test bios vendor 2";
|
||||
FirmwareInfo fi1 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
FirmwareInfo fi2 = new FirmwareInfo(biosVendor2, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
Assertions.assertNotEquals(fi2, fi1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two FirmwareInfo objects with different BIOS version information are not equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualBiosVersion() {
|
||||
String biosVersion2 = "test bios version 2";
|
||||
FirmwareInfo fi1 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
FirmwareInfo fi2 = new FirmwareInfo(BIOS_VENDOR, biosVersion2, BIOS_RELEASE_DATE);
|
||||
Assertions.assertNotEquals(fi2, fi1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two FirmwareInfo objects with different BIOS release date information are not
|
||||
* equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualBiosReleaseDate() {
|
||||
String biosReleaseDate2 = "test bios release date 2";
|
||||
FirmwareInfo fi1 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, BIOS_RELEASE_DATE);
|
||||
FirmwareInfo fi2 = new FirmwareInfo(BIOS_VENDOR, BIOS_VERSION, biosReleaseDate2);
|
||||
Assertions.assertNotEquals(fi2, fi1);
|
||||
}
|
||||
}
|
353
HIRS_Utils/src/test/java/hirs/data/persist/HardwareInfoTest.java
Normal file
353
HIRS_Utils/src/test/java/hirs/data/persist/HardwareInfoTest.java
Normal file
@ -0,0 +1,353 @@
|
||||
package hirs.data.persist;
|
||||
|
||||
import hirs.attestationca.persist.entity.userdefined.info.HardwareInfo;
|
||||
import static hirs.utils.enums.DeviceInfoEnums.NOT_SPECIFIED;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* HardwareInfoTest is a unit test class for HardwareInfo.
|
||||
*/
|
||||
public class HardwareInfoTest {
|
||||
|
||||
private static final String MANUFACTURER = "test manufacturer";
|
||||
private static final String PRODUCT_NAME = "test product name";
|
||||
private static final String VERSION = "test version";
|
||||
private static final String SERIAL_NUMBER = "test serial number";
|
||||
private static final String CHASSIS_SERIAL_NUMBER = "test chassis serial number";
|
||||
private static final String BASEBOARD_SERIAL_NUMBER = "test baseboard serial number";
|
||||
|
||||
private static final String LONG_MANUFACTURER = StringUtils.rightPad(
|
||||
"test manufacturer",
|
||||
257
|
||||
);
|
||||
private static final String LONG_PRODUCT_NAME = StringUtils.rightPad(
|
||||
"test product name",
|
||||
257
|
||||
);
|
||||
private static final String LONG_VERSION = StringUtils.rightPad(
|
||||
"test version",
|
||||
65
|
||||
);
|
||||
private static final String LONG_SERIAL_NUMBER = StringUtils.rightPad(
|
||||
"test serial number",
|
||||
257
|
||||
);
|
||||
private static final String LONG_CHASSIS_SERIAL_NUMBER = StringUtils.rightPad(
|
||||
"test chassis serial number",
|
||||
257
|
||||
);
|
||||
private static final String LONG_BASEBOARD_SERIAL_NUMBER = StringUtils.rightPad(
|
||||
"test baseboard serial number",
|
||||
257
|
||||
);
|
||||
|
||||
/**
|
||||
* Tests instantiation of a HardwareInfo object.
|
||||
*/
|
||||
@Test
|
||||
public final void hardwareInfo() {
|
||||
new HardwareInfo(
|
||||
MANUFACTURER,
|
||||
PRODUCT_NAME,
|
||||
VERSION,
|
||||
SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the no-parameter constructor for HardwareInfo contains expected values.
|
||||
*/
|
||||
@Test
|
||||
public final void hardwareInfoNoParams() {
|
||||
HardwareInfo hardwareInfo = new HardwareInfo();
|
||||
Assertions.assertEquals(NOT_SPECIFIED, hardwareInfo.getManufacturer());
|
||||
Assertions.assertEquals(NOT_SPECIFIED, hardwareInfo.getProductName());
|
||||
Assertions.assertEquals(NOT_SPECIFIED, hardwareInfo.getSystemSerialNumber());
|
||||
Assertions.assertEquals(NOT_SPECIFIED, hardwareInfo.getVersion());
|
||||
Assertions.assertEquals(NOT_SPECIFIED, hardwareInfo.getBaseboardSerialNumber());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the getters for HardwareInfo return the expected values.
|
||||
*/
|
||||
@Test
|
||||
public final void hardwareInfoGetters() {
|
||||
HardwareInfo hardwareInfo =
|
||||
new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
Assertions.assertEquals(MANUFACTURER, hardwareInfo.getManufacturer());
|
||||
Assertions.assertEquals(PRODUCT_NAME, hardwareInfo.getProductName());
|
||||
Assertions.assertEquals(VERSION, hardwareInfo.getVersion());
|
||||
Assertions.assertEquals(SERIAL_NUMBER, hardwareInfo.getSystemSerialNumber());
|
||||
Assertions.assertEquals(BASEBOARD_SERIAL_NUMBER, hardwareInfo.getBaseboardSerialNumber());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the default value is present if manufacturer is null.
|
||||
*/
|
||||
@Test
|
||||
public final void manufacturerNullTest() {
|
||||
HardwareInfo hardwareInfo = new HardwareInfo(null,
|
||||
PRODUCT_NAME,
|
||||
VERSION,
|
||||
SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
);
|
||||
Assertions.assertEquals(NOT_SPECIFIED, hardwareInfo.getManufacturer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the default value is present if product name is null.
|
||||
*/
|
||||
@Test
|
||||
public final void productNameNullTest() {
|
||||
HardwareInfo hardwareInfo = new HardwareInfo(MANUFACTURER,
|
||||
null,
|
||||
VERSION,
|
||||
SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
);
|
||||
Assertions.assertEquals(hardwareInfo.getProductName(), NOT_SPECIFIED);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the default value is present if version is null.
|
||||
*/
|
||||
@Test
|
||||
public final void versionNullTest() {
|
||||
HardwareInfo hardwareInfo = new HardwareInfo(MANUFACTURER,
|
||||
PRODUCT_NAME,
|
||||
null,
|
||||
SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
);
|
||||
Assertions.assertEquals(hardwareInfo.getVersion(), NOT_SPECIFIED);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the default value is present if serial number is null.
|
||||
*/
|
||||
@Test
|
||||
public final void serialNumberNullTest() {
|
||||
HardwareInfo hardwareInfo = new HardwareInfo(MANUFACTURER,
|
||||
PRODUCT_NAME,
|
||||
VERSION,
|
||||
null,
|
||||
CHASSIS_SERIAL_NUMBER,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
);
|
||||
Assertions.assertEquals(hardwareInfo.getSystemSerialNumber(), NOT_SPECIFIED);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the default value is present if chassis serial number is null.
|
||||
*/
|
||||
@Test
|
||||
public final void chassisSerialNumberNullTest() {
|
||||
HardwareInfo hardwareInfo = new HardwareInfo(MANUFACTURER,
|
||||
PRODUCT_NAME,
|
||||
VERSION,
|
||||
SERIAL_NUMBER,
|
||||
null,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
);
|
||||
Assertions.assertEquals(NOT_SPECIFIED, hardwareInfo.getChassisSerialNumber());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the default value is present if baseboard serial number is null.
|
||||
*/
|
||||
@Test
|
||||
public final void baseboardSerialNumberNullTest() {
|
||||
HardwareInfo hardwareInfo = new HardwareInfo(MANUFACTURER,
|
||||
PRODUCT_NAME,
|
||||
VERSION,
|
||||
SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER,
|
||||
null
|
||||
);
|
||||
Assertions.assertEquals(NOT_SPECIFIED, hardwareInfo.getBaseboardSerialNumber());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if manufacturer is too long.
|
||||
*/
|
||||
@Test
|
||||
public final void manufacturerLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> new HardwareInfo(
|
||||
LONG_MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER, CHASSIS_SERIAL_NUMBER,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if product name is too long.
|
||||
*/
|
||||
@Test
|
||||
public final void productNameLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> new HardwareInfo(
|
||||
MANUFACTURER, LONG_PRODUCT_NAME, VERSION, SERIAL_NUMBER, CHASSIS_SERIAL_NUMBER,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if version is too long.
|
||||
*/
|
||||
@Test
|
||||
public final void versionLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> new HardwareInfo(
|
||||
MANUFACTURER, PRODUCT_NAME, LONG_VERSION, SERIAL_NUMBER, CHASSIS_SERIAL_NUMBER,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if serial number is too long.
|
||||
*/
|
||||
@Test
|
||||
public final void serialNumberLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> new HardwareInfo(
|
||||
MANUFACTURER, PRODUCT_NAME, VERSION, LONG_SERIAL_NUMBER, CHASSIS_SERIAL_NUMBER,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if chassis serial number is too long.
|
||||
*/
|
||||
@Test
|
||||
public final void chassisSerialNumberLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> new HardwareInfo(
|
||||
MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER, LONG_CHASSIS_SERIAL_NUMBER,
|
||||
BASEBOARD_SERIAL_NUMBER
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an IllegalArgumentException is thrown if chassis serial number is too long.
|
||||
*/
|
||||
@Test
|
||||
public final void baseboardSerialNumberLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> new HardwareInfo(
|
||||
MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER, LONG_CHASSIS_SERIAL_NUMBER,
|
||||
LONG_BASEBOARD_SERIAL_NUMBER
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two HardwareInfo objects with the same manufacturer, product name, version, and
|
||||
* serial number create hash codes that are equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqualsAndHashCode() {
|
||||
HardwareInfo hi1 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
HardwareInfo hi2 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
Assertions.assertEquals(hi2, hi1);
|
||||
Assertions.assertEquals(hi2.hashCode(), hi1.hashCode());
|
||||
|
||||
HardwareInfo hi3 = new HardwareInfo();
|
||||
Assertions.assertNotEquals(hi3, hi1);
|
||||
Assertions.assertNotEquals(hi3.hashCode(), hi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two HardwareInfo objects with different manufacturer information will generate
|
||||
* different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqualsAndHashCodeManufacturer() {
|
||||
String manufacturer2 = "test manufacturer 2";
|
||||
HardwareInfo hi1 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
HardwareInfo hi2 = new HardwareInfo(manufacturer2, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
Assertions.assertNotEquals(hi2, hi1);
|
||||
Assertions.assertNotEquals(hi2.hashCode(), hi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two HardwareInfo objects with different product name information will
|
||||
* generate different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqualsAndHashCodeProductName() {
|
||||
String productName2 = "test product name 2";
|
||||
HardwareInfo hi1 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
HardwareInfo hi2 = new HardwareInfo(MANUFACTURER, productName2, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
Assertions.assertNotEquals(hi2, hi1);
|
||||
Assertions.assertNotEquals(hi2.hashCode(), hi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two HardwareInfo objects with different version information will generate
|
||||
* different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqualsAndHashCodeVersion() {
|
||||
String version2 = "test version 2";
|
||||
HardwareInfo hi1 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
HardwareInfo hi2 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, version2, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
Assertions.assertNotEquals(hi2, hi1);
|
||||
Assertions.assertNotEquals(hi2.hashCode(), hi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two HardwareInfo objects with different serial number information will generate
|
||||
* different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqualsAndHashCodeSerialNumber() {
|
||||
String serialNumber2 = "test serialNumber 2";
|
||||
HardwareInfo hi1 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
HardwareInfo hi2 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, serialNumber2,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
Assertions.assertNotEquals(hi2, hi1);
|
||||
Assertions.assertNotEquals(hi2.hashCode(), hi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two HardwareInfo objects with different chassis serial number information will
|
||||
* generate different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqualsAndHashCodeChassisSerialNumber() {
|
||||
String chassisSerialNumber2 = "test chassisSerialNumber 2";
|
||||
HardwareInfo hi1 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
HardwareInfo hi2 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
chassisSerialNumber2, BASEBOARD_SERIAL_NUMBER);
|
||||
Assertions.assertNotEquals(hi2, hi1);
|
||||
Assertions.assertNotEquals(hi2.hashCode(), hi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two HardwareInfo objects with different baseboard serial number information will
|
||||
* generate different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqualsAndHashCodeBaseboardSerialNumber() {
|
||||
String baseboardSerialNumber2 = "test baseboardSerialNumber 2";
|
||||
HardwareInfo hi1 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, BASEBOARD_SERIAL_NUMBER);
|
||||
HardwareInfo hi2 = new HardwareInfo(MANUFACTURER, PRODUCT_NAME, VERSION, SERIAL_NUMBER,
|
||||
CHASSIS_SERIAL_NUMBER, baseboardSerialNumber2);
|
||||
Assertions.assertNotEquals(hi2, hi1);
|
||||
Assertions.assertNotEquals(hi2.hashCode(), hi1.hashCode());
|
||||
}
|
||||
}
|
189
HIRS_Utils/src/test/java/hirs/data/persist/NetworkInfoTest.java
Normal file
189
HIRS_Utils/src/test/java/hirs/data/persist/NetworkInfoTest.java
Normal file
@ -0,0 +1,189 @@
|
||||
package hirs.data.persist;
|
||||
|
||||
import hirs.attestationca.persist.entity.userdefined.info.NetworkInfo;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* NetworkInfoTest is a unit test class for NetworkInfo.
|
||||
*/
|
||||
public class NetworkInfoTest {
|
||||
|
||||
private static final String HOSTNAME = "test hostname";
|
||||
private static final InetAddress IP_ADDRESS = getTestIpAddress();
|
||||
private static final byte[] MAC_ADDRESS = new byte[] {11, 22, 33, 44, 55,
|
||||
66};
|
||||
|
||||
/**
|
||||
* Tests instantiation of a NetworkInfo object.
|
||||
*/
|
||||
@Test
|
||||
public final void networkInfo() {
|
||||
new NetworkInfo(null, null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the getter for hostname of the NetworkInfo object. Hostname can be
|
||||
* null if not known.
|
||||
*/
|
||||
@Test
|
||||
public final void hostnameTest() {
|
||||
NetworkInfo networkInfo = new NetworkInfo(null, null, null);
|
||||
Assertions.assertNull(networkInfo.getHostname());
|
||||
|
||||
networkInfo = new NetworkInfo(HOSTNAME, null, null);
|
||||
Assertions.assertEquals(HOSTNAME, networkInfo.getHostname());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the getter for the IP address of the NetworkInfo object. IP address
|
||||
* can be null if not known.
|
||||
*/
|
||||
@Test
|
||||
public final void ipAddressTest() {
|
||||
NetworkInfo networkInfo = new NetworkInfo(null, null, null);
|
||||
Assertions.assertNull(networkInfo.getIpAddress());
|
||||
|
||||
networkInfo = new NetworkInfo(null, IP_ADDRESS, null);
|
||||
Assertions.assertEquals(IP_ADDRESS, networkInfo.getIpAddress());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the getter for the MAC address of the NetworkInfo object. MAC
|
||||
* address can be null if not known.
|
||||
*/
|
||||
@Test
|
||||
public final void macAddressTest() {
|
||||
NetworkInfo networkInfo = new NetworkInfo(null, null, null);
|
||||
Assertions.assertNull(networkInfo.getMacAddress());
|
||||
|
||||
networkInfo = new NetworkInfo(null, null, MAC_ADDRESS);
|
||||
Assertions.assertArrayEquals(MAC_ADDRESS, networkInfo.getMacAddress());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that trying to set the MAC address to a byte array that's an
|
||||
* invalid size throws an exception.
|
||||
*/
|
||||
@Test
|
||||
public final void macAddressInvalidSizeTest() {
|
||||
final byte[] invalidMacAddress = new byte[] {11, 22, 33, 44, 55};
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> new NetworkInfo(
|
||||
null, null, invalidMacAddress
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that hashcodes generated by two equal NetworkInfo objects are
|
||||
* equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testHashCodeEquals() {
|
||||
NetworkInfo ni1 = new NetworkInfo(HOSTNAME, IP_ADDRESS, MAC_ADDRESS);
|
||||
NetworkInfo ni2 = new NetworkInfo(HOSTNAME, IP_ADDRESS, MAC_ADDRESS);
|
||||
Assertions.assertEquals(ni2.hashCode(), ni1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that hashcodes generated by NetworkInfo objects with different
|
||||
* hostnames are not equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testHashCodeNotEqualsHostname() {
|
||||
String hostname2 = "test hostname2";
|
||||
NetworkInfo ni1 = new NetworkInfo(HOSTNAME, IP_ADDRESS, MAC_ADDRESS);
|
||||
NetworkInfo ni2 = new NetworkInfo(hostname2, IP_ADDRESS, MAC_ADDRESS);
|
||||
Assertions.assertNotEquals(ni2.hashCode(), ni1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that hashcodes generated by NetworkInfo objects with different IP
|
||||
* addresses are not equal.
|
||||
*
|
||||
* @throws UnknownHostException
|
||||
* in case the InetAddress is not created correctly
|
||||
*/
|
||||
@Test
|
||||
public final void testHashCodeNotEqualsIpAddress()
|
||||
throws UnknownHostException {
|
||||
final InetAddress ipAddress2 =
|
||||
InetAddress.getByAddress(new byte[] {127, 0, 0, 2});
|
||||
NetworkInfo ni1 = new NetworkInfo(HOSTNAME, IP_ADDRESS, MAC_ADDRESS);
|
||||
NetworkInfo ni2 = new NetworkInfo(HOSTNAME, ipAddress2, MAC_ADDRESS);
|
||||
Assertions.assertNotEquals(ni2.hashCode(), ni1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that hashcodes generated by NetworkInfo objects with different MAC
|
||||
* address are not equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testHashCodeNotEqualsMacAddress() {
|
||||
final byte[] macAddress2 = new byte[] {11, 22, 33, 44, 55, 67};
|
||||
NetworkInfo ni1 = new NetworkInfo(HOSTNAME, IP_ADDRESS, MAC_ADDRESS);
|
||||
NetworkInfo ni2 = new NetworkInfo(HOSTNAME, IP_ADDRESS, macAddress2);
|
||||
Assertions.assertNotEquals(ni2.hashCode(), ni1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two NetworkInfo objects are equal if they have the same
|
||||
* hostname, IP address, and MAC address.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqual() {
|
||||
NetworkInfo ni1 = new NetworkInfo(HOSTNAME, IP_ADDRESS, MAC_ADDRESS);
|
||||
NetworkInfo ni2 = new NetworkInfo(HOSTNAME, IP_ADDRESS, MAC_ADDRESS);
|
||||
Assertions.assertEquals(ni2, ni1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two NetworkInfo objects are not equal if they have different
|
||||
* hostnames.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualsHostname() {
|
||||
String hostname2 = "test hostname2";
|
||||
NetworkInfo ni1 = new NetworkInfo(HOSTNAME, IP_ADDRESS, MAC_ADDRESS);
|
||||
NetworkInfo ni2 = new NetworkInfo(hostname2, IP_ADDRESS, MAC_ADDRESS);
|
||||
Assertions.assertNotEquals(ni2, ni1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two NetworkInfo objects are not equal if they have different
|
||||
* IP addresses.
|
||||
*
|
||||
* @throws UnknownHostException
|
||||
* in case InetAddress is not created correctly
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualsIpAddress() throws UnknownHostException {
|
||||
final InetAddress ipAddress2 =
|
||||
InetAddress.getByAddress(new byte[] {127, 0, 0, 2});
|
||||
NetworkInfo ni1 = new NetworkInfo(HOSTNAME, IP_ADDRESS, MAC_ADDRESS);
|
||||
NetworkInfo ni2 = new NetworkInfo(HOSTNAME, ipAddress2, MAC_ADDRESS);
|
||||
Assertions.assertNotEquals(ni2, ni1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two NetworkInfo objects are not equal if they have different
|
||||
* MAC addresses.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualsMacAddress() {
|
||||
final byte[] macAddress2 = new byte[] {11, 22, 33, 44, 55, 67};
|
||||
NetworkInfo ni1 = new NetworkInfo(HOSTNAME, IP_ADDRESS, MAC_ADDRESS);
|
||||
NetworkInfo ni2 = new NetworkInfo(HOSTNAME, IP_ADDRESS, macAddress2);
|
||||
Assertions.assertNotEquals(ni2, ni1);
|
||||
}
|
||||
|
||||
private static InetAddress getTestIpAddress() {
|
||||
try {
|
||||
return InetAddress.getByAddress(new byte[] {127, 0, 0, 1});
|
||||
} catch (UnknownHostException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
249
HIRS_Utils/src/test/java/hirs/data/persist/OSInfoTest.java
Normal file
249
HIRS_Utils/src/test/java/hirs/data/persist/OSInfoTest.java
Normal file
@ -0,0 +1,249 @@
|
||||
package hirs.data.persist;
|
||||
|
||||
import hirs.attestationca.persist.entity.userdefined.info.OSInfo;
|
||||
import static hirs.utils.enums.DeviceInfoEnums.NOT_SPECIFIED;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* OSInfoTest is a unit test class for OSInfo.
|
||||
*/
|
||||
public class OSInfoTest {
|
||||
|
||||
private static final String OS_NAME = "test os";
|
||||
private static final String OS_VERSION = "test osVersion";
|
||||
private static final String OS_ARCH = "test osArch";
|
||||
private static final String DISTRIBUTION = "test distribution";
|
||||
private static final String DISTRIBUTION_RELEASE = "test distribution release";
|
||||
|
||||
private static final String LONG_OS_NAME = StringUtils.rightPad("test os", 257);
|
||||
private static final String LONG_OS_VERSION = StringUtils.rightPad("test osVersion", 257);
|
||||
private static final String LONG_OS_ARCH = StringUtils.rightPad("test osArch", 33);
|
||||
|
||||
/**
|
||||
* Tests instantiation of an OSInfo object.
|
||||
*/
|
||||
@Test
|
||||
public final void osInfo() {
|
||||
new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the no-parameter constructor for OSInfo contains expected values.
|
||||
*/
|
||||
@Test
|
||||
public final void osInfoNoParams() {
|
||||
OSInfo osInfo = new OSInfo();
|
||||
Assertions.assertEquals(NOT_SPECIFIED, osInfo.getOsName());
|
||||
Assertions.assertEquals(NOT_SPECIFIED, osInfo.getOsVersion());
|
||||
Assertions.assertEquals(NOT_SPECIFIED, osInfo.getOsArch());
|
||||
Assertions.assertEquals(NOT_SPECIFIED, osInfo.getDistribution());
|
||||
Assertions.assertEquals(NOT_SPECIFIED, osInfo.getDistributionRelease());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the getters for OSInfo return the expected values.
|
||||
*/
|
||||
@Test
|
||||
public final void osInfoGetters() {
|
||||
OSInfo osInfo =
|
||||
new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertEquals(OS_NAME, osInfo.getOsName());
|
||||
Assertions.assertEquals(OS_VERSION, osInfo.getOsVersion());
|
||||
Assertions.assertEquals(OS_ARCH, osInfo.getOsArch());
|
||||
Assertions.assertEquals(DISTRIBUTION, osInfo.getDistribution());
|
||||
Assertions.assertEquals(DISTRIBUTION_RELEASE, osInfo.getDistributionRelease());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that a null pointer exception is thrown if OS name is null.
|
||||
*/
|
||||
@Test
|
||||
public final void osNameNullTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () ->
|
||||
new OSInfo(null, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that a null pointer exception is thrown if OS version is null.
|
||||
*/
|
||||
@Test
|
||||
public final void osVersionNullTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () ->
|
||||
new OSInfo(OS_NAME, null, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that a null pointer exception is thrown if OS arch is null.
|
||||
*/
|
||||
@Test
|
||||
public final void osArchNullTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () ->
|
||||
new OSInfo(OS_NAME, OS_VERSION, null, DISTRIBUTION, DISTRIBUTION_RELEASE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that a null pointer exception is thrown if OS name is null.
|
||||
*/
|
||||
@Test
|
||||
public final void osNameLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () ->
|
||||
new OSInfo(LONG_OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that a null pointer exception is thrown if OS version is null.
|
||||
*/
|
||||
@Test
|
||||
public final void osVersionLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () ->
|
||||
new OSInfo(OS_NAME, LONG_OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that a null pointer exception is thrown if OS arch is null.
|
||||
*/
|
||||
@Test
|
||||
public final void osArchLongTest() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () ->
|
||||
new OSInfo(OS_NAME, OS_VERSION, LONG_OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that distribution info may be null.
|
||||
*/
|
||||
@Test
|
||||
public final void distributionNullTest() {
|
||||
new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, null, DISTRIBUTION_RELEASE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that distribution release info may be null.
|
||||
*/
|
||||
@Test
|
||||
public final void distributionReleaseNullTest() {
|
||||
new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two OSInfo objects with the same name, make, version, and
|
||||
* distribution create hash codes that are equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqualHashCode() {
|
||||
OSInfo oi1 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
OSInfo oi2 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertEquals(oi2.hashCode(), oi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two OSInfo objects with different name information will
|
||||
* generate different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualHashCodeOSName() {
|
||||
String osName2 = "test os name 2";
|
||||
OSInfo oi1 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
OSInfo oi2 = new OSInfo(osName2, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertNotEquals(oi2.hashCode(), oi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two OSInfo objects with different make information will
|
||||
* generate different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualHashCodeOSMake() {
|
||||
String osMake2 = "test os make 2";
|
||||
OSInfo oi1 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
OSInfo oi2 = new OSInfo(OS_NAME, osMake2, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertNotEquals(oi2.hashCode(), oi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two OSInfo objects with different version information will
|
||||
* generate different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualHashCodeOSVersion() {
|
||||
String osVersion2 = "test os version 2";
|
||||
OSInfo oi1 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
OSInfo oi2 =
|
||||
new OSInfo(OS_NAME, OS_VERSION, osVersion2, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertNotEquals(oi2.hashCode(), oi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two OSInfo objects with different distribution information
|
||||
* will generate different hash codes.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualHashCodeDistribution() {
|
||||
String distribution2 = "test distribution 2";
|
||||
OSInfo oi1 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
OSInfo oi2 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, distribution2, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertNotEquals(oi2.hashCode(), oi1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two OSInfo objects with the same name, make, version, and
|
||||
* distribution information are equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testEqual() {
|
||||
OSInfo oi1 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
OSInfo oi2 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertEquals(oi2, oi1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two OSInfo objects with different name information are not
|
||||
* equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualOSName() {
|
||||
String osName2 = "test os Name 2";
|
||||
OSInfo oi1 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
OSInfo oi2 = new OSInfo(osName2, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertNotEquals(oi2, oi1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two OSInfo objects with different make information are not
|
||||
* equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualOSMake() {
|
||||
String osMake2 = "test os make 2";
|
||||
OSInfo oi1 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
OSInfo oi2 = new OSInfo(OS_NAME, osMake2, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertNotEquals(oi2, oi1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two OSInfo objects with different version information are not
|
||||
* equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualOSVersion() {
|
||||
String osVersion2 = "test os version 2";
|
||||
OSInfo oi1 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
OSInfo oi2 =
|
||||
new OSInfo(OS_NAME, OS_VERSION, osVersion2, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertNotEquals(oi2, oi1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two OSInfo objects with different distribution information are
|
||||
* not equal.
|
||||
*/
|
||||
@Test
|
||||
public final void testNotEqualDistribution() {
|
||||
String distribution2 = "test distribution 2";
|
||||
OSInfo oi1 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, DISTRIBUTION, DISTRIBUTION_RELEASE);
|
||||
OSInfo oi2 = new OSInfo(OS_NAME, OS_VERSION, OS_ARCH, distribution2, DISTRIBUTION_RELEASE);
|
||||
Assertions.assertNotEquals(oi2, oi1);
|
||||
}
|
||||
}
|
202
HIRS_Utils/src/test/java/hirs/data/persist/PolicyTest.java
Normal file
202
HIRS_Utils/src/test/java/hirs/data/persist/PolicyTest.java
Normal file
@ -0,0 +1,202 @@
|
||||
package hirs.data.persist;
|
||||
|
||||
import hirs.attestationca.persist.entity.Policy;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
/**
|
||||
* <code>PolicyTest</code> is a unit test class for the <code>Policy</code>
|
||||
* class.
|
||||
*/
|
||||
public final class PolicyTest {
|
||||
|
||||
private static final Logger LOGGER = LogManager.getLogger(PolicyTest.class);
|
||||
|
||||
/**
|
||||
* Empty constructor that does nothing.
|
||||
*/
|
||||
public PolicyTest() {
|
||||
/* do nothing */
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests <code>Policy</code> constructor with valid name.
|
||||
*/
|
||||
@Test
|
||||
public void testPolicy() {
|
||||
LOGGER.debug("testPolicy test started");
|
||||
final String name = "myPolicy";
|
||||
new TestPolicy(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that <code>Policy</code> constructor throws
|
||||
* <code>NullPointerException</code> with null name.
|
||||
*/
|
||||
@Test
|
||||
public void testPolicyNullName() {
|
||||
LOGGER.debug("testPolicyNullName test started");
|
||||
Assertions.assertThrows(NullPointerException.class, () -> new TestPolicy(null));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that <code>getName()</code> returns the name.
|
||||
*/
|
||||
@Test
|
||||
public void testGetName() {
|
||||
LOGGER.debug("testGetName test started");
|
||||
final String name = "myPolicy";
|
||||
Policy p = new TestPolicy(name);
|
||||
Assertions.assertEquals(name, p.getName());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that <code>Policy</code> constructor throws
|
||||
* <code>NullPointerException</code> with null name.
|
||||
*/
|
||||
@Test
|
||||
public void testPolicyNullDescription() {
|
||||
LOGGER.debug("testPolicyNullDescription test started");
|
||||
final String name = "myPolicy";
|
||||
Assertions.assertThrows(NullPointerException.class, () -> new TestPolicy(name, null));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that <code>getDescription()()</code> returns the description.
|
||||
*/
|
||||
@Test
|
||||
public void testGetDescription() {
|
||||
LOGGER.debug("testGetDescription test started");
|
||||
final String name = "myPolicy";
|
||||
final String description = "myDescription";
|
||||
Policy p = new TestPolicy(name, description);
|
||||
Assertions.assertEquals(description, p.getDescription());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two <code>Policy</code> objects are equal if they have the
|
||||
* same name.
|
||||
*/
|
||||
@Test
|
||||
public void testEquals() {
|
||||
LOGGER.debug("testEquals test started");
|
||||
final String name1 = "myPolicy";
|
||||
Policy p1 = new TestPolicy(name1);
|
||||
final String name2 = "myPolicy";
|
||||
Policy p2 = new TestPolicy(name2);
|
||||
Assertions.assertEquals(p2, p1);
|
||||
Assertions.assertEquals(p2, p1);
|
||||
Assertions.assertEquals(p2, p1);
|
||||
Assertions.assertEquals(p2, p1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that two <code>Policy</code> objects are not equal if the names are
|
||||
* different.
|
||||
*/
|
||||
@Test
|
||||
public void testNotEquals() {
|
||||
LOGGER.debug("testNotEquals test started");
|
||||
final String name1 = "myPolicy1";
|
||||
Policy p1 = new TestPolicy(name1);
|
||||
final String name2 = "myPolicy2";
|
||||
Policy p2 = new TestPolicy(name2);
|
||||
Assertions.assertNotEquals(p2, p1);
|
||||
Assertions.assertNotEquals(p2, p1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that hash code is that of the name.
|
||||
*/
|
||||
@Test
|
||||
public void testHashCode() {
|
||||
LOGGER.debug("testHashCode test started");
|
||||
final String name = "myPolicy";
|
||||
Policy p = new TestPolicy(name);
|
||||
Assertions.assertEquals(p.hashCode(), name.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the hash code of two <code>Policy</code> objects are the same
|
||||
* if the names are the same.
|
||||
*/
|
||||
@Test
|
||||
public void testHashCodeEquals() {
|
||||
LOGGER.debug("testHashCodeEquals test started");
|
||||
final String name1 = "myPolicy";
|
||||
Policy p1 = new TestPolicy(name1);
|
||||
final String name2 = "myPolicy";
|
||||
Policy p2 = new TestPolicy(name2);
|
||||
Assertions.assertEquals(p2.hashCode(), p1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the hash codes of two <code>Policy</code> objects are
|
||||
* different if they have different names.
|
||||
*/
|
||||
@Test
|
||||
public void testHashCodeNotEquals() {
|
||||
LOGGER.debug("testHashCodeNotEquals test started");
|
||||
final String name1 = "myPolicy1";
|
||||
Policy p1 = new TestPolicy(name1);
|
||||
final String name2 = "myPolicy2";
|
||||
Policy p2 = new TestPolicy(name2);
|
||||
Assertions.assertNotEquals(p2.hashCode(), p1.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the name can be set for a <code>Policy</code>.
|
||||
*/
|
||||
@Test
|
||||
public void setName() {
|
||||
LOGGER.debug("setName test started");
|
||||
final String name = "myPolicy";
|
||||
Policy p = new TestPolicy(name);
|
||||
final String newName = "newPolicy";
|
||||
p.setName(newName);
|
||||
Assertions.assertEquals(p.getName(), newName);
|
||||
Assertions.assertEquals(p.hashCode(), newName.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the description can be set for a <code>Policy</code>.
|
||||
*/
|
||||
@Test
|
||||
public void setDescription() {
|
||||
LOGGER.debug("setDescription test started");
|
||||
final String name = "myPolicy";
|
||||
final String description = "myDescription";
|
||||
Policy p = new TestPolicy(name, description);
|
||||
final String newDescription = "newDescription";
|
||||
p.setDescription(newDescription);
|
||||
Assertions.assertEquals(p.getDescription(), newDescription);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that a name cannot be null for a <code>Policy</code>.
|
||||
*/
|
||||
@Test
|
||||
public void setNameNull() {
|
||||
LOGGER.debug("setNameNull test started");
|
||||
final String name = "myPolicy";
|
||||
Policy p = new TestPolicy(name);
|
||||
Assertions.assertThrows(NullPointerException.class, () -> p.setName(null));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that a description cannot be null for a <code>Policy</code>.
|
||||
*/
|
||||
@Test
|
||||
public void setDescriptionNull() {
|
||||
LOGGER.debug("setDescriptionNull test started");
|
||||
final String name = "myPolicy";
|
||||
final String description = "myDescription";
|
||||
Policy p = new TestPolicy(name, description);
|
||||
Assertions.assertThrows(NullPointerException.class, () -> p.setDescription(null));
|
||||
}
|
||||
}
|
||||
|
37
HIRS_Utils/src/test/java/hirs/data/persist/TestPolicy.java
Normal file
37
HIRS_Utils/src/test/java/hirs/data/persist/TestPolicy.java
Normal file
@ -0,0 +1,37 @@
|
||||
package hirs.data.persist;
|
||||
|
||||
import hirs.attestationca.persist.entity.Policy;
|
||||
import jakarta.persistence.Entity;
|
||||
|
||||
/**
|
||||
* This <code>Policy</code> class is used exclusively for testing purposes.
|
||||
*/
|
||||
@Entity
|
||||
public class TestPolicy extends Policy {
|
||||
|
||||
/**
|
||||
* Creates a new <code>TestPolicy</code> with the set name.
|
||||
*
|
||||
* @param name name
|
||||
*/
|
||||
public TestPolicy(final String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new <code>TestPolicy</code> with the set name and description.
|
||||
*
|
||||
* @param name name
|
||||
* @param description description
|
||||
*/
|
||||
public TestPolicy(final String name, final String description) {
|
||||
super(name, description);
|
||||
}
|
||||
|
||||
/**
|
||||
* Default constructor necessary for Hibernate.
|
||||
*/
|
||||
protected TestPolicy() {
|
||||
super();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user