summaryrefslogtreecommitdiffstats
path: root/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate
diff options
context:
space:
mode:
authorDinh Danh Le <dinh.danh.le@ericsson.com>2018-07-15 02:52:33 +0100
committerDinh Danh Le <dinh.danh.le@ericsson.com>2018-07-16 14:07:50 +0100
commit2df5543498c0fa0a2ba120eec744aa4cde929199 (patch)
tree2db4f026911e3a60d06ab468c2c041e1d7ff4672 /plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate
parent08b595c863b45e759e57ef419c83dad2b209df9c (diff)
Refactor persistence JPA testing
Adding tests for EclipseLink and refactoring Hibernate testcases. As both tests use the same test entities, the two existing test entity classes from org.onap.policy.apex.plugins.persistence.jpa.hibernate are moved to a newly created package org.onap.policy.apex.context.test.entities under context-test-utils. Relevent POM files are changed w.r.t this change. In particular, 1) add version infos as properties in apex-pdp/pom.xml 2) common dependencies related to Junit testing for EclipseLink and Hibernate are moved to their parent plugins-persistence-jpa's POM. Change-Id: I9d9387154cbfdfc69be49960b80e040b6fd35b5a Signed-off-by: Dinh Danh Le <dinh.danh.le@ericsson.com> Issue-ID: POLICY-862
Diffstat (limited to 'plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate')
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/pom.xml18
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ArtifactKeyTestEntity.java162
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/HibernateApexDaoTest.java8
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ReferenceKeyTestEntity.java165
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/resources/META-INF/persistence.xml11
5 files changed, 12 insertions, 352 deletions
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/pom.xml b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/pom.xml
index f20a06c1f..c219b733c 100644
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/pom.xml
+++ b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/pom.xml
@@ -30,15 +30,11 @@
<name>${project.artifactId}</name>
<description>[${project.parent.artifactId}] Plugin for persistence using Hibernate</description>
- <properties>
- <hibernate.version>5.3.1.Final</hibernate.version>
- </properties>
-
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
- <version>${hibernate.version}</version>
+ <version>${version.hibernate}</version>
<exclusions>
<exclusion>
<groupId>dom4j</groupId>
@@ -49,17 +45,7 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
- <version>${hibernate.version}</version>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>dom4j</groupId>
- <artifactId>dom4j</artifactId>
- <version>1.6</version>
+ <version>${version.hibernate}</version>
</dependency>
</dependencies>
</project> \ No newline at end of file
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ArtifactKeyTestEntity.java b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ArtifactKeyTestEntity.java
deleted file mode 100644
index 1da724a87..000000000
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ArtifactKeyTestEntity.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.plugins.persistence.jpa.hibernate;
-
-import java.util.Arrays;
-import java.util.List;
-
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlElement;
-
-import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
-import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
-
-@Entity
-@Table(name = "ArtifactKeyTestEntity")
-public class ArtifactKeyTestEntity extends AxConcept {
- private static final long serialVersionUID = -2962570563281067895L;
-
- @EmbeddedId()
- @XmlElement(name = "key", required = true)
- protected AxArtifactKey key;
-
- private double doubleValue;
-
- public ArtifactKeyTestEntity() {
- this.key = new AxArtifactKey();
- this.doubleValue = 0;
- }
-
- public ArtifactKeyTestEntity(final Double doubleValue) {
- this.key = new AxArtifactKey();
- this.doubleValue = doubleValue;
- }
-
- public ArtifactKeyTestEntity(final AxArtifactKey key, final Double doubleValue) {
- this.key = key;
- this.doubleValue = doubleValue;
- }
-
- public AxArtifactKey getKey() {
- return key;
- }
-
- public List<AxKey> getKeys() {
- return Arrays.asList((AxKey) getKey());
- }
-
- public void setKey(final AxArtifactKey key) {
- this.key = key;
- }
-
- public boolean checkSetKey() {
- return (this.key != null);
- }
-
- public double getDoubleValue() {
- return doubleValue;
- }
-
- public void setDoubleValue(final double doubleValue) {
- this.doubleValue = doubleValue;
- }
-
- @Override
- public AxValidationResult validate(final AxValidationResult result) {
- return key.validate(result);
- }
-
- @Override
- public void clean() {
- key.clean();
- }
-
- @Override
- public String toString() {
- return "ArtifactKeyTestEntity [key=" + key + ", doubleValue=" + doubleValue + "]";
- }
-
- @Override
- public AxConcept copyTo(final AxConcept target) {
- final Object copyObject = ((target == null) ? new ArtifactKeyTestEntity() : target);
- if (copyObject instanceof ArtifactKeyTestEntity) {
- final ArtifactKeyTestEntity copy = ((ArtifactKeyTestEntity) copyObject);
- if (this.checkSetKey()) {
- copy.setKey(new AxArtifactKey(key));
- } else {
- copy.key = null;
- }
- copy.doubleValue = doubleValue;
- return copy;
- } else {
- return null;
- }
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((key == null) ? 0 : key.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (obj == null)
- return false;
- if (this == obj)
- return true;
- if (getClass() != obj.getClass())
- return false;
- final ArtifactKeyTestEntity other = (ArtifactKeyTestEntity) obj;
- if (key == null) {
- if (other.key != null)
- return false;
- } else if (!key.equals(other.key))
- return false;
- if (doubleValue != other.doubleValue)
- return false;
- return true;
- }
-
- @Override
- public int compareTo(final AxConcept otherObj) {
- if (otherObj == null)
- return -1;
- if (this == otherObj)
- return 0;
- final ArtifactKeyTestEntity other = (ArtifactKeyTestEntity) otherObj;
- if (key == null) {
- if (other.key != null)
- return 1;
- } else if (!key.equals(other.key))
- return key.compareTo(other.key);
- if (doubleValue != other.doubleValue)
- return new Double(doubleValue).compareTo(other.doubleValue);
-
- return 0;
- }
-}
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/HibernateApexDaoTest.java b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/HibernateApexDaoTest.java
index 894b7bac1..851332b7b 100644
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/HibernateApexDaoTest.java
+++ b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/HibernateApexDaoTest.java
@@ -1,6 +1,6 @@
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * Copyright (C) 2018 Ericsson. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -32,13 +32,15 @@ import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.onap.policy.apex.context.test.entities.ArtifactKeyTestEntity;
+import org.onap.policy.apex.context.test.entities.ReferenceKeyTestEntity;
import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
import org.onap.policy.apex.model.basicmodel.dao.DAOParameters;
/**
- * unit test for class HibernateApexDao
+ * Junit test for class HibernateApexDao
*
* @author Dinh Danh Le (dinh.danh.le@ericsson.com)
*
@@ -56,7 +58,7 @@ public class HibernateApexDaoTest {
@Before
public void setupDAO() throws ApexException {
daoParameters.setPluginClass(HibernateApexDao.class.getCanonicalName());
- daoParameters.setPersistenceUnit("HiDAOtest");
+ daoParameters.setPersistenceUnit("DAOTest");
hibernateApexDao = new HibernateApexDao();
hibernateApexDao.init(daoParameters);
}
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ReferenceKeyTestEntity.java b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ReferenceKeyTestEntity.java
deleted file mode 100644
index 991b4e2d7..000000000
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ReferenceKeyTestEntity.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.plugins.persistence.jpa.hibernate;
-
-import java.util.Arrays;
-import java.util.List;
-
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
-import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
-import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
-import org.onap.policy.apex.model.basicmodel.xml.AxReferenceKeyAdapter;
-
-@Entity
-@Table(name = "ReferenceKeyTestEntity")
-public class ReferenceKeyTestEntity extends AxConcept {
- private static final long serialVersionUID = -2962570563281067894L;
-
- @EmbeddedId()
- @XmlElement(name = "key", required = true)
- @XmlJavaTypeAdapter(AxReferenceKeyAdapter.class)
- protected AxReferenceKey key;
-
- private double doubleValue;
-
- public ReferenceKeyTestEntity() {
- this.key = new AxReferenceKey();
- this.doubleValue = 0;
- }
-
- public ReferenceKeyTestEntity(final Double doubleValue) {
- this.key = new AxReferenceKey();
- this.doubleValue = doubleValue;
- }
-
- public ReferenceKeyTestEntity(final AxReferenceKey key, final Double doubleValue) {
- this.key = key;
- this.doubleValue = doubleValue;
- }
-
- public AxReferenceKey getKey() {
- return key;
- }
-
- public List<AxKey> getKeys() {
- return Arrays.asList((AxKey) getKey());
- }
-
- public void setKey(final AxReferenceKey key) {
- this.key = key;
- }
-
- public boolean checkSetKey() {
- return (this.key != null);
- }
-
- public double getDoubleValue() {
- return doubleValue;
- }
-
- public void setDoubleValue(final double doubleValue) {
- this.doubleValue = doubleValue;
- }
-
- @Override
- public AxValidationResult validate(final AxValidationResult result) {
- return key.validate(result);
- }
-
- @Override
- public void clean() {
- key.clean();
- }
-
- @Override
- public String toString() {
- return "ReferenceKeyTestEntity [key=" + key + ", doubleValue=" + doubleValue + "]";
- }
-
- @Override
- public AxConcept copyTo(final AxConcept target) {
- final Object copyObject = ((target == null) ? new ReferenceKeyTestEntity() : target);
- if (copyObject instanceof ReferenceKeyTestEntity) {
- final ReferenceKeyTestEntity copy = ((ReferenceKeyTestEntity) copyObject);
- if (this.checkSetKey()) {
- copy.setKey(new AxReferenceKey(key));
- } else {
- copy.key = null;
- }
- copy.doubleValue = doubleValue;
- return copy;
- } else {
- return null;
- }
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((key == null) ? 0 : key.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (obj == null)
- return false;
- if (this == obj)
- return true;
- if (getClass() != obj.getClass())
- return false;
- final ReferenceKeyTestEntity other = (ReferenceKeyTestEntity) obj;
- if (key == null) {
- if (other.key != null)
- return false;
- } else if (!key.equals(other.key))
- return false;
- if (doubleValue != other.doubleValue)
- return false;
- return true;
- }
-
- @Override
- public int compareTo(final AxConcept otherObj) {
- if (otherObj == null)
- return -1;
- if (this == otherObj)
- return 0;
- final ReferenceKeyTestEntity other = (ReferenceKeyTestEntity) otherObj;
- if (key == null) {
- if (other.key != null)
- return 1;
- } else if (!key.equals(other.key))
- return key.compareTo(other.key);
- if (doubleValue != other.doubleValue)
- return new Double(doubleValue).compareTo(other.doubleValue);
-
- return 0;
- }
-}
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/resources/META-INF/persistence.xml b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/resources/META-INF/persistence.xml
index a40e0d9fe..ee38e0096 100644
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/resources/META-INF/persistence.xml
+++ b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/resources/META-INF/persistence.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
============LICENSE_START=======================================================
- Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ Copyright (C) 2018 Ericsson. All rights reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -21,23 +21,22 @@
<!-- This is to configure H2-IMDB using Hibernate-->
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
- <persistence-unit name="HiDAOtest" transaction-type="RESOURCE_LOCAL">
+ <persistence-unit name="DAOTest" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
- <class>org.onap.policy.apex.plugins.persistence.jpa.hibernate.ReferenceKeyTestEntity</class>
- <class>org.onap.policy.apex.plugins.persistence.jpa.hibernate.ArtifactKeyTestEntity</class>
+ <class>org.onap.policy.apex.context.test.entities.ReferenceKeyTestEntity</class>
+ <class>org.onap.policy.apex.context.test.entities.ArtifactKeyTestEntity</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
<property name="hibernate.connection.driver_class" value="org.h2.Driver" />
<property name="hibernate.connection.url" value="jdbc:h2:mem:test" />
<property name="hibernate.connection.user" value="sa" />
- <property name="javax.persistence.jdbc.password" value="" />
+ <property name="hibernate.connection.user.password" value="" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.flushMode" value="FLUSH_AUTO" />
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
</properties>
</persistence-unit>
-
</persistence> \ No newline at end of file