Skip to content

Commit 92428e5

Browse files
committed
HHH-19846 Drop JUnit 4 usage
1 parent 4f9f02b commit 92428e5

File tree

5 files changed

+191
-192
lines changed

5 files changed

+191
-192
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/formula/JoinColumnOrFormulaTest.java

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,50 +4,65 @@
44
*/
55
package org.hibernate.orm.test.annotations.formula;
66

7-
import java.util.HashSet;
8-
import java.util.Set;
97
import jakarta.persistence.Column;
108
import jakarta.persistence.Entity;
119
import jakarta.persistence.Id;
1210
import jakarta.persistence.OneToMany;
1311
import jakarta.persistence.Table;
14-
1512
import org.hibernate.annotations.JoinColumnOrFormula;
1613
import org.hibernate.annotations.JoinFormula;
1714
import org.hibernate.boot.Metadata;
1815
import org.hibernate.boot.MetadataSources;
1916
import org.hibernate.boot.registry.StandardServiceRegistry;
2017
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
21-
22-
import org.hibernate.testing.FailureExpected;
18+
import org.hibernate.cfg.AvailableSettings;
19+
import org.hibernate.cfg.Environment;
20+
import org.hibernate.testing.jdbc.SharedDriverManagerConnectionProvider;
21+
import org.hibernate.testing.orm.junit.BaseUnitTest;
22+
import org.hibernate.testing.orm.junit.FailureExpected;
2323
import org.hibernate.testing.orm.junit.JiraKey;
24-
import org.hibernate.testing.junit4.BaseUnitTestCase;
25-
import org.hibernate.testing.util.ServiceRegistryUtil;
26-
import org.junit.After;
27-
import org.junit.Before;
28-
import org.junit.Test;
24+
import org.junit.jupiter.api.AfterEach;
25+
import org.junit.jupiter.api.BeforeEach;
26+
import org.junit.jupiter.api.Test;
27+
28+
import java.util.HashSet;
29+
import java.util.Set;
2930

3031
/**
3132
* @author Steve Ebersole
3233
*/
33-
public class JoinColumnOrFormulaTest extends BaseUnitTestCase {
34+
@BaseUnitTest
35+
public class JoinColumnOrFormulaTest {
3436
private StandardServiceRegistry ssr;
3537

36-
@Before
38+
@BeforeEach
3739
public void before() {
38-
ssr = ServiceRegistryUtil.serviceRegistry();
40+
final StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder();
41+
if ( !Environment.getProperties().containsKey( AvailableSettings.CONNECTION_PROVIDER )
42+
&& !builder.getSettings().containsKey( AvailableSettings.CONNECTION_PROVIDER ) ) {
43+
builder.applySetting(
44+
AvailableSettings.CONNECTION_PROVIDER,
45+
SharedDriverManagerConnectionProvider.getInstance()
46+
);
47+
builder.applySetting(
48+
AvailableSettings.CONNECTION_PROVIDER_DISABLES_AUTOCOMMIT,
49+
Boolean.TRUE
50+
);
51+
}
52+
53+
ssr = builder.build();
3954
}
4055

41-
@After
56+
@AfterEach
4257
public void after() {
4358
if ( ssr != null ) {
4459
StandardServiceRegistryBuilder.destroy( ssr );
4560
}
4661
}
4762

4863
@Test
49-
@JiraKey( value = "HHH-9897" )
50-
@FailureExpected( jiraKey = "HHH-9897" )
64+
@JiraKey(value = "HHH-9897")
65+
@FailureExpected(jiraKey = "HHH-9897")
5166
public void testUseOfJoinColumnOrFormula() {
5267
Metadata metadata = new MetadataSources( ssr )
5368
.addAnnotatedClass( A.class )
@@ -60,23 +75,23 @@ public void testUseOfJoinColumnOrFormula() {
6075
metadata.buildSessionFactory().close();
6176
}
6277

63-
@Entity( name = "A" )
64-
@Table( name = "A" )
78+
@Entity(name = "A")
79+
@Table(name = "A")
6580
public static class A {
6681
@Id
67-
@Column( name = "idA")
82+
@Column(name = "idA")
6883
public Integer id;
6984

7085
@OneToMany
7186
@JoinColumnOrFormula(formula = @JoinFormula(value = "idA", referencedColumnName = "idA"))
72-
Set<D> ds = new HashSet<D>();
87+
Set<D> ds = new HashSet<>();
7388
}
7489

75-
@Entity( name = "D" )
76-
@Table( name = "D" )
90+
@Entity(name = "D")
91+
@Table(name = "D")
7792
public static class D {
7893
@Id
79-
@Column( name = "idA")
94+
@Column(name = "idA")
8095
public Integer idA;
8196
}
8297
}

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/formula/JoinFormulaManyToOneLazyFetchingTest.java

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

7-
import java.io.Serializable;
8-
import java.util.List;
97
import jakarta.persistence.Column;
108
import jakarta.persistence.Entity;
119
import jakarta.persistence.EnumType;
@@ -14,36 +12,36 @@
1412
import jakarta.persistence.Id;
1513
import jakarta.persistence.JoinColumn;
1614
import jakarta.persistence.ManyToOne;
17-
1815
import org.hibernate.LazyInitializationException;
1916
import org.hibernate.annotations.JoinColumnOrFormula;
2017
import org.hibernate.annotations.JoinFormula;
2118
import org.hibernate.annotations.processing.Exclude;
22-
import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase;
23-
19+
import org.hibernate.testing.orm.junit.EntityManagerFactoryScope;
2420
import org.hibernate.testing.orm.junit.JiraKey;
25-
import org.junit.Test;
21+
import org.hibernate.testing.orm.junit.Jpa;
22+
import org.junit.jupiter.api.BeforeAll;
23+
import org.junit.jupiter.api.Test;
24+
25+
import java.io.Serializable;
26+
import java.util.List;
2627

27-
import static org.hibernate.testing.transaction.TransactionUtil.doInJPA;
28-
import static org.junit.Assert.assertEquals;
29-
import static org.junit.Assert.assertNull;
30-
import static org.junit.Assert.fail;
28+
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
29+
import static org.assertj.core.api.Fail.fail;
3130

3231
@JiraKey(value = "HHH-12770")
3332
@Exclude
34-
public class JoinFormulaManyToOneLazyFetchingTest extends BaseEntityManagerFunctionalTestCase {
35-
36-
@Override
37-
protected Class<?>[] getAnnotatedClasses() {
38-
return new Class<?>[] {
39-
Stock.class,
40-
StockCode.class,
41-
};
42-
}
33+
@Jpa(
34+
annotatedClasses = {
35+
JoinFormulaManyToOneLazyFetchingTest.Stock.class,
36+
JoinFormulaManyToOneLazyFetchingTest.StockCode.class,
37+
}
38+
)
39+
public class JoinFormulaManyToOneLazyFetchingTest {
4340

44-
@Override
45-
protected void afterEntityManagerFactoryBuilt() {
46-
doInJPA( this::entityManagerFactory, entityManager -> {
41+
42+
@BeforeAll
43+
protected void setUp(EntityManagerFactoryScope scope) {
44+
scope.inTransaction( entityManager -> {
4745
StockCode code = new StockCode();
4846
code.setId( 1L );
4947
code.setCopeType( CodeType.TYPE_A );
@@ -62,16 +60,14 @@ protected void afterEntityManagerFactoryBuilt() {
6260
}
6361

6462
@Test
65-
public void testLazyLoading() {
66-
List<Stock> stocks = doInJPA( this::entityManagerFactory, entityManager -> {
67-
return entityManager.createQuery(
68-
"SELECT s FROM Stock s", Stock.class )
69-
.getResultList();
70-
} );
71-
assertEquals( 2, stocks.size() );
63+
public void testLazyLoading(EntityManagerFactoryScope scope) {
64+
List<Stock> stocks = scope.fromTransaction( entityManager ->
65+
entityManager.createQuery( "SELECT s FROM Stock s", Stock.class ).getResultList()
66+
);
67+
assertThat( stocks.size() ).isEqualTo( 2 );
7268

7369
try {
74-
assertEquals( "ABC", stocks.get( 0 ).getCode().getRefNumber() );
70+
assertThat( stocks.get( 0 ).getCode().getRefNumber() ).isEqualTo( "ABC" );
7571

7672
fail( "Should have thrown LazyInitializationException" );
7773
}
@@ -81,18 +77,18 @@ public void testLazyLoading() {
8177
}
8278

8379
@Test
84-
public void testEagerLoading() {
85-
doInJPA( this::entityManagerFactory, entityManager -> {
86-
List<Stock> stocks = entityManager.createQuery(
87-
"SELECT s FROM Stock s", Stock.class )
80+
public void testEagerLoading(EntityManagerFactoryScope scope) {
81+
scope.inTransaction( entityManager -> {
82+
List<Stock> stocks = entityManager.createQuery(
83+
"SELECT s FROM Stock s", Stock.class )
8884
.getResultList();
8985

90-
assertEquals( 2, stocks.size() );
91-
assertEquals( "ABC", stocks.get( 0 ).getCode().getRefNumber() );
86+
assertThat( stocks.size() ).isEqualTo( 2 );
87+
assertThat( stocks.get( 0 ).getCode().getRefNumber() ).isEqualTo( "ABC" );
9288

9389
// In 5.x, for some reason, we didn't understand that a component is a FK,
9490
// hence a partial null was wrongly handled, but in 6.0 we handle this in a unified way
95-
assertNull( stocks.get( 1 ).getCode() );
91+
assertThat( stocks.get( 1 ).getCode() ).isNull();
9692
} );
9793
}
9894

@@ -165,7 +161,7 @@ public void setRefNumber(String refNumber) {
165161
}
166162

167163
public enum CodeType {
168-
TYPE_A, TYPE_B;
164+
TYPE_A, TYPE_B
169165
}
170166

171167
}

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/formula/JoinFormulaManyToOneNotIgnoreLazyFetchingTest.java

Lines changed: 40 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,6 @@
44
*/
55
package org.hibernate.orm.test.annotations.formula;
66

7-
import java.io.Serializable;
8-
import java.util.List;
9-
10-
import org.hibernate.annotations.JoinColumnOrFormula;
11-
import org.hibernate.annotations.JoinFormula;
12-
import org.hibernate.annotations.NotFound;
13-
import org.hibernate.annotations.NotFoundAction;
14-
import org.hibernate.annotations.processing.Exclude;
15-
import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase;
16-
17-
import org.hibernate.testing.orm.junit.JiraKey;
18-
import org.hibernate.testing.logger.LoggerInspectionRule;
19-
import org.hibernate.testing.logger.Triggerable;
20-
import org.junit.Rule;
21-
import org.junit.Test;
22-
23-
247
import jakarta.persistence.Column;
258
import jakarta.persistence.Entity;
269
import jakarta.persistence.EnumType;
@@ -29,34 +12,48 @@
2912
import jakarta.persistence.Id;
3013
import jakarta.persistence.JoinColumn;
3114
import jakarta.persistence.ManyToOne;
15+
import org.hibernate.annotations.JoinColumnOrFormula;
16+
import org.hibernate.annotations.JoinFormula;
17+
import org.hibernate.annotations.NotFound;
18+
import org.hibernate.annotations.NotFoundAction;
19+
import org.hibernate.annotations.processing.Exclude;
20+
import org.hibernate.testing.logger.Triggerable;
21+
import org.hibernate.testing.orm.junit.EntityManagerFactoryScope;
22+
import org.hibernate.testing.orm.junit.JiraKey;
23+
import org.hibernate.testing.orm.junit.Jpa;
24+
import org.hibernate.testing.orm.logger.LoggerInspectionExtension;
25+
import org.junit.jupiter.api.BeforeAll;
26+
import org.junit.jupiter.api.Test;
27+
import org.junit.jupiter.api.extension.RegisterExtension;
28+
29+
import java.io.Serializable;
30+
import java.util.List;
3231

3332
import static org.assertj.core.api.Assertions.assertThat;
3433
import static org.hibernate.boot.BootLogging.BOOT_LOGGER;
35-
import static org.hibernate.testing.transaction.TransactionUtil.doInJPA;
36-
import static org.junit.Assert.assertEquals;
37-
import static org.junit.Assert.assertNull;
3834

3935
@JiraKey(value = "HHH-12770")
4036
@Exclude
41-
public class JoinFormulaManyToOneNotIgnoreLazyFetchingTest extends BaseEntityManagerFunctionalTestCase {
42-
43-
@Rule
44-
public LoggerInspectionRule logInspection = new LoggerInspectionRule( BOOT_LOGGER );
37+
@Jpa(
38+
annotatedClasses = {
39+
JoinFormulaManyToOneNotIgnoreLazyFetchingTest.Stock.class,
40+
JoinFormulaManyToOneNotIgnoreLazyFetchingTest.StockCode.class,
41+
}
42+
)
43+
public class JoinFormulaManyToOneNotIgnoreLazyFetchingTest {
4544

46-
private final Triggerable triggerable = logInspection.watchForLogMessages( "HHH160133" );
45+
private Triggerable triggerable;
4746

47+
@RegisterExtension
48+
public LoggerInspectionExtension logger =
49+
LoggerInspectionExtension.builder().setLogger( BOOT_LOGGER ).build();
4850

49-
@Override
50-
protected Class<?>[] getAnnotatedClasses() {
51-
return new Class<?>[] {
52-
Stock.class,
53-
StockCode.class,
54-
};
55-
}
51+
@BeforeAll
52+
public void beforeAll(EntityManagerFactoryScope scope) {
53+
triggerable = logger.watchForLogMessages( "HHH160133" );
54+
triggerable.reset();
5655

57-
@Override
58-
protected void afterEntityManagerFactoryBuilt() {
59-
doInJPA( this::entityManagerFactory, entityManager -> {
56+
scope.inTransaction( entityManager -> {
6057
StockCode code = new StockCode();
6158
code.setId( 1L );
6259
code.setCopeType( CodeType.TYPE_A );
@@ -75,20 +72,18 @@ protected void afterEntityManagerFactoryBuilt() {
7572
}
7673

7774
@Test
78-
public void testLazyLoading() {
75+
public void testLazyLoading(EntityManagerFactoryScope scope) {
7976
assertThat( triggerable.wasTriggered() )
8077
.describedAs( "Expecting WARN message to be logged" )
8178
.isTrue();
8279

83-
List<Stock> stocks = doInJPA( this::entityManagerFactory, entityManager -> {
84-
return entityManager.createQuery(
85-
"SELECT s FROM Stock s", Stock.class )
86-
.getResultList();
87-
} );
88-
assertEquals( 2, stocks.size() );
80+
List<Stock> stocks = scope.fromTransaction( entityManager ->
81+
entityManager.createQuery( "SELECT s FROM Stock s", Stock.class ).getResultList()
82+
);
83+
assertThat( stocks.size() ).isEqualTo( 2 );
8984

90-
assertEquals( "ABC", stocks.get( 0 ).getCode().getRefNumber() );
91-
assertNull( stocks.get( 1 ).getCode() );
85+
assertThat( stocks.get( 0 ).getCode().getRefNumber() ).isEqualTo( "ABC" );
86+
assertThat( stocks.get( 1 ).getCode() ).isNull();
9287
}
9388

9489
@Entity(name = "Stock")
@@ -161,7 +156,7 @@ public void setRefNumber(String refNumber) {
161156
}
162157

163158
public enum CodeType {
164-
TYPE_A, TYPE_B;
159+
TYPE_A, TYPE_B
165160
}
166161

167162
}

0 commit comments

Comments
 (0)