Author: adamw
Date: 2008-08-21 10:45:59 -0400 (Thu, 21 Aug 2008)
New Revision: 120
Added:
trunk/src/test/org/jboss/envers/test/integration/naming/OneToManyUnidirectionalNaming.java
trunk/src/test/org/jboss/envers/test/integration/naming/UnidirectionalNamingTestEntity.java
Modified:
trunk/resources/test/testng.xml
trunk/src/main/org/jboss/envers/configuration/EntitiesConfigurator.java
Log:
ENVERS-26: tests
Modified: trunk/resources/test/testng.xml
===================================================================
--- trunk/resources/test/testng.xml 2008-08-21 13:56:27 UTC (rev 119)
+++ trunk/resources/test/testng.xml 2008-08-21 14:45:59 UTC (rev 120)
@@ -9,10 +9,12 @@
<package name="org.jboss.envers.test.integration.flush" />
<package name="org.jboss.envers.test.integration.ids" />
<package
name="org.jboss.envers.test.integration.inheritance.single" />
+ <package
name="org.jboss.envers.test.integration.inheritance.single.childrelation" />
<package
name="org.jboss.envers.test.integration.inheritance.single.relation" />
<package name="org.jboss.envers.test.integration.naming" />
<package name="org.jboss.envers.test.integration.naming.ids"
/>
<package name="org.jboss.envers.test.integration.onetomany"
/>
+ <package
name="org.jboss.envers.test.integration.onetomany.unidirectional" />
<package
name="org.jboss.envers.test.integration.onetoone.bidirectional" />
<package
name="org.jboss.envers.test.integration.onetoone.bidirectional.ids" />
<package
name="org.jboss.envers.test.integration.onetoone.unidirectional" />
Modified: trunk/src/main/org/jboss/envers/configuration/EntitiesConfigurator.java
===================================================================
--- trunk/src/main/org/jboss/envers/configuration/EntitiesConfigurator.java 2008-08-21
13:56:27 UTC (rev 119)
+++ trunk/src/main/org/jboss/envers/configuration/EntitiesConfigurator.java 2008-08-21
14:45:59 UTC (rev 120)
@@ -75,7 +75,7 @@
for (Document additionalMapping : mappingData.getAdditionalMappings()) {
cfg.addDocument(writer.write(additionalMapping));
- //writeDocument(additionalMapping);
+ writeDocument(additionalMapping);
}
} catch (DocumentException e) {
throw new MappingException(e);
Added:
trunk/src/test/org/jboss/envers/test/integration/naming/OneToManyUnidirectionalNaming.java
===================================================================
---
trunk/src/test/org/jboss/envers/test/integration/naming/OneToManyUnidirectionalNaming.java
(rev 0)
+++
trunk/src/test/org/jboss/envers/test/integration/naming/OneToManyUnidirectionalNaming.java 2008-08-21
14:45:59 UTC (rev 120)
@@ -0,0 +1,107 @@
+package org.jboss.envers.test.integration.naming;
+
+import org.jboss.envers.test.integration.AbstractEntityTest;
+import org.jboss.envers.test.entities.StrTestEntity;
+import org.jboss.envers.test.tools.TestTools;
+import org.hibernate.ejb.Ejb3Configuration;
+import org.hibernate.mapping.Column;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import javax.persistence.EntityManager;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.HashSet;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+public class OneToManyUnidirectionalNaming extends AbstractEntityTest {
+ private Integer uni1_id;
+ private Integer str1_id;
+
+ public void configure(Ejb3Configuration cfg) {
+ cfg.addAnnotatedClass(UnidirectionalNamingTestEntity.class);
+ cfg.addAnnotatedClass(StrTestEntity.class);
+ }
+
+ @BeforeClass(dependsOnMethods = "init")
+ public void initData() {
+ UnidirectionalNamingTestEntity uni1 = new UnidirectionalNamingTestEntity(1,
"data1");
+ StrTestEntity str1 = new StrTestEntity("str1");
+
+ // Revision 1
+ EntityManager em = getEntityManager();
+ em.getTransaction().begin();
+
+ uni1.setCollection(new HashSet<StrTestEntity>());
+ em.persist(uni1);
+ em.persist(str1);
+
+ em.getTransaction().commit();
+
+ // Revision 2
+ em.getTransaction().begin();
+
+ uni1 = em.find(UnidirectionalNamingTestEntity.class, uni1.getId());
+ str1 = em.find(StrTestEntity.class, str1.getId());
+ uni1.getCollection().add(str1);
+
+ em.getTransaction().commit();
+
+ //
+
+ uni1_id = uni1.getId();
+ str1_id = str1.getId();
+ }
+
+ @Test
+ public void testRevisionsCounts() {
+ assert Arrays.asList(1,
2).equals(getVersionsReader().getRevisions(UnidirectionalNamingTestEntity.class,
uni1_id));
+ assert
Arrays.asList(1).equals(getVersionsReader().getRevisions(StrTestEntity.class, str1_id));
+ }
+
+ @Test
+ public void testHistoryOfUniId1() {
+ StrTestEntity str1 = getEntityManager().find(StrTestEntity.class, str1_id);
+
+ UnidirectionalNamingTestEntity rev1 =
getVersionsReader().find(UnidirectionalNamingTestEntity.class, uni1_id, 1);
+ UnidirectionalNamingTestEntity rev2 =
getVersionsReader().find(UnidirectionalNamingTestEntity.class, uni1_id, 2);
+
+ assert rev1.getCollection().equals(TestTools.makeSet());
+ assert rev2.getCollection().equals(TestTools.makeSet(str1));
+
+ assert "data1".equals(rev1.getData());
+ assert "data1".equals(rev2.getData());
+ }
+
+ @Test
+ public void testTableName() {
+ assert "UNI_NAMING_TEST_versions".equals(
+
getCfg().getClassMapping("UnidirectionalNamingTestEntity_org.jboss.envers.test.entities.StrTestEntity_versions")
+ .getTable().getName());
+ }
+
+ @SuppressWarnings({"unchecked"})
+ @Test
+ public void testJoinColumnName() {
+ Iterator<Column> columns =
+
getCfg().getClassMapping("UnidirectionalNamingTestEntity_org.jboss.envers.test.entities.StrTestEntity_versions")
+ .getTable().getColumnIterator();
+
+ boolean id1Found = false;
+ boolean id2Found = false;
+
+ while (columns.hasNext()) {
+ if ("ID_1".equals(columns.next().getName())) {
+ id1Found = true;
+ }
+
+ if ("ID_2".equals(columns.next().getName())) {
+ id2Found = true;
+ }
+ }
+
+ assert id1Found && id2Found;
+ }
+}
Added:
trunk/src/test/org/jboss/envers/test/integration/naming/UnidirectionalNamingTestEntity.java
===================================================================
---
trunk/src/test/org/jboss/envers/test/integration/naming/UnidirectionalNamingTestEntity.java
(rev 0)
+++
trunk/src/test/org/jboss/envers/test/integration/naming/UnidirectionalNamingTestEntity.java 2008-08-21
14:45:59 UTC (rev 120)
@@ -0,0 +1,85 @@
+package org.jboss.envers.test.integration.naming;
+
+import org.jboss.envers.Versioned;
+import org.jboss.envers.test.entities.StrTestEntity;
+
+import javax.persistence.*;
+import java.util.Set;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+@Entity
+public class UnidirectionalNamingTestEntity {
+ @Id
+ private Integer id;
+
+ @Versioned
+ private String data;
+
+ @Versioned
+ @OneToMany
+ @JoinTable(name = "UNI_NAMING_TEST",
+ joinColumns = @JoinColumn(name = "ID_1"),
+ inverseJoinColumns = @JoinColumn(name = "ID_2"))
+ private Set<StrTestEntity> collection;
+
+ public UnidirectionalNamingTestEntity() {
+ }
+
+ public UnidirectionalNamingTestEntity(Integer id, String data) {
+ this.id = id;
+ this.data = data;
+ }
+
+ public UnidirectionalNamingTestEntity(String data) {
+ this.data = data;
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public Set<StrTestEntity> getCollection() {
+ return collection;
+ }
+
+ public void setCollection(Set<StrTestEntity> collection) {
+ this.collection = collection;
+ }
+
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof UnidirectionalNamingTestEntity)) return false;
+
+ UnidirectionalNamingTestEntity that = (UnidirectionalNamingTestEntity) o;
+
+ if (data != null ? !data.equals(that.data) : that.data != null) return false;
+ if (id != null ? !id.equals(that.id) : that.id != null) return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ int result;
+ result = (id != null ? id.hashCode() : 0);
+ result = 31 * result + (data != null ? data.hashCode() : 0);
+ return result;
+ }
+
+ public String toString() {
+ return "UnidirectionalNamingTestEntity(id = " + id + ", data =
" + data + ")";
+ }
+}
Show replies by date