Skip to content

Commit 484551a

Browse files
committed
HHH-19871 --wip-- Envers migration to JUnit 6
- `org.hibernate.orm.test.envers.integration.lazy` + bytecode-enhanced test engine fix for class-templates - `org.hibernate.orm.test.envers.integration.lob` - `org.hibernate.orm.test.envers.integration.manytomany` - `org.hibernate.orm.test.envers.integration.manytoone` - `org.hibernate.orm.test.envers.integration.merge`
1 parent 14ccbd3 commit 484551a

37 files changed

+2656
-2666
lines changed

hibernate-envers/src/test/java/org/hibernate/orm/test/envers/integration/lazy/IsCollectionInitializedBytecodeEnhancementTest.java

Lines changed: 59 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -5,94 +5,88 @@
55
package org.hibernate.orm.test.envers.integration.lazy;
66

77
import java.util.List;
8-
import jakarta.persistence.EntityManager;
98

9+
import org.hibernate.Hibernate;
1010
import org.hibernate.community.dialect.AltibaseDialect;
1111
import org.hibernate.dialect.OracleDialect;
12+
import org.hibernate.envers.AuditReaderFactory;
1213
import org.hibernate.envers.query.AuditEntity;
13-
import org.hibernate.orm.test.envers.BaseEnversJPAFunctionalTestCase;
14-
import org.hibernate.orm.test.envers.Priority;
1514
import org.hibernate.orm.test.envers.entities.collection.MultipleCollectionEntity;
1615
import org.hibernate.orm.test.envers.entities.collection.MultipleCollectionRefEntity1;
1716
import org.hibernate.orm.test.envers.entities.collection.MultipleCollectionRefEntity2;
18-
import org.hibernate.testing.SkipForDialect;
17+
18+
import org.hibernate.testing.bytecode.enhancement.extension.BytecodeEnhanced;
19+
import org.hibernate.testing.envers.junit.EnversTest;
20+
import org.hibernate.testing.orm.junit.BeforeClassTemplate;
21+
import org.hibernate.testing.orm.junit.EntityManagerFactoryScope;
1922
import org.hibernate.testing.orm.junit.JiraKey;
20-
import org.junit.Test;
21-
import org.junit.runner.RunWith;
22-
import static org.junit.Assert.assertEquals;
23-
import org.hibernate.Hibernate;
24-
import org.hibernate.envers.AuditReader;
25-
import org.hibernate.envers.AuditReaderFactory;
26-
import org.hibernate.testing.bytecode.enhancement.BytecodeEnhancerRunner;
27-
import org.hibernate.testing.bytecode.enhancement.EnhancementOptions;
23+
import org.hibernate.testing.orm.junit.Jpa;
24+
import org.hibernate.testing.orm.junit.SkipForDialect;
25+
import org.junit.jupiter.api.Test;
26+
27+
import static org.junit.jupiter.api.Assertions.assertEquals;
2828

2929
/**
3030
* @author Fabricio Gregorio
3131
*/
3232
@JiraKey(value = "HHH-15522")
33-
@RunWith(BytecodeEnhancerRunner.class)
34-
@EnhancementOptions(lazyLoading = true)
35-
@SkipForDialect(value = OracleDialect.class, comment = "Oracle does not support identity key generation")
36-
@SkipForDialect(value = AltibaseDialect.class, comment = "Altibase does not support identity key generation")
37-
public class IsCollectionInitializedBytecodeEnhancementTest extends BaseEnversJPAFunctionalTestCase {
38-
33+
@BytecodeEnhanced
34+
@EnversTest
35+
@Jpa(annotatedClasses = {
36+
MultipleCollectionEntity.class,
37+
MultipleCollectionRefEntity1.class,
38+
MultipleCollectionRefEntity2.class
39+
})
40+
@SkipForDialect(dialectClass = OracleDialect.class, reason = "Oracle does not support identity key generation")
41+
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase does not support identity key generation")
42+
public class IsCollectionInitializedBytecodeEnhancementTest {
3943
private Long mce1Id = null;
4044
private Long mcre1Id = null;
4145

42-
@Override
43-
protected Class<?>[] getAnnotatedClasses() {
44-
return new Class<?>[]{
45-
MultipleCollectionEntity.class, MultipleCollectionRefEntity1.class, MultipleCollectionRefEntity2.class
46-
};
47-
}
48-
49-
@Test
50-
@Priority(10)
51-
public void initData() {
52-
EntityManager em = getEntityManager();
53-
54-
// Revision 1 - addition.
55-
em.getTransaction().begin();
56-
MultipleCollectionEntity mce1 = new MultipleCollectionEntity();
57-
mce1.setText( "MultipleCollectionEntity-1-1" );
58-
em.persist( mce1 ); // Persisting entity with empty collections.
59-
em.getTransaction().commit();
60-
61-
mce1Id = mce1.getId();
62-
63-
// Revision 2 - update.
64-
em.getTransaction().begin();
65-
mce1 = em.find( MultipleCollectionEntity.class, mce1.getId() );
66-
MultipleCollectionRefEntity1 mcre1 = new MultipleCollectionRefEntity1();
67-
mcre1.setText( "MultipleCollectionRefEntity1-1-1" );
68-
mcre1.setMultipleCollectionEntity( mce1 );
69-
mce1.addRefEntity1( mcre1 );
70-
em.persist( mcre1 );
71-
mce1 = em.merge( mce1 );
72-
em.getTransaction().commit();
73-
74-
mcre1Id = mcre1.getId();
75-
76-
em.close();
46+
@BeforeClassTemplate
47+
public void initData(EntityManagerFactoryScope scope) {
48+
scope.inEntityManager( em -> {
49+
// Revision 1 - addition.
50+
em.getTransaction().begin();
51+
MultipleCollectionEntity mce1 = new MultipleCollectionEntity();
52+
mce1.setText( "MultipleCollectionEntity-1-1" );
53+
em.persist( mce1 ); // Persisting entity with empty collections.
54+
em.getTransaction().commit();
55+
56+
mce1Id = mce1.getId();
57+
58+
// Revision 2 - update.
59+
em.getTransaction().begin();
60+
mce1 = em.find( MultipleCollectionEntity.class, mce1.getId() );
61+
MultipleCollectionRefEntity1 mcre1 = new MultipleCollectionRefEntity1();
62+
mcre1.setText( "MultipleCollectionRefEntity1-1-1" );
63+
mcre1.setMultipleCollectionEntity( mce1 );
64+
mce1.addRefEntity1( mcre1 );
65+
em.persist( mcre1 );
66+
mce1 = em.merge( mce1 );
67+
em.getTransaction().commit();
68+
69+
mcre1Id = mcre1.getId();
70+
} );
7771
}
7872

7973
@Test
8074
@SuppressWarnings("unchecked")
81-
public void testIsInitialized() {
82-
EntityManager em = getEntityManager();
83-
84-
AuditReader reader = AuditReaderFactory.get( em );
85-
List<MultipleCollectionEntity> res = reader.createQuery().forEntitiesAtRevision( MultipleCollectionEntity.class, 1 )
86-
.add( AuditEntity.id().eq( mce1Id ) )
87-
.getResultList();
88-
89-
MultipleCollectionEntity ret = res.get( 0 );
75+
public void testIsInitialized(EntityManagerFactoryScope scope) {
76+
scope.inEntityManager( em -> {
77+
var reader = AuditReaderFactory.get( em );
78+
List<MultipleCollectionEntity> res = reader.createQuery()
79+
.forEntitiesAtRevision( MultipleCollectionEntity.class, 1 )
80+
.add( AuditEntity.id().eq( mce1Id ) )
81+
.getResultList();
9082

91-
assertEquals( Hibernate.isInitialized( ret.getRefEntities1() ), false );
83+
MultipleCollectionEntity ret = res.get( 0 );
9284

93-
Hibernate.initialize(ret.getRefEntities1());
85+
assertEquals( false, Hibernate.isInitialized( ret.getRefEntities1() ) );
9486

95-
assertEquals( Hibernate.isInitialized( ret.getRefEntities1() ), true );
87+
Hibernate.initialize( ret.getRefEntities1() );
9688

89+
assertEquals( true, Hibernate.isInitialized( ret.getRefEntities1() ) );
90+
} );
9791
}
9892
}

hibernate-envers/src/test/java/org/hibernate/orm/test/envers/integration/lazy/IsCollectionInitializedTest.java

Lines changed: 47 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -5,89 +5,80 @@
55
package org.hibernate.orm.test.envers.integration.lazy;
66

77
import java.util.List;
8-
import jakarta.persistence.EntityManager;
98

9+
import org.hibernate.Hibernate;
1010
import org.hibernate.community.dialect.AltibaseDialect;
1111
import org.hibernate.dialect.OracleDialect;
12+
import org.hibernate.envers.AuditReaderFactory;
1213
import org.hibernate.envers.query.AuditEntity;
13-
import org.hibernate.orm.test.envers.BaseEnversJPAFunctionalTestCase;
14-
import org.hibernate.orm.test.envers.Priority;
1514
import org.hibernate.orm.test.envers.entities.collection.MultipleCollectionEntity;
1615
import org.hibernate.orm.test.envers.entities.collection.MultipleCollectionRefEntity1;
1716
import org.hibernate.orm.test.envers.entities.collection.MultipleCollectionRefEntity2;
18-
import org.hibernate.testing.SkipForDialect;
17+
import org.hibernate.testing.envers.junit.EnversTest;
18+
import org.hibernate.testing.orm.junit.BeforeClassTemplate;
19+
import org.hibernate.testing.orm.junit.EntityManagerFactoryScope;
1920
import org.hibernate.testing.orm.junit.JiraKey;
20-
import org.junit.Test;
21-
import static org.junit.Assert.assertEquals;
22-
import org.hibernate.Hibernate;
23-
import org.hibernate.envers.AuditReader;
24-
import org.hibernate.envers.AuditReaderFactory;
21+
import org.hibernate.testing.orm.junit.Jpa;
22+
import org.hibernate.testing.orm.junit.SkipForDialect;
23+
24+
import org.junit.jupiter.api.Test;
25+
26+
import static org.junit.jupiter.api.Assertions.assertEquals;
2527

2628
/**
2729
* @author Fabricio Gregorio
2830
*/
2931
@JiraKey(value = "HHH-15522")
30-
@SkipForDialect(value = OracleDialect.class, comment = "Oracle does not support identity key generation")
31-
@SkipForDialect(value = AltibaseDialect.class, comment = "Altibase does not support identity key generation")
32-
public class IsCollectionInitializedTest extends BaseEnversJPAFunctionalTestCase {
32+
@EnversTest
33+
@Jpa(annotatedClasses = {
34+
MultipleCollectionEntity.class, MultipleCollectionRefEntity1.class, MultipleCollectionRefEntity2.class
35+
})
36+
@SkipForDialect(dialectClass = OracleDialect.class, reason = "Oracle does not support identity key generation")
37+
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase does not support identity key generation")
38+
public class IsCollectionInitializedTest {
3339

3440
private Long mce1Id = null;
3541
private Long mcre1Id = null;
3642

37-
@Override
38-
protected Class<?>[] getAnnotatedClasses() {
39-
return new Class<?>[]{
40-
MultipleCollectionEntity.class, MultipleCollectionRefEntity1.class, MultipleCollectionRefEntity2.class
41-
};
42-
}
43-
44-
@Test
45-
@Priority(10)
46-
public void initData() {
47-
EntityManager em = getEntityManager();
48-
43+
@BeforeClassTemplate
44+
public void initData(EntityManagerFactoryScope scope) {
4945
// Revision 1 - addition.
50-
em.getTransaction().begin();
51-
MultipleCollectionEntity mce1 = new MultipleCollectionEntity();
52-
mce1.setText( "MultipleCollectionEntity-1-1" );
53-
em.persist( mce1 ); // Persisting entity with empty collections.
54-
em.getTransaction().commit();
55-
56-
mce1Id = mce1.getId();
46+
scope.inTransaction( em -> {
47+
MultipleCollectionEntity mce1 = new MultipleCollectionEntity();
48+
mce1.setText( "MultipleCollectionEntity-1-1" );
49+
em.persist( mce1 ); // Persisting entity with empty collections.
50+
mce1Id = mce1.getId();
51+
} );
5752

5853
// Revision 2 - update.
59-
em.getTransaction().begin();
60-
mce1 = em.find( MultipleCollectionEntity.class, mce1.getId() );
61-
MultipleCollectionRefEntity1 mcre1 = new MultipleCollectionRefEntity1();
62-
mcre1.setText( "MultipleCollectionRefEntity1-1-1" );
63-
mcre1.setMultipleCollectionEntity( mce1 );
64-
mce1.addRefEntity1( mcre1 );
65-
em.persist( mcre1 );
66-
mce1 = em.merge( mce1 );
67-
em.getTransaction().commit();
68-
69-
mcre1Id = mcre1.getId();
70-
71-
em.close();
54+
scope.inTransaction( em -> {
55+
MultipleCollectionEntity mce1 = em.find( MultipleCollectionEntity.class, mce1Id );
56+
MultipleCollectionRefEntity1 mcre1 = new MultipleCollectionRefEntity1();
57+
mcre1.setText( "MultipleCollectionRefEntity1-1-1" );
58+
mcre1.setMultipleCollectionEntity( mce1 );
59+
mce1.addRefEntity1( mcre1 );
60+
em.persist( mcre1 );
61+
em.merge( mce1 );
62+
mcre1Id = mcre1.getId();
63+
} );
7264
}
7365

7466
@Test
7567
@SuppressWarnings("unchecked")
76-
public void testIsInitialized() {
77-
EntityManager em = getEntityManager();
78-
79-
AuditReader reader = AuditReaderFactory.get( em );
80-
List<MultipleCollectionEntity> res = reader.createQuery().forEntitiesAtRevision( MultipleCollectionEntity.class, 1 )
81-
.add( AuditEntity.id().eq( mce1Id ) )
82-
.getResultList();
83-
84-
MultipleCollectionEntity ret = res.get( 0 );
68+
public void testIsInitialized(EntityManagerFactoryScope scope) {
69+
scope.inEntityManager( em -> {
70+
var reader = AuditReaderFactory.get( em );
71+
List<MultipleCollectionEntity> res = reader.createQuery().forEntitiesAtRevision( MultipleCollectionEntity.class, 1 )
72+
.add( AuditEntity.id().eq( mce1Id ) )
73+
.getResultList();
8574

86-
assertEquals( Hibernate.isInitialized( ret.getRefEntities1() ), false );
75+
MultipleCollectionEntity ret = res.get( 0 );
8776

88-
Hibernate.initialize(ret.getRefEntities1());
77+
assertEquals( false, Hibernate.isInitialized( ret.getRefEntities1() ) );
8978

90-
assertEquals( Hibernate.isInitialized( ret.getRefEntities1() ), true );
79+
Hibernate.initialize( ret.getRefEntities1() );
9180

81+
assertEquals( true, Hibernate.isInitialized( ret.getRefEntities1() ) );
82+
} );
9283
}
9384
}

hibernate-envers/src/test/java/org/hibernate/orm/test/envers/integration/lazy/LazyFieldsTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.hibernate.envers.Audited;
99

1010
import org.hibernate.testing.bytecode.enhancement.extension.BytecodeEnhanced;
11+
import org.hibernate.testing.envers.junit.EnversTest;
1112
import org.hibernate.testing.orm.junit.DomainModel;
1213
import org.hibernate.testing.orm.junit.JiraKey;
1314
import org.hibernate.testing.orm.junit.SessionFactory;
@@ -20,7 +21,8 @@
2021
import jakarta.persistence.FetchType;
2122
import jakarta.persistence.Id;
2223

23-
@JiraKey("")
24+
@JiraKey("HHH-19220")
25+
@EnversTest
2426
@BytecodeEnhanced
2527
@DomainModel(
2628
annotatedClasses = {

hibernate-envers/src/test/java/org/hibernate/orm/test/envers/integration/lob/LargeObjectMappingTest.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,13 @@
1212
import org.hibernate.envers.Audited;
1313
import org.hibernate.mapping.PersistentClass;
1414
import org.hibernate.mapping.Property;
15-
import org.hibernate.orm.test.envers.BaseEnversJPAFunctionalTestCase;
1615

16+
import org.hibernate.testing.envers.junit.EnversTest;
17+
import org.hibernate.testing.orm.junit.DomainModel;
18+
import org.hibernate.testing.orm.junit.DomainModelScope;
1719
import org.hibernate.testing.orm.junit.JiraKey;
18-
import org.junit.Test;
20+
import org.hibernate.testing.orm.junit.SessionFactory;
21+
import org.junit.jupiter.api.Test;
1922

2023
import jakarta.persistence.Entity;
2124
import jakarta.persistence.GeneratedValue;
@@ -27,7 +30,10 @@
2730
* @author Armin Krezović (armin.krezovic at ziragroup dot com)
2831
*/
2932
@JiraKey(value = "HHH-16253")
30-
public class LargeObjectMappingTest extends BaseEnversJPAFunctionalTestCase {
33+
@EnversTest
34+
@DomainModel(annotatedClasses = { LargeObjectMappingTest.LargeObjectTestEntity.class })
35+
@SessionFactory
36+
public class LargeObjectMappingTest {
3137

3238
@Entity
3339
@Audited
@@ -73,14 +79,10 @@ public int hashCode() {
7379
}
7480
}
7581

76-
@Override
77-
protected Class<?>[] getAnnotatedClasses() {
78-
return new Class<?>[] { LargeObjectTestEntity.class };
79-
}
80-
8182
@Test
82-
public void testLobTypeMapping() {
83-
PersistentClass entityBinding = metadata().getEntityBinding( LargeObjectTestEntity.class.getName() + "_AUD" );
83+
public void testLobTypeMapping(DomainModelScope scope) {
84+
PersistentClass entityBinding = scope.getDomainModel()
85+
.getEntityBinding( LargeObjectTestEntity.class.getName() + "_AUD" );
8486

8587
Property blobProperty = entityBinding.getProperty( "blob" );
8688
Property clobProperty = entityBinding.getProperty( "clob" );

0 commit comments

Comments
 (0)