Skip to content

Commit 99363e0

Browse files
committed
HHH-19846 - Drop JUnit 4 usage
Cannot convert... * org.hibernate.orm.test.hql.PostgreSQLFunctionSelectClauseTest - registering custom function * org.hibernate.orm.test.hql.PostgreSQLFunctionWhereClauseTest - aux-db-object * org.hibernate.orm.test.id.usertype - type registrations * org.hibernate.orm.test.idgen.enhanced.HiloOptimizerConcurrencyTest - recreation of SF during tests
1 parent 3a7b82d commit 99363e0

32 files changed

+1946
-2573
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/where/annotations/EagerManyToOneFetchModeJoinWhereTest.java

Lines changed: 64 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
*/
55
package org.hibernate.orm.test.where.annotations;
66

7-
import java.util.HashSet;
8-
import java.util.Set;
97
import jakarta.persistence.CascadeType;
108
import jakarta.persistence.ElementCollection;
119
import jakarta.persistence.Embeddable;
@@ -16,97 +14,90 @@
1614
import jakarta.persistence.JoinColumn;
1715
import jakarta.persistence.ManyToOne;
1816
import jakarta.persistence.Table;
19-
2017
import org.hibernate.annotations.Fetch;
2118
import org.hibernate.annotations.FetchMode;
2219
import org.hibernate.annotations.NotFound;
2320
import org.hibernate.annotations.NotFoundAction;
2421
import org.hibernate.annotations.SQLRestriction;
25-
26-
import org.hibernate.testing.FailureExpected;
22+
import org.hibernate.testing.orm.junit.DomainModel;
23+
import org.hibernate.testing.orm.junit.FailureExpected;
2724
import org.hibernate.testing.orm.junit.JiraKey;
28-
import org.hibernate.testing.junit4.BaseNonConfigCoreFunctionalTestCase;
29-
import org.junit.Test;
25+
import org.hibernate.testing.orm.junit.SessionFactory;
26+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
27+
import org.junit.jupiter.api.AfterEach;
28+
import org.junit.jupiter.api.Assertions;
29+
import org.junit.jupiter.api.Test;
3030

31-
import static org.hibernate.testing.transaction.TransactionUtil.doInHibernate;
32-
import static org.junit.Assert.assertEquals;
33-
import static org.junit.Assert.assertNotNull;
34-
import static org.junit.Assert.assertNull;
35-
import static org.junit.Assert.assertSame;
31+
import java.util.HashSet;
32+
import java.util.Set;
33+
34+
import static org.junit.jupiter.api.Assertions.assertEquals;
35+
import static org.junit.jupiter.api.Assertions.assertNotNull;
36+
import static org.junit.jupiter.api.Assertions.assertNull;
3637

3738
/**
3839
* @author Gail Badner
3940
*/
40-
public class EagerManyToOneFetchModeJoinWhereTest extends BaseNonConfigCoreFunctionalTestCase {
41-
42-
@Override
43-
protected Class[] getAnnotatedClasses() {
44-
return new Class[] { Product.class, Category.class };
41+
@SuppressWarnings("JUnitMalformedDeclaration")
42+
@DomainModel(annotatedClasses = {
43+
EagerManyToOneFetchModeJoinWhereTest.Product.class,
44+
EagerManyToOneFetchModeJoinWhereTest.Category.class
45+
})
46+
@SessionFactory
47+
public class EagerManyToOneFetchModeJoinWhereTest {
48+
@AfterEach
49+
void dropTestData(SessionFactoryScope factoryScope) {
50+
factoryScope.dropData();
4551
}
4652

4753
@Test
48-
@JiraKey( value = "HHH-12104" )
49-
@FailureExpected( jiraKey = "HHH-12104")
50-
public void testAssociatedWhereClause() {
51-
Product product = new Product();
52-
Category category = new Category();
54+
@JiraKey(value = "HHH-12104")
55+
@FailureExpected
56+
public void testAssociatedWhereClause(SessionFactoryScope factoryScope) {
57+
var product = new Product();
58+
var category = new Category();
5359
category.name = "flowers";
5460
product.category = category;
5561
product.containedCategory = new ContainedCategory();
5662
product.containedCategory.category = category;
5763
product.containedCategories.add( new ContainedCategory( category ) );
5864

59-
doInHibernate(
60-
this::sessionFactory,
61-
session -> {
62-
session.persist( product );
63-
}
64-
);
65-
66-
doInHibernate(
67-
this::sessionFactory,
68-
session -> {
69-
Product p = session.get( Product.class, product.id );
70-
assertNotNull( p );
71-
assertNotNull( p.category );
72-
assertNotNull( p.containedCategory.category );
73-
assertEquals( 1, p.containedCategories.size() );
74-
assertSame( p.category, p.containedCategory.category );
75-
assertSame( p.category, p.containedCategories.iterator().next().category );
76-
}
77-
);
78-
79-
doInHibernate(
80-
this::sessionFactory,
81-
session -> {
82-
Category c = session.get( Category.class, category.id );
83-
assertNotNull( c );
84-
c.inactive = 1;
85-
}
86-
);
87-
88-
doInHibernate(
89-
this::sessionFactory,
90-
session -> {
91-
Category c = session.get( Category.class, category.id );
92-
assertNull( c );
93-
}
94-
);
95-
96-
doInHibernate(
97-
this::sessionFactory,
98-
session -> {
99-
// Entity's where clause is ignored when to-one associations to that
100-
// association is loaded eagerly using FetchMode.JOIN, so the result
101-
// should be the same as before the Category was made inactive.
102-
Product p = session.get( Product.class, product.id );
103-
assertNotNull( p );
104-
assertNull( p.category );
105-
assertNull( p.containedCategory.category );
106-
assertEquals( 1, p.containedCategories.size() );
107-
assertNull( p.containedCategories.iterator().next().category );
108-
}
109-
);
65+
factoryScope.inTransaction( (session) -> {
66+
session.persist( product );
67+
} );
68+
69+
factoryScope.inTransaction( (session) -> {
70+
var p = session.find( Product.class, product.id );
71+
assertNotNull( p );
72+
assertNotNull( p.category );
73+
assertNotNull( p.containedCategory.category );
74+
assertEquals( 1, p.containedCategories.size() );
75+
Assertions.assertSame( p.category, p.containedCategory.category );
76+
Assertions.assertSame( p.category, p.containedCategories.iterator().next().category );
77+
} );
78+
79+
factoryScope.inTransaction( (session) -> {
80+
var c = session.find( Category.class, category.id );
81+
assertNotNull( c );
82+
c.inactive = 1;
83+
} );
84+
85+
factoryScope.inTransaction( (session) -> {
86+
var c = session.find( Category.class, category.id );
87+
assertNull( c );
88+
} );
89+
90+
factoryScope.inTransaction( (session) -> {
91+
// Entity-level where clause is ignored when to-one associations to that
92+
// association is loaded eagerly using FetchMode.JOIN, so the result
93+
// should be the same as before the Category was made inactive.
94+
var p = session.find( Product.class, product.id );
95+
assertNotNull( p );
96+
assertNull( p.category );
97+
assertNull( p.containedCategory.category );
98+
assertEquals( 1, p.containedCategories.size() );
99+
assertNull( p.containedCategories.iterator().next().category );
100+
} );
110101
}
111102

112103
@Entity(name = "Product")

hibernate-core/src/test/java/org/hibernate/orm/test/where/annotations/EagerToManyWhereTest.java

Lines changed: 70 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
*/
55
package org.hibernate.orm.test.where.annotations;
66

7-
import java.util.Arrays;
8-
import java.util.HashSet;
9-
import java.util.Set;
107
import jakarta.persistence.Entity;
118
import jakarta.persistence.FetchType;
129
import jakarta.persistence.GeneratedValue;
@@ -16,15 +13,19 @@
1613
import jakarta.persistence.ManyToMany;
1714
import jakarta.persistence.OneToMany;
1815
import jakarta.persistence.Table;
19-
2016
import org.hibernate.annotations.SQLJoinTableRestriction;
2117
import org.hibernate.annotations.SQLRestriction;
22-
18+
import org.hibernate.testing.orm.junit.DomainModel;
2319
import org.hibernate.testing.orm.junit.JiraKey;
24-
import org.hibernate.testing.junit4.BaseNonConfigCoreFunctionalTestCase;
25-
import org.junit.Test;
20+
import org.hibernate.testing.orm.junit.SessionFactory;
21+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
22+
import org.junit.jupiter.api.AfterEach;
23+
import org.junit.jupiter.api.Test;
24+
25+
import java.util.Arrays;
26+
import java.util.HashSet;
27+
import java.util.Set;
2628

27-
import static org.hibernate.testing.transaction.TransactionUtil.doInHibernate;
2829
import static org.junit.Assert.assertEquals;
2930
import static org.junit.Assert.assertNotNull;
3031
import static org.junit.Assert.assertNull;
@@ -36,19 +37,20 @@
3637
*
3738
* @author Gail Badner
3839
*/
39-
public class EagerToManyWhereTest extends BaseNonConfigCoreFunctionalTestCase {
40-
41-
@Override
42-
protected Class[] getAnnotatedClasses() {
43-
return new Class[] { Product.class, Category.class };
40+
@SuppressWarnings("JUnitMalformedDeclaration")
41+
@DomainModel(annotatedClasses = { EagerToManyWhereTest.Product.class, EagerToManyWhereTest.Category.class })
42+
@SessionFactory
43+
public class EagerToManyWhereTest {
44+
@AfterEach
45+
void dropTestData(SessionFactoryScope factoryScope) {
46+
factoryScope.dropData();
4447
}
4548

4649
@Test
4750
@JiraKey( value = "HHH-13011" )
48-
public void testAssociatedWhereClause() {
49-
50-
Product product = new Product();
51-
Category flowers = new Category();
51+
public void testAssociatedWhereClause(SessionFactoryScope factoryScope) {
52+
var product = new Product();
53+
var flowers = new Category();
5254
flowers.id = 1;
5355
flowers.name = "flowers";
5456
flowers.description = "FLOWERS";
@@ -57,7 +59,7 @@ public void testAssociatedWhereClause() {
5759
product.categoriesManyToMany.add( flowers );
5860
product.categoriesWithDescManyToMany.add( flowers );
5961
product.categoriesWithDescIdLt4ManyToMany.add( flowers );
60-
Category vegetables = new Category();
62+
var vegetables = new Category();
6163
vegetables.id = 2;
6264
vegetables.name = "vegetables";
6365
vegetables.description = "VEGETABLES";
@@ -66,7 +68,7 @@ public void testAssociatedWhereClause() {
6668
product.categoriesManyToMany.add( vegetables );
6769
product.categoriesWithDescManyToMany.add( vegetables );
6870
product.categoriesWithDescIdLt4ManyToMany.add( vegetables );
69-
Category dogs = new Category();
71+
var dogs = new Category();
7072
dogs.id = 3;
7173
dogs.name = "dogs";
7274
dogs.description = null;
@@ -75,7 +77,7 @@ public void testAssociatedWhereClause() {
7577
product.categoriesManyToMany.add( dogs );
7678
product.categoriesWithDescManyToMany.add( dogs );
7779
product.categoriesWithDescIdLt4ManyToMany.add( dogs );
78-
Category building = new Category();
80+
var building = new Category();
7981
building.id = 4;
8082
building.name = "building";
8183
building.description = "BUILDING";
@@ -85,69 +87,54 @@ public void testAssociatedWhereClause() {
8587
product.categoriesWithDescManyToMany.add( building );
8688
product.categoriesWithDescIdLt4ManyToMany.add( building );
8789

88-
doInHibernate(
89-
this::sessionFactory,
90-
session -> {
91-
session.persist( flowers );
92-
session.persist( vegetables );
93-
session.persist( dogs );
94-
session.persist( building );
95-
session.persist( product );
96-
}
97-
);
98-
99-
doInHibernate(
100-
this::sessionFactory,
101-
session -> {
102-
Product p = session.get( Product.class, product.id );
103-
assertNotNull( p );
104-
assertEquals( 4, p.categoriesOneToMany.size() );
105-
checkIds( p.categoriesOneToMany, new Integer[] { 1, 2, 3, 4 } );
106-
assertEquals( 3, p.categoriesWithDescOneToMany.size() );
107-
checkIds( p.categoriesWithDescOneToMany, new Integer[] { 1, 2, 4 } );
108-
assertEquals( 4, p.categoriesManyToMany.size() );
109-
checkIds( p.categoriesManyToMany, new Integer[] { 1, 2, 3, 4 } );
110-
assertEquals( 3, p.categoriesWithDescManyToMany.size() );
111-
checkIds( p.categoriesWithDescManyToMany, new Integer[] { 1, 2, 4 } );
112-
assertEquals( 2, p.categoriesWithDescIdLt4ManyToMany.size() );
113-
checkIds( p.categoriesWithDescIdLt4ManyToMany, new Integer[] { 1, 2 } );
114-
}
115-
);
116-
117-
doInHibernate(
118-
this::sessionFactory,
119-
session -> {
120-
Category c = session.get( Category.class, flowers.id );
121-
assertNotNull( c );
122-
c.inactive = 1;
123-
}
124-
);
125-
126-
doInHibernate(
127-
this::sessionFactory,
128-
session -> {
129-
Category c = session.get( Category.class, flowers.id );
130-
assertNull( c );
131-
}
132-
);
133-
134-
doInHibernate(
135-
this::sessionFactory,
136-
session -> {
137-
Product p = session.get( Product.class, product.id );
138-
assertNotNull( p );
139-
assertEquals( 3, p.categoriesOneToMany.size() );
140-
checkIds( p.categoriesOneToMany, new Integer[] { 2, 3, 4 } );
141-
assertEquals( 2, p.categoriesWithDescOneToMany.size() );
142-
checkIds( p.categoriesWithDescOneToMany, new Integer[] { 2, 4 } );
143-
assertEquals( 3, p.categoriesManyToMany.size() );
144-
checkIds( p.categoriesManyToMany, new Integer[] { 2, 3, 4 } );
145-
assertEquals( 2, p.categoriesWithDescManyToMany.size() );
146-
checkIds( p.categoriesWithDescManyToMany, new Integer[] { 2, 4 } );
147-
assertEquals( 1, p.categoriesWithDescIdLt4ManyToMany.size() );
148-
checkIds( p.categoriesWithDescIdLt4ManyToMany, new Integer[] { 2 } );
149-
}
150-
);
90+
factoryScope.inTransaction( (session) -> {
91+
session.persist( flowers );
92+
session.persist( vegetables );
93+
session.persist( dogs );
94+
session.persist( building );
95+
session.persist( product );
96+
} );
97+
98+
factoryScope.inTransaction( (session) -> {
99+
var p = session.find( Product.class, product.id );
100+
assertNotNull( p );
101+
assertEquals( 4, p.categoriesOneToMany.size() );
102+
checkIds( p.categoriesOneToMany, new Integer[] { 1, 2, 3, 4 } );
103+
assertEquals( 3, p.categoriesWithDescOneToMany.size() );
104+
checkIds( p.categoriesWithDescOneToMany, new Integer[] { 1, 2, 4 } );
105+
assertEquals( 4, p.categoriesManyToMany.size() );
106+
checkIds( p.categoriesManyToMany, new Integer[] { 1, 2, 3, 4 } );
107+
assertEquals( 3, p.categoriesWithDescManyToMany.size() );
108+
checkIds( p.categoriesWithDescManyToMany, new Integer[] { 1, 2, 4 } );
109+
assertEquals( 2, p.categoriesWithDescIdLt4ManyToMany.size() );
110+
checkIds( p.categoriesWithDescIdLt4ManyToMany, new Integer[] { 1, 2 } );
111+
} );
112+
113+
factoryScope.inTransaction( (session) -> {
114+
var c = session.find( Category.class, flowers.id );
115+
assertNotNull( c );
116+
c.inactive = 1;
117+
} );
118+
119+
factoryScope.inTransaction( (session) -> {
120+
var c = session.find( Category.class, flowers.id );
121+
assertNull( c );
122+
} );
123+
124+
factoryScope.inTransaction( (session) -> {
125+
var p = session.find( Product.class, product.id );
126+
assertNotNull( p );
127+
assertEquals( 3, p.categoriesOneToMany.size() );
128+
checkIds( p.categoriesOneToMany, new Integer[] { 2, 3, 4 } );
129+
assertEquals( 2, p.categoriesWithDescOneToMany.size() );
130+
checkIds( p.categoriesWithDescOneToMany, new Integer[] { 2, 4 } );
131+
assertEquals( 3, p.categoriesManyToMany.size() );
132+
checkIds( p.categoriesManyToMany, new Integer[] { 2, 3, 4 } );
133+
assertEquals( 2, p.categoriesWithDescManyToMany.size() );
134+
checkIds( p.categoriesWithDescManyToMany, new Integer[] { 2, 4 } );
135+
assertEquals( 1, p.categoriesWithDescIdLt4ManyToMany.size() );
136+
checkIds( p.categoriesWithDescIdLt4ManyToMany, new Integer[] { 2 } );
137+
} );
151138
}
152139

153140
private void checkIds(Set<Category> categories, Integer[] expectedIds) {

0 commit comments

Comments
 (0)