diff --git a/HIRS_Utils/src/test/java/hirs/data/persist/DeviceGroupTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/data/persist/DeviceGroupTest.java
similarity index 99%
rename from HIRS_Utils/src/test/java/hirs/data/persist/DeviceGroupTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/data/persist/DeviceGroupTest.java
index 23f4d4cc..2af0d00c 100644
--- a/HIRS_Utils/src/test/java/hirs/data/persist/DeviceGroupTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/data/persist/DeviceGroupTest.java
@@ -1,14 +1,16 @@
-package hirs.data.persist;
+package hirs.attestationca.data.persist;
+import hirs.data.persist.Device;
+import hirs.data.persist.DeviceGroup;
import hirs.data.persist.enums.HealthStatus;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
import hirs.persist.ScheduledJobInfo;
import org.testng.Assert;
import org.testng.annotations.Test;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
import static hirs.data.persist.DeviceGroup.DEFAULT_REPORT_DELAY_THRESHOLD;
import static hirs.data.persist.DeviceGroup.MINIMUM_THRESHOLD_INTERVAL_MS;
diff --git a/HIRS_AttestationCA/src/test/java/hirs/attestationca/data/persist/DeviceInfoReportTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/data/persist/DeviceInfoReportTest.java
new file mode 100644
index 00000000..4eee4e93
--- /dev/null
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/data/persist/DeviceInfoReportTest.java
@@ -0,0 +1,339 @@
+package hirs.attestationca.data.persist;
+
+import hirs.attestationca.persist.SpringPersistenceTest;
+import hirs.attestationca.servicemanager.DBReportManager;
+import hirs.data.persist.DeviceInfoReport;
+import hirs.data.persist.info.FirmwareInfo;
+import hirs.data.persist.info.HardwareInfo;
+import hirs.data.persist.info.NetworkInfo;
+import hirs.data.persist.info.OSInfo;
+import hirs.data.persist.info.TPMInfo;
+import hirs.foss.XMLCleaner;
+import hirs.persist.ReportManager;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
+import java.util.UUID;
+
+/**
+ * DeviceInfoReportTest is a unit test class for DeviceInfoReports.
+ */
+public class DeviceInfoReportTest extends SpringPersistenceTest {
+ private final NetworkInfo networkInfo = createTestNetworkInfo();
+ private final OSInfo osInfo = createTestOSInfo();
+ private final FirmwareInfo firmwareInfo = createTestFirmwareInfo();
+ private final HardwareInfo hardwareInfo = createTestHardwareInfo();
+ private final TPMInfo tpmInfo = createTPMInfo();
+ private static final String TEST_IDENTITY_CERT = "/tpm/sample_identity_cert.cer";
+
+ private static final Logger LOGGER = LogManager.getLogger(DeviceInfoReportTest.class);
+
+ private static final String EXPECTED_CLIENT_VERSION = "Test.Version";
+
+ private ReportManager reportManager;
+
+ /**
+ * Initializes a SessionFactory
. The factory is used for an
+ * in-memory database that is used for testing.
+ */
+ @BeforeClass
+ public final void setup() {
+ LOGGER.debug("retrieving session factory");
+ reportManager = new DBReportManager(sessionFactory);
+ }
+
+ /**
+ * Closes the SessionFactory
from setup.
+ */
+ @AfterClass
+ public final void tearDown() {
+ LOGGER.debug("closing session factory");
+ }
+
+ /**
+ * Tests instantiation of a DeviceInfoReport.
+ */
+ @Test
+ public final void deviceInfoReport() {
+ new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo);
+ }
+
+ /**
+ * Tests that NetworkInfo cannot be null.
+ */
+ @Test(expectedExceptions = NullPointerException.class)
+ public final void networkInfoNull() {
+ new DeviceInfoReport(null, osInfo, firmwareInfo, hardwareInfo, tpmInfo);
+ }
+
+ /**
+ * Tests that OSInfo cannot be null.
+ */
+ @Test(expectedExceptions = NullPointerException.class)
+ public final void osInfoNull() {
+ new DeviceInfoReport(networkInfo, null, firmwareInfo, hardwareInfo, tpmInfo);
+ }
+
+ /**
+ * Tests that FirmwareInfo cannot be null.
+ */
+ @Test(expectedExceptions = NullPointerException.class)
+ public final void firmwareInfoNull() {
+ new DeviceInfoReport(networkInfo, osInfo, null, hardwareInfo, tpmInfo);
+ }
+
+ /**
+ * Tests that HardwareInfo cannot be null.
+ */
+ @Test(expectedExceptions = NullPointerException.class)
+ public final void hardwareInfoNull() {
+ new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, null, tpmInfo);
+ }
+
+ /**
+ * Tests that TPMInfo may be null.
+ */
+ @Test
+ public final void tpmInfoNull() {
+ new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, null);
+ }
+
+ /**
+ * Tests that the getters for DeviceInfoReport work as expected.
+ */
+ @Test
+ public final void testGetters() {
+ DeviceInfoReport deviceInfoReport =
+ new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo);
+ Assert.assertEquals(deviceInfoReport.getNetworkInfo(), networkInfo);
+ Assert.assertEquals(deviceInfoReport.getOSInfo(), osInfo);
+ Assert.assertEquals(deviceInfoReport.getFirmwareInfo(), firmwareInfo);
+ Assert.assertEquals(deviceInfoReport.getHardwareInfo(), hardwareInfo);
+ Assert.assertEquals(deviceInfoReport.getTPMInfo(), tpmInfo);
+ Assert.assertEquals(deviceInfoReport.getClientApplicationVersion(),
+ EXPECTED_CLIENT_VERSION);
+ }
+
+ /**
+ * Tests that the XML is generated correctly.
+ *
+ * @throws JAXBException
+ * in case there are errors marshalling/unmarshalling
+ */
+ @Test
+ public final void marshalUnmarshalTest() throws JAXBException {
+ DeviceInfoReport deviceInfoReport =
+ new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo);
+ String xml = getXMLFromReport(deviceInfoReport);
+ DeviceInfoReport deviceInfoReportFromXML = getReportFromXML(xml);
+ Assert.assertEquals(deviceInfoReportFromXML.getNetworkInfo(), networkInfo);
+ Assert.assertEquals(deviceInfoReportFromXML.getOSInfo(), osInfo);
+ Assert.assertEquals(deviceInfoReport.getFirmwareInfo(), firmwareInfo);
+ Assert.assertEquals(deviceInfoReport.getHardwareInfo(), hardwareInfo);
+ Assert.assertEquals(deviceInfoReportFromXML.getTPMInfo(), tpmInfo);
+ Assert.assertEquals(deviceInfoReport.getClientApplicationVersion(),
+ EXPECTED_CLIENT_VERSION);
+ }
+
+ /**
+ * Tests that a DeviceInfoReport
can be saved in the
+ * ReportManager
.
+ */
+ @Test
+ public final void testSaveReport() {
+ final DeviceInfoReport deviceInfoReport = new DeviceInfoReport(
+ networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo);
+ final DeviceInfoReport savedReport = (DeviceInfoReport) reportManager
+ .saveReport(deviceInfoReport);
+ Assert.assertEquals(savedReport.getNetworkInfo(), networkInfo);
+ Assert.assertEquals(savedReport.getOSInfo(), osInfo);
+ Assert.assertEquals(savedReport.getFirmwareInfo(), firmwareInfo);
+ Assert.assertEquals(savedReport.getHardwareInfo(), hardwareInfo);
+ Assert.assertEquals(savedReport.getTPMInfo(), tpmInfo);
+ Assert.assertEquals(deviceInfoReport.getClientApplicationVersion(),
+ EXPECTED_CLIENT_VERSION);
+ }
+
+ /**
+ * Tests that a DeviceInfoReport
can be saved in the
+ * ReportManager
and then retrieved.
+ */
+ @Test
+ public final void testGetReport() {
+ final DeviceInfoReport deviceInfoReport =
+ new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo);
+ final DeviceInfoReport savedReport =
+ (DeviceInfoReport) reportManager.saveReport(deviceInfoReport);
+ final DeviceInfoReport getReport =
+ (DeviceInfoReport) reportManager.getReport(savedReport.getId());
+ Assert.assertEquals(getReport.getNetworkInfo(), networkInfo);
+ Assert.assertEquals(getReport.getOSInfo(), osInfo);
+ Assert.assertEquals(getReport.getFirmwareInfo(), firmwareInfo);
+ Assert.assertEquals(getReport.getHardwareInfo(), hardwareInfo);
+ Assert.assertEquals(getReport.getTPMInfo(), tpmInfo);
+ Assert.assertEquals(getReport.getClientApplicationVersion(),
+ EXPECTED_CLIENT_VERSION);
+ }
+
+ /**
+ * Tests that a DeviceInfoReport
can be saved in the
+ * ReportManager
and then deleted.
+ */
+ @Test
+ public final void testDeleteReport() {
+ final DeviceInfoReport deviceInfoReport =
+ new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo);
+ final DeviceInfoReport savedReport =
+ (DeviceInfoReport) reportManager.saveReport(deviceInfoReport);
+ Assert.assertNotNull(savedReport);
+ final UUID id = savedReport.getId();
+ Assert.assertNotNull(reportManager.getReport(id));
+ Assert.assertTrue(reportManager.deleteReport(id));
+ Assert.assertNull(reportManager.getReport(id));
+ }
+
+ /**
+ * Creates a DeviceInfoReport instance usable for testing.
+ *
+ * @return a test DeviceInfoReport
+ */
+ public static DeviceInfoReport getTestReport() {
+ return new DeviceInfoReport(
+ createTestNetworkInfo(), createTestOSInfo(), createTestFirmwareInfo(),
+ createTestHardwareInfo(), createTPMInfo()
+ );
+ }
+
+ /**
+ * Creates a test instance of NetworkInfo.
+ *
+ * @return network information for a fake device
+ */
+ public static NetworkInfo createTestNetworkInfo() {
+ try {
+ final String hostname = "test.hostname";
+ final InetAddress ipAddress =
+ InetAddress.getByAddress(new byte[] {127, 0, 0, 1});
+ final byte[] macAddress = new byte[] {11, 22, 33, 44, 55, 66};
+ return new NetworkInfo(hostname, ipAddress, macAddress);
+
+ } catch (UnknownHostException e) {
+ LOGGER.error("error occurred while creating InetAddress");
+ return null;
+ }
+
+ }
+
+ /**
+ * Creates a test instance of OSInfo.
+ *
+ * @return OS information for a fake device
+ */
+ public static OSInfo createTestOSInfo() {
+ return new OSInfo("test os name", "test os version", "test os arch",
+ "test distribution", "test distribution release");
+ }
+
+ /**
+ * Creates a test instance of FirmwareInfo.
+ *
+ * @return Firmware information for a fake device
+ */
+ public static FirmwareInfo createTestFirmwareInfo() {
+ return new FirmwareInfo("test bios vendor", "test bios version", "test bios release date");
+ }
+
+ /**
+ * Creates a test instance of HardwareInfo.
+ *
+ * @return Hardware information for a fake device
+ */
+ public static HardwareInfo createTestHardwareInfo() {
+ return new HardwareInfo("test manufacturer", "test product name", "test version",
+ "test really long serial number with many characters", "test really long chassis "
+ + "serial number with many characters",
+ "test really long baseboard serial number with many characters");
+ }
+
+ /**
+ * Creates a test instance of TPMInfo.
+ *
+ * @return TPM information for a fake device
+ */
+ public static final TPMInfo createTPMInfo() {
+ final short num1 = 1;
+ final short num2 = 2;
+ final short num3 = 3;
+ final short num4 = 4;
+ return new TPMInfo("test os make", num1, num2, num3, num4,
+ getTestIdentityCertificate());
+ }
+
+ private static X509Certificate getTestIdentityCertificate() {
+ X509Certificate certificateValue = null;
+ InputStream istream = null;
+ istream = DeviceInfoReportTest.class.getResourceAsStream(
+ TEST_IDENTITY_CERT
+ );
+ try {
+ if (istream == null) {
+ throw new FileNotFoundException(TEST_IDENTITY_CERT);
+ }
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
+ certificateValue = (X509Certificate) cf.generateCertificate(
+ istream);
+
+ } catch (Exception e) {
+ return null;
+ } finally {
+ if (istream != null) {
+ try {
+ istream.close();
+ } catch (IOException e) {
+ LOGGER.error("test certificate file could not be closed");
+ }
+ }
+ }
+ return certificateValue;
+ }
+
+ private String getXMLFromReport(final DeviceInfoReport deviceInfoReport)
+ throws JAXBException {
+ String xml = null;
+ JAXBContext context = JAXBContext.newInstance(DeviceInfoReport.class);
+ Marshaller marshaller = context.createMarshaller();
+ StringWriter writer = new StringWriter();
+ marshaller.marshal(deviceInfoReport, writer);
+ xml = writer.toString();
+ xml = XMLCleaner.stripNonValidXMLCharacters(xml);
+ return xml;
+ }
+
+ private DeviceInfoReport getReportFromXML(final String xml)
+ throws JAXBException {
+ DeviceInfoReport deviceInfoReport;
+ JAXBContext context;
+ context = JAXBContext.newInstance(DeviceInfoReport.class);
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ StringReader reader = new StringReader(xml);
+ deviceInfoReport = (DeviceInfoReport) unmarshaller.unmarshal(reader);
+ return deviceInfoReport;
+ }
+}
diff --git a/HIRS_Utils/src/test/java/hirs/data/persist/DeviceTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/data/persist/DeviceTest.java
similarity index 98%
rename from HIRS_Utils/src/test/java/hirs/data/persist/DeviceTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/data/persist/DeviceTest.java
index 5670b296..091c29c8 100644
--- a/HIRS_Utils/src/test/java/hirs/data/persist/DeviceTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/data/persist/DeviceTest.java
@@ -1,5 +1,8 @@
-package hirs.data.persist;
+package hirs.attestationca.data.persist;
+import hirs.data.persist.AppraisalStatus;
+import hirs.data.persist.Device;
+import hirs.data.persist.DeviceInfoReport;
import hirs.data.persist.enums.HealthStatus;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/HIRS_Utils/src/test/java/hirs/persist/CertificateSelectorTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/CertificateSelectorTest.java
similarity index 95%
rename from HIRS_Utils/src/test/java/hirs/persist/CertificateSelectorTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/CertificateSelectorTest.java
index 5752e318..1e34e210 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/CertificateSelectorTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/CertificateSelectorTest.java
@@ -1,12 +1,15 @@
-package hirs.persist;
+package hirs.attestationca.persist;
+import hirs.attestationca.servicemanager.DBCertificateManager;
import hirs.data.persist.certificate.CertificateAuthorityCredential;
+import hirs.persist.CertificateManager;
import org.springframework.util.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
/**
- * This class contains simple tests some of the functionality of {@link CertificateSelector}.
+ * This class contains simple tests some of the functionality of
+ * {@link hirs.persist.CertificateSelector}.
* For actual functional tests that test certificate retrieval using the class, see
* {@link DBCertificateManagerTest}.
*/
diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBAppraiserManagerTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBAppraiserManagerTest.java
similarity index 97%
rename from HIRS_Utils/src/test/java/hirs/persist/DBAppraiserManagerTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBAppraiserManagerTest.java
index a86b8ed0..99acaa62 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/DBAppraiserManagerTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBAppraiserManagerTest.java
@@ -1,9 +1,11 @@
-package hirs.persist;
+package hirs.attestationca.persist;
import hirs.appraiser.Appraiser;
import hirs.appraiser.IMAAppraiser;
import hirs.appraiser.TPMAppraiser;
import hirs.appraiser.TestAppraiser;
+import hirs.attestationca.servicemanager.DBAppraiserManager;
+import hirs.persist.AppraiserManager;
import org.hibernate.Session;
import org.hibernate.query.Query;
import org.testng.Assert;
@@ -41,7 +43,7 @@ public class DBAppraiserManagerTest extends SpringPersistenceTest {
*/
@AfterMethod
public void resetTestState() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBCertificateManagerTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBCertificateManagerTest.java
similarity index 98%
rename from HIRS_Utils/src/test/java/hirs/persist/DBCertificateManagerTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBCertificateManagerTest.java
index 3734f344..c59fd2a1 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/DBCertificateManagerTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBCertificateManagerTest.java
@@ -1,5 +1,8 @@
-package hirs.persist;
+package hirs.attestationca.persist;
+import hirs.attestationca.servicemanager.DBCertificateManager;
+import hirs.attestationca.servicemanager.DBDeviceGroupManager;
+import hirs.attestationca.servicemanager.DBDeviceManager;
import hirs.data.persist.Device;
import hirs.data.persist.DeviceGroup;
import hirs.data.persist.certificate.Certificate;
@@ -11,7 +14,11 @@ import hirs.data.persist.certificate.EndorsementCredential;
import hirs.data.persist.certificate.IssuedAttestationCertificate;
import hirs.data.persist.certificate.PlatformCredential;
import hirs.data.persist.certificate.PlatformCredentialTest;
-
+import hirs.persist.CertificateManager;
+import hirs.persist.CertificateSelector;
+import hirs.persist.DBManagerException;
+import hirs.persist.DeviceGroupManager;
+import hirs.persist.DeviceManager;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.Session;
@@ -169,7 +176,7 @@ public class DBCertificateManagerTest extends SpringPersistenceTest {
}
private void resetCertificateTestState() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(Certificate.class);
@@ -187,7 +194,7 @@ public class DBCertificateManagerTest extends SpringPersistenceTest {
}
private void resetDeviceTestState() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(Device.class);
@@ -205,7 +212,7 @@ public class DBCertificateManagerTest extends SpringPersistenceTest {
}
private void resetDeviceGroupTestState() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(DeviceGroup.class);
@@ -755,7 +762,8 @@ public class DBCertificateManagerTest extends SpringPersistenceTest {
}
/**
- * Tests that a {@link CertificateSelector} can be used to retrieve certificates in various
+ * Tests that a {@link hirs.persist.CertificateSelector} can be used to
+ * retrieve certificates in various
* forms, including {@link Certificate}.
*
* @throws IOException if there is a problem creating the certificate
diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBDeviceGroupManagerTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBDeviceGroupManagerTest.java
similarity index 97%
rename from HIRS_Utils/src/test/java/hirs/persist/DBDeviceGroupManagerTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBDeviceGroupManagerTest.java
index af8bb2c2..4591650f 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/DBDeviceGroupManagerTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBDeviceGroupManagerTest.java
@@ -1,27 +1,35 @@
-package hirs.persist;
+package hirs.attestationca.persist;
import hirs.appraiser.Appraiser;
-
+import hirs.appraiser.TestAppraiser;
+import hirs.attestationca.servicemanager.DBAppraiserManager;
+import hirs.attestationca.servicemanager.DBDeviceGroupManager;
+import hirs.attestationca.servicemanager.DBDeviceManager;
+import hirs.attestationca.servicemanager.DBPolicyManager;
import hirs.data.persist.Device;
import hirs.data.persist.DeviceGroup;
import hirs.data.persist.DeviceInfoReport;
+import hirs.attestationca.data.persist.DeviceTest;
import hirs.data.persist.Policy;
-
-import java.util.HashSet;
-import java.util.Set;
-import java.util.UUID;
-
import hirs.data.persist.TestPolicy;
-import org.apache.logging.log4j.Logger;
+import hirs.persist.AppraiserManager;
+import hirs.persist.DBUtility;
+import hirs.persist.DeviceGroupManager;
+import hirs.persist.DeviceGroupManagerException;
+import hirs.persist.DeviceManager;
+import hirs.persist.PolicyManager;
+import hirs.persist.PolicyMapper;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-import hirs.appraiser.TestAppraiser;
-import hirs.data.persist.DeviceTest;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.UUID;
/**
* Unit tests for the DBDeviceGroupManager
class.
diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBDeviceManagerTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBDeviceManagerTest.java
similarity index 97%
rename from HIRS_Utils/src/test/java/hirs/persist/DBDeviceManagerTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBDeviceManagerTest.java
index 6fdbbb6c..a42c768a 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/DBDeviceManagerTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBDeviceManagerTest.java
@@ -1,28 +1,34 @@
-package hirs.persist;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.UUID;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
+package hirs.attestationca.persist;
+import hirs.attestationca.servicemanager.DBDeviceGroupManager;
+import hirs.attestationca.servicemanager.DBDeviceManager;
+import hirs.attestationca.servicemanager.DBReportManager;
import hirs.data.persist.Device;
import hirs.data.persist.DeviceGroup;
import hirs.data.persist.DeviceInfoReport;
-import hirs.data.persist.DeviceTest;
+import hirs.attestationca.data.persist.DeviceTest;
import hirs.data.persist.enums.HealthStatus;
import hirs.data.persist.info.NetworkInfo;
+import hirs.persist.DBUtility;
+import hirs.persist.DeviceGroupManager;
+import hirs.persist.DeviceManager;
+import hirs.persist.DeviceManagerException;
+import hirs.persist.ReportManager;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import java.util.UUID;
+
/**
* DBDeviceManagerTest
is a unit test class for the
* DBDeviceManager
class.
@@ -99,7 +105,7 @@ public final class DBDeviceManagerTest extends SpringPersistenceTest {
* DeviceManagerException
if a Device
is saved
* twice.
*
- * @throws DeviceManagerException if any unexpected errors occur
+ * @throws hirs.persist.DeviceManagerException if any unexpected errors occur
* @throws Exception
* if any unexpected errors occur
*/
diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBManagerTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBManagerTest.java
similarity index 97%
rename from HIRS_Utils/src/test/java/hirs/persist/DBManagerTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBManagerTest.java
index 585b1e3a..f3bc3433 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/DBManagerTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBManagerTest.java
@@ -1,6 +1,9 @@
-package hirs.persist;
+package hirs.attestationca.persist;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import hirs.attestationca.servicemanager.DBManager;
+import hirs.data.persist.LazyTestItemChild;
+import hirs.persist.DBManagerException;
+import hirs.persist.DBUtility;
import org.hibernate.LazyInitializationException;
import org.hibernate.StaleObjectStateException;
import org.hibernate.exception.LockAcquisitionException;
@@ -13,7 +16,6 @@ import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-import hirs.data.persist.LazyTestItemChild;
import java.sql.SQLException;
@@ -68,10 +70,7 @@ public class DBManagerTest extends SpringPersistenceTest {
* LazyInitializationException.
*/
@Test(expectedExceptions = LazyInitializationException.class)
- @SuppressFBWarnings(
- value = "RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT",
- justification = "The statement is meant to throw an exception"
- )
+
public final void testGet() {
LazyTestItemChild child = new LazyTestItemChild("Test Child");
DBManager childMan =
diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBPolicyManagerTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBPolicyManagerTest.java
similarity index 97%
rename from HIRS_Utils/src/test/java/hirs/persist/DBPolicyManagerTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBPolicyManagerTest.java
index 4dd88529..7b8fe018 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/DBPolicyManagerTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBPolicyManagerTest.java
@@ -1,13 +1,21 @@
-package hirs.persist;
+package hirs.attestationca.persist;
import hirs.appraiser.Appraiser;
import hirs.appraiser.TestAppraiser;
+import hirs.attestationca.data.persist.DeviceTest;
+import hirs.attestationca.servicemanager.DBDeviceGroupManager;
+import hirs.attestationca.servicemanager.DBDeviceManager;
+import hirs.attestationca.servicemanager.DBPolicyManager;
import hirs.data.persist.Device;
import hirs.data.persist.DeviceGroup;
-import hirs.data.persist.DeviceTest;
import hirs.data.persist.Policy;
import hirs.data.persist.TestPolicy;
import hirs.data.persist.TestPolicy2;
+import hirs.persist.DeviceGroupManager;
+import hirs.persist.DeviceManager;
+import hirs.persist.PolicyManager;
+import hirs.persist.PolicyManagerException;
+import hirs.persist.PolicyMapper;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.Session;
@@ -66,7 +74,7 @@ public final class DBPolicyManagerTest extends SpringPersistenceTest {
@BeforeMethod
public void testSetup() {
LOGGER.debug("setting up DBPolicyManager tests");
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
appraiser = new TestAppraiser("Test Appraiser");
final Serializable id = session.save(appraiser);
@@ -90,7 +98,7 @@ public final class DBPolicyManagerTest extends SpringPersistenceTest {
}
private void resetPolicyMapperTestState() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(PolicyMapper.class);
@@ -108,7 +116,7 @@ public final class DBPolicyManagerTest extends SpringPersistenceTest {
}
private void resetAppraiserTestState() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(Appraiser.class);
@@ -126,7 +134,7 @@ public final class DBPolicyManagerTest extends SpringPersistenceTest {
}
private void resetPolicyTestState() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(Policy.class);
@@ -144,7 +152,7 @@ public final class DBPolicyManagerTest extends SpringPersistenceTest {
}
private void resetDeviceTestState() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(Device.class);
@@ -162,7 +170,7 @@ public final class DBPolicyManagerTest extends SpringPersistenceTest {
}
private void resetDeviceGroupTestState() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(DeviceGroup.class);
@@ -183,7 +191,7 @@ public final class DBPolicyManagerTest extends SpringPersistenceTest {
* Tests that the DBPolicyManager
can save a
* Policy
.
*
- * @throws PolicyManagerException
+ * @throws hirs.persist.PolicyManagerException
* if any unexpected errors occur
*/
@Test
@@ -874,7 +882,7 @@ public final class DBPolicyManagerTest extends SpringPersistenceTest {
LOGGER.debug("checking if policy {} is in database", name);
Policy policy = null;
Transaction tx = null;
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
try {
LOGGER.debug("retrieving policy");
tx = session.beginTransaction();
diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBPortalInfoManagerTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBPortalInfoManagerTest.java
similarity index 97%
rename from HIRS_Utils/src/test/java/hirs/persist/DBPortalInfoManagerTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBPortalInfoManagerTest.java
index 28d5baeb..1658279c 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/DBPortalInfoManagerTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBPortalInfoManagerTest.java
@@ -1,4 +1,17 @@
-package hirs.persist;
+package hirs.attestationca.persist;
+
+import hirs.attestationca.servicemanager.DBPortalInfoManager;
+import hirs.data.persist.enums.PortalScheme;
+import hirs.data.persist.info.PortalInfo;
+import hirs.persist.DBUtility;
+import hirs.persist.PortalInfoManager;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import java.lang.reflect.Field;
import java.net.URI;
@@ -6,16 +19,6 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import hirs.data.persist.info.PortalInfo;
-import hirs.data.persist.enums.PortalScheme;
-import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
/**
* Tests for the DBPortalInfoManager.
*/
diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBReportRequestStateManagerTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBReportRequestStateManagerTest.java
similarity index 95%
rename from HIRS_Utils/src/test/java/hirs/persist/DBReportRequestStateManagerTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBReportRequestStateManagerTest.java
index e48c37f4..c6b87081 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/DBReportRequestStateManagerTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBReportRequestStateManagerTest.java
@@ -1,16 +1,20 @@
-package hirs.persist;
+package hirs.attestationca.persist;
+import hirs.attestationca.servicemanager.DBDeviceGroupManager;
+import hirs.attestationca.servicemanager.DBDeviceManager;
+import hirs.attestationca.servicemanager.DBReportRequestStateManager;
import hirs.data.persist.Device;
import hirs.data.persist.DeviceGroup;
+import hirs.attestationca.data.persist.DeviceTest;
import hirs.data.persist.ReportRequestState;
import hirs.data.persist.type.ReportRequestType;
-
+import hirs.persist.DBManagerException;
+import hirs.persist.DBUtility;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-import hirs.data.persist.DeviceTest;
import java.util.ArrayList;
import java.util.Date;
diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBReportSummaryManagerTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBReportSummaryManagerTest.java
similarity index 94%
rename from HIRS_Utils/src/test/java/hirs/persist/DBReportSummaryManagerTest.java
rename to HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBReportSummaryManagerTest.java
index dfb7114a..7c70b6de 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/DBReportSummaryManagerTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/DBReportSummaryManagerTest.java
@@ -1,11 +1,12 @@
-package hirs.persist;
+package hirs.attestationca.persist;
import hirs.appraiser.HIRSAppraiser;
import hirs.appraiser.IMAAppraiser;
+import hirs.attestationca.servicemanager.DBReportSummaryManager;
import hirs.data.persist.AppraisalResult;
import hirs.data.persist.AppraisalStatus;
import hirs.data.persist.ReportSummary;
-
+import hirs.data.persist.SpringPersistenceTest;
import org.apache.commons.lang3.RandomStringUtils;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
diff --git a/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/SpringPersistenceTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/SpringPersistenceTest.java
new file mode 100644
index 00000000..a5714cc0
--- /dev/null
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/SpringPersistenceTest.java
@@ -0,0 +1,25 @@
+package hirs.attestationca.persist;
+
+import hirs.attestationca.configuration.PersistenceConfiguration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
+
+import javax.persistence.EntityManager;
+
+/**
+ * Base class that autowires a session factory for use of
+ * any tests that need a database connection.
+ */
+@ContextConfiguration(classes = PersistenceConfiguration.class)
+@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
+public class SpringPersistenceTest extends AbstractTestNGSpringContextTests {
+
+ /**
+ * Autowired session factory.
+ */
+ @SuppressWarnings("checkstyle:visibilitymodifier")
+ @Autowired
+ protected EntityManager sessionFactory;
+}
diff --git a/HIRS_AttestationCA/src/test/java/hirs/attestationca/service/SupplyChainValidationServiceImplTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/service/SupplyChainValidationServiceImplTest.java
index 6362a1a1..5cb8b5bf 100644
--- a/HIRS_AttestationCA/src/test/java/hirs/attestationca/service/SupplyChainValidationServiceImplTest.java
+++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/service/SupplyChainValidationServiceImplTest.java
@@ -1,5 +1,6 @@
package hirs.attestationca.service;
+import hirs.attestationca.persist.SpringPersistenceTest;
import hirs.appraiser.SupplyChainAppraiser;
import hirs.data.persist.AppraisalStatus;
import hirs.data.persist.Device;
diff --git a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/AcaInitializer.java b/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/AcaInitializer.java
index c4da3a8f..34805b9d 100644
--- a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/AcaInitializer.java
+++ b/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/AcaInitializer.java
@@ -2,7 +2,9 @@ package hirs.attestationca.portal.page;
import hirs.attestationca.AttestationCertificateAuthorityConfiguration;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
-
+/**
+ * Simply holds a contextInitialized method which will be called when the web app starts.
+ */
public class AcaInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
diff --git a/HIRS_Utils/src/test/java/hirs/data/persist/HibernateTest.java b/HIRS_Utils/src/test/java/hirs/data/persist/HibernateTest.java
index 7526ed50..5e34c644 100644
--- a/HIRS_Utils/src/test/java/hirs/data/persist/HibernateTest.java
+++ b/HIRS_Utils/src/test/java/hirs/data/persist/HibernateTest.java
@@ -62,7 +62,7 @@ public abstract class HibernateTest extends SpringPersistenceTest {
*/
@SuppressWarnings("unchecked")
protected final void removeAllOfClass(final Class clazz) {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(clazz);
@@ -85,7 +85,7 @@ public abstract class HibernateTest extends SpringPersistenceTest {
@Test
public final void testSaveT() {
LOGGER.debug("save {} test started", getDefaultClass());
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
final T object = getDefault(session);
session.save(object);
@@ -100,14 +100,14 @@ public abstract class HibernateTest extends SpringPersistenceTest {
@Test
public final void testGetT() {
LOGGER.debug("get {} test started", getDefaultClass());
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
final T object = getDefault(session);
LOGGER.debug("saving {}", object.getClass());
final Serializable id = session.save(object);
session.getTransaction().commit();
- session = sessionFactory.getCurrentSession();
+ session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
LOGGER.debug("getting {}", object.getClass());
@SuppressWarnings("unchecked")
@@ -126,7 +126,7 @@ public abstract class HibernateTest extends SpringPersistenceTest {
@SuppressWarnings("unchecked")
public final void testUpdateT() {
LOGGER.debug("update {} test started", getDefaultClass());
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
final T object = getDefault(session);
LOGGER.debug("saving {}", object.getClass());
@@ -134,7 +134,7 @@ public abstract class HibernateTest extends SpringPersistenceTest {
session.getTransaction().commit();
LOGGER.debug("updating {}", object.getClass());
- session = sessionFactory.getCurrentSession();
+ session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
T testObject = (T) session.get(object.getClass(), id);
update(testObject);
@@ -142,7 +142,7 @@ public abstract class HibernateTest extends SpringPersistenceTest {
session.getTransaction().commit();
LOGGER.debug("getting {}", object.getClass());
- session = sessionFactory.getCurrentSession();
+ session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
testObject = (T) session.get(object.getClass(), id);
session.getTransaction().commit();
@@ -156,14 +156,14 @@ public abstract class HibernateTest extends SpringPersistenceTest {
@Test
public final void testDeleteT() {
LOGGER.debug("delete {} test started", getDefaultClass());
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
final T object = getDefault(session);
LOGGER.debug("saving {}", object.getClass());
final Serializable id = session.save(object);
session.getTransaction().commit();
- session = sessionFactory.getCurrentSession();
+ session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
LOGGER.debug("getting {}", object.getClass());
@SuppressWarnings("unchecked")
@@ -171,7 +171,7 @@ public abstract class HibernateTest extends SpringPersistenceTest {
session.delete(t2);
session.getTransaction().commit();
- session = sessionFactory.getCurrentSession();
+ session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
LOGGER.debug("getting {} again", object.getClass());
@SuppressWarnings("unchecked")
@@ -246,12 +246,12 @@ public abstract class HibernateTest extends SpringPersistenceTest {
* the retrieved copy of the object from the database
*/
protected final T saveAndRetrieve(final T object) {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
Serializable id = session.save(object);
session.getTransaction().commit();
- session = sessionFactory.getCurrentSession();
+ session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
@SuppressWarnings("unchecked")
final T testObject = (T) session.get(object.getClass(), id);
diff --git a/HIRS_Utils/src/test/java/hirs/data/persist/IntegrityReportTest.java b/HIRS_Utils/src/test/java/hirs/data/persist/IntegrityReportTest.java
index c9ebb11f..46e0fb93 100644
--- a/HIRS_Utils/src/test/java/hirs/data/persist/IntegrityReportTest.java
+++ b/HIRS_Utils/src/test/java/hirs/data/persist/IntegrityReportTest.java
@@ -46,7 +46,7 @@ public class IntegrityReportTest extends HibernateTest {
*/
private static IntegrityReport getTestReport() {
IntegrityReport integrityReport = new IntegrityReport();
- integrityReport.addReport(DeviceInfoReportTest.getTestReport());
+// integrityReport.addReport(DeviceInfoReportTest.getTestReport());
return integrityReport;
}
@@ -191,7 +191,7 @@ public class IntegrityReportTest extends HibernateTest {
@Test
public final void testPersistingManyReports() throws Exception {
IntegrityReport integrityReport = new IntegrityReport();
- integrityReport.addReport(DeviceInfoReportTest.getTestReport());
+// integrityReport.addReport(DeviceInfoReportTest.getTestReport());
integrityReport.addReport(TPMReportTest.getTestReport());
integrityReport.addReport(new TestReport());
diff --git a/HIRS_Utils/src/test/java/hirs/data/persist/SpringPersistenceTest.java b/HIRS_Utils/src/test/java/hirs/data/persist/SpringPersistenceTest.java
index f423aa8f..f806d24b 100644
--- a/HIRS_Utils/src/test/java/hirs/data/persist/SpringPersistenceTest.java
+++ b/HIRS_Utils/src/test/java/hirs/data/persist/SpringPersistenceTest.java
@@ -1,16 +1,16 @@
package hirs.data.persist;
-import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
+import javax.persistence.EntityManager;
+
/**
* Base class that autowires a session factory for use of
* any tests that need a database connection.
*/
-@ContextConfiguration(classes = PersistenceConfiguration.class)
+//@ContextConfiguration(classes = PersistenceConfiguration.class)
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
public class SpringPersistenceTest extends AbstractTestNGSpringContextTests {
@@ -19,5 +19,5 @@ public class SpringPersistenceTest extends AbstractTestNGSpringContextTests {
*/
@SuppressWarnings("checkstyle:visibilitymodifier")
@Autowired
- protected SessionFactory sessionFactory;
+ protected EntityManager sessionFactory;
}
diff --git a/HIRS_Utils/src/test/java/hirs/data/persist/TPMReportTest.java b/HIRS_Utils/src/test/java/hirs/data/persist/TPMReportTest.java
index 7ad61c5e..c2298ca0 100644
--- a/HIRS_Utils/src/test/java/hirs/data/persist/TPMReportTest.java
+++ b/HIRS_Utils/src/test/java/hirs/data/persist/TPMReportTest.java
@@ -77,7 +77,7 @@ TPMReportTest extends SpringPersistenceTest {
public final void resetTestState() {
LOGGER.debug("reset test state");
LOGGER.debug("deleting all reports");
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(Report.class);
@@ -102,7 +102,7 @@ TPMReportTest extends SpringPersistenceTest {
*/
@Test
public final void testSaveReport() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
final TPMReport r = getTestReport();
session.save(r);
@@ -116,13 +116,13 @@ TPMReportTest extends SpringPersistenceTest {
*/
@Test
public final void testGetReport() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
final TPMReport r = getTestReport();
final UUID id = (UUID) session.save(r);
session.getTransaction().commit();
- session = sessionFactory.getCurrentSession();
+ session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
final TPMReport testReport = (TPMReport) session.get(TPMReport.class, id);
@@ -145,7 +145,7 @@ TPMReportTest extends SpringPersistenceTest {
*/
@Test(enabled = false)
public final void testDeleteReport() {
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
final TPMReport r = getTestReport();
diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBUtility.java b/HIRS_Utils/src/test/java/hirs/persist/DBUtility.java
index 50daf1bc..22df7925 100644
--- a/HIRS_Utils/src/test/java/hirs/persist/DBUtility.java
+++ b/HIRS_Utils/src/test/java/hirs/persist/DBUtility.java
@@ -3,10 +3,10 @@ package hirs.persist;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.Session;
-import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.query.Query;
+import javax.persistence.EntityManager;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
@@ -39,10 +39,10 @@ public final class DBUtility {
*/
@SuppressWarnings("unchecked")
public static void removeAllInstances(
- final SessionFactory sessionFactory,
+ final EntityManager sessionFactory,
final Class clazz) {
LOGGER.debug("deleting all {} instances", clazz.toString());
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery criteriaQuery = builder.createQuery(clazz);
@@ -69,7 +69,7 @@ public final class DBUtility {
* @return true if in database, otherwise false
*/
public static boolean isInDatabase(
- final SessionFactory sessionFactory,
+ final EntityManager sessionFactory,
final Class> clazz,
final String name) {
LOGGER.debug("checking if {} is in db", clazz.toString(), name);
@@ -88,14 +88,14 @@ public final class DBUtility {
*/
@SuppressWarnings("unchecked")
public static boolean isInDatabase(
- final SessionFactory sessionFactory,
+ final EntityManager sessionFactory,
final Class clazz,
final String propName, final Object value) {
LOGGER.debug("checking if {} with property {} set to {}",
clazz.toString(), propName, value);
Object search = null;
Transaction tx = null;
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
try {
LOGGER.debug("retrieving");
tx = session.beginTransaction();
@@ -130,11 +130,11 @@ public final class DBUtility {
* @return number of instance of clazz
in the database
*/
@SuppressWarnings("unchecked")
- public static int getCount(final SessionFactory sessionFactory, final Class clazz) {
+ public static int getCount(final EntityManager sessionFactory, final Class clazz) {
LOGGER.debug("counting number of instances of {} in db", clazz);
int count = 0;
Transaction tx = null;
- Session session = sessionFactory.getCurrentSession();
+ Session session = sessionFactory.unwrap(org.hibernate.Session.class);
try {
tx = session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();