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();