Skip to content

Commit ff9d04d

Browse files
committed
HHH-19916 - Drop JUnit 4 usage
Not converted... * org.hibernate.orm.test.type.AbstractJavaTimeTypeTest subtypes - crazy parameterization (see org.hibernate.orm.test.tm.InterceptorTransactionTest)
1 parent 23634be commit ff9d04d

File tree

15 files changed

+509
-617
lines changed

15 files changed

+509
-617
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/interceptor/InterceptorTransactionEventTest.java

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,35 @@
55
package org.hibernate.orm.test.interceptor;
66

77
import org.hibernate.Interceptor;
8-
import org.hibernate.Session;
98
import org.hibernate.Transaction;
10-
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
11-
import org.junit.Test;
12-
13-
import static org.junit.Assert.assertTrue;
9+
import org.hibernate.testing.orm.junit.SessionFactory;
10+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
11+
import org.junit.jupiter.api.Assertions;
12+
import org.junit.jupiter.api.Test;
1413

1514
/**
1615
* Tests, whether {@link Interceptor} gets the transaction events
1716
*/
18-
public class InterceptorTransactionEventTest extends BaseCoreFunctionalTestCase {
17+
@SuppressWarnings("JUnitMalformedDeclaration")
18+
@SessionFactory
19+
public class InterceptorTransactionEventTest {
1920

2021
@Test
21-
public void testTransactionEvents() {
22+
public void testTransactionEvents(SessionFactoryScope factoryScope) {
2223
LoggingInterceptor interceptor = new LoggingInterceptor();
2324

24-
Session s = openSession(interceptor);
25-
Transaction tx = s.beginTransaction();
26-
// Do nothing, open and closing the transaction is enough
27-
tx.commit();
28-
s.close();
25+
factoryScope.inTransaction(
26+
(sf) -> sf.withOptions().interceptor( interceptor ).openSession(),
27+
(s) -> {
28+
// Do nothing, open and closing the transaction is enough
29+
}
30+
);
2931

30-
assertTrue("afterTransactionBeginCalled not called", interceptor.isAfterTransactionBeginCalled());
31-
assertTrue("afterTransactionCompletionCalled not called", interceptor.isAfterTransactionCompletionCalled());
32-
assertTrue("beforeTransactionCompletionCalled not called", interceptor.isBeforeTransactionCompletionCalled());
32+
Assertions.assertTrue( interceptor.isAfterTransactionBeginCalled(), "afterTransactionBeginCalled not called" );
33+
Assertions.assertTrue( interceptor.isAfterTransactionCompletionCalled(),
34+
"afterTransactionCompletionCalled not called" );
35+
Assertions.assertTrue( interceptor.isBeforeTransactionCompletionCalled(),
36+
"beforeTransactionCompletionCalled not called" );
3337
}
3438

3539
private static class LoggingInterceptor implements Interceptor {

hibernate-core/src/test/java/org/hibernate/orm/test/jpa/criteria/nulliteral/NullLiteralExpression.java

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,24 @@
44
*/
55
package org.hibernate.orm.test.jpa.criteria.nulliteral;
66

7-
import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase;
8-
9-
import org.hibernate.testing.orm.junit.Jira;
10-
import org.junit.Test;
11-
127
import jakarta.persistence.criteria.CriteriaBuilder;
138
import jakarta.persistence.criteria.CriteriaUpdate;
14-
15-
import static org.hibernate.testing.transaction.TransactionUtil.doInJPA;
9+
import org.hibernate.testing.orm.junit.DomainModel;
10+
import org.hibernate.testing.orm.junit.Jira;
11+
import org.hibernate.testing.orm.junit.SessionFactory;
12+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
13+
import org.junit.jupiter.api.Test;
1614

1715
/**
1816
* @author Andrea Boriero
1917
*/
20-
public class NullLiteralExpression extends BaseEntityManagerFunctionalTestCase {
21-
22-
@Override
23-
protected Class<?>[] getAnnotatedClasses() {
24-
return new Class[] { Person.class, Subject.class };
25-
}
26-
18+
@DomainModel(annotatedClasses = { Person.class, Subject.class })
19+
@SessionFactory
20+
public class NullLiteralExpression {
2721
@Test
2822
@Jira( "https://hibernate.atlassian.net/browse/HHH-11159" )
29-
public void testNullLiteralExpressionInCriteriaUpdate() {
30-
doInJPA( this::entityManagerFactory, entityManager -> {
23+
public void testNullLiteralExpressionInCriteriaUpdate(SessionFactoryScope factoryScope) {
24+
factoryScope.inTransaction( entityManager -> {
3125
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
3226
CriteriaUpdate<Person> criteriaUpdate = builder.createCriteriaUpdate( Person.class );
3327
criteriaUpdate.from( Person.class );
@@ -38,8 +32,8 @@ public void testNullLiteralExpressionInCriteriaUpdate() {
3832

3933
@Test
4034
@Jira( "https://hibernate.atlassian.net/browse/HHH-16803" )
41-
public void testEnumNullLiteralUpdate() {
42-
doInJPA( this::entityManagerFactory, entityManager -> {
35+
public void testEnumNullLiteralUpdate(SessionFactoryScope factoryScope) {
36+
factoryScope.inTransaction( entityManager -> {
4337
final CriteriaBuilder builder = entityManager.getCriteriaBuilder();
4438
final CriteriaUpdate<Person> criteriaUpdate = builder.createCriteriaUpdate( Person.class );
4539
criteriaUpdate.from( Person.class );

hibernate-core/src/test/java/org/hibernate/orm/test/locking/warning/LockNoneWarningTest.java

Lines changed: 40 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -15,68 +15,64 @@
1515
import jakarta.persistence.OneToMany;
1616
import jakarta.persistence.Table;
1717

18-
import org.hibernate.Session;
19-
import org.hibernate.query.Query;
18+
import org.hibernate.internal.CoreMessageLogger;
2019

20+
import org.hibernate.testing.orm.junit.DomainModel;
2121
import org.hibernate.testing.orm.junit.JiraKey;
22-
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
23-
import org.hibernate.testing.logger.LoggerInspectionRule;
24-
import org.hibernate.testing.logger.Triggerable;
25-
import org.hibernate.testing.transaction.TransactionUtil;
26-
import org.junit.After;
27-
import org.junit.Before;
28-
import org.junit.Rule;
29-
import org.junit.Test;
22+
import org.hibernate.testing.orm.junit.Logger;
23+
import org.hibernate.testing.orm.junit.LoggingInspections;
24+
import org.hibernate.testing.orm.junit.LoggingInspectionsScope;
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.BeforeEach;
30+
import org.junit.jupiter.api.Test;
3031

3132
import static jakarta.persistence.LockModeType.NONE;
32-
import static org.hibernate.internal.CoreMessageLogger.CORE_LOGGER;
33-
import static org.junit.Assert.assertFalse;
3433

3534
/**
3635
* @author Andrea Boriero
3736
*/
37+
@SuppressWarnings("JUnitMalformedDeclaration")
3838
@JiraKey(value = "HHH-10513")
39-
public class LockNoneWarningTest extends BaseCoreFunctionalTestCase {
40-
41-
private Triggerable triggerable;
42-
43-
@Rule
44-
public LoggerInspectionRule logInspection = new LoggerInspectionRule( CORE_LOGGER );
45-
46-
@Override
47-
protected Class<?>[] getAnnotatedClasses() {
48-
return new Class[] {Item.class, Bid.class};
49-
}
50-
51-
@Before
52-
public void setUp() {
53-
buildSessionFactory();
54-
final Set messagesPrefixes = new HashSet<>();
55-
messagesPrefixes.add( "HHH000444" );
56-
messagesPrefixes.add( "HHH000445" );
57-
triggerable = logInspection.watchForLogMessages( messagesPrefixes );
58-
TransactionUtil.doInHibernate( this::sessionFactory, session -> {
39+
@LoggingInspections(messages = {
40+
@LoggingInspections.Message(
41+
messageKey = "HHH000444",
42+
loggers = @Logger(loggerName = CoreMessageLogger.NAME)
43+
),
44+
@LoggingInspections.Message(
45+
messageKey = "HHH000445",
46+
loggers = @Logger(loggerName = CoreMessageLogger.NAME)
47+
)
48+
})
49+
@DomainModel(annotatedClasses = {LockNoneWarningTest.Item.class, LockNoneWarningTest.Bid.class})
50+
@SessionFactory
51+
public class LockNoneWarningTest {
52+
@BeforeEach
53+
void setUp(SessionFactoryScope factoryScope) {
54+
factoryScope.inTransaction( session -> {
5955
Item item = new Item();
6056
item.name = "ZZZZ";
6157
session.persist( item );
6258
} );
6359
}
6460

65-
@After
66-
public void tearDown(){
67-
releaseSessionFactory();
68-
triggerable.reset();
61+
@AfterEach
62+
void tearDown(SessionFactoryScope factoryScope) {
63+
factoryScope.dropData();
6964
}
7065

66+
/// Test that no warning is triggered when [#NONE] is used with follow-on locking
7167
@Test
72-
public void testQuerySetLockModeNONEDoNotLogAWarnMessageWhenTheDialectUseFollowOnLockingIsTrue() {
73-
try (Session s = openSession();) {
74-
final Query query = s.createQuery( "from Item i join i.bids b where name = :name", Object[].class );
75-
query.setParameter( "name", "ZZZZ" );
76-
query.setLockMode( NONE );
77-
query.list();
78-
assertFalse( "Log message was not triggered", triggerable.wasTriggered() );
79-
}
68+
public void testIt(SessionFactoryScope factoryScope, LoggingInspectionsScope loggingScope) {
69+
factoryScope.inTransaction( (s) -> {
70+
s.createQuery( "from Item i join i.bids b where name = :name", Object[].class )
71+
.setParameter( "name", "ZZZZ" )
72+
.setLockMode( NONE )
73+
.list();
74+
Assertions.assertFalse( loggingScope.wereAnyTriggered(), "Log message was unexpectedly triggered" );
75+
} );
8076
}
8177

8278
@Entity(name = "Item")

hibernate-core/src/test/java/org/hibernate/orm/test/schemaupdate/ConnectionsReleaseTest.java

Lines changed: 30 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,73 +4,60 @@
44
*/
55
package org.hibernate.orm.test.schemaupdate;
66

7-
import java.util.EnumSet;
87
import jakarta.persistence.Entity;
98
import jakarta.persistence.Id;
109
import jakarta.persistence.Table;
11-
12-
import org.hibernate.boot.MetadataSources;
13-
import org.hibernate.boot.registry.StandardServiceRegistry;
14-
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
15-
import org.hibernate.boot.spi.MetadataImplementor;
1610
import org.hibernate.dialect.H2Dialect;
17-
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
11+
import org.hibernate.testing.jdbc.SharedDriverManagerConnectionProvider;
12+
import org.hibernate.testing.orm.junit.DomainModel;
13+
import org.hibernate.testing.orm.junit.DomainModelScope;
14+
import org.hibernate.testing.orm.junit.JiraKey;
15+
import org.hibernate.testing.orm.junit.RequiresDialect;
16+
import org.hibernate.testing.orm.junit.ServiceRegistryFunctionalTesting;
17+
import org.hibernate.testing.orm.junit.ServiceRegistryProducer;
1818
import org.hibernate.tool.hbm2ddl.SchemaUpdate;
1919
import org.hibernate.tool.hbm2ddl.SchemaValidator;
2020
import org.hibernate.tool.schema.TargetType;
21+
import org.junit.jupiter.api.BeforeAll;
22+
import org.junit.jupiter.api.MethodOrderer;
23+
import org.junit.jupiter.api.Order;
24+
import org.junit.jupiter.api.Test;
25+
import org.junit.jupiter.api.TestMethodOrder;
2126

22-
import org.hibernate.testing.orm.junit.JiraKey;
23-
import org.hibernate.testing.jdbc.SharedDriverManagerConnectionProvider;
24-
import org.hibernate.testing.junit4.BaseUnitTestCase;
25-
import org.hibernate.testing.orm.junit.RequiresDialect;
26-
import org.hibernate.testing.util.ServiceRegistryUtil;
27-
import org.junit.After;
28-
import org.junit.Before;
29-
import org.junit.Test;
27+
import java.util.EnumSet;
3028

3129
import static org.hamcrest.MatcherAssert.assertThat;
3230
import static org.hamcrest.core.Is.is;
3331

3432
/**
3533
* @author Andrea Boriero
3634
*/
35+
@SuppressWarnings("JUnitMalformedDeclaration")
3736
@JiraKey(value = "HHH-10443")
3837
@RequiresDialect( H2Dialect.class )
39-
public class ConnectionsReleaseTest extends BaseUnitTestCase {
40-
41-
private StandardServiceRegistry ssr;
42-
private MetadataImplementor metadata;
43-
private SharedDriverManagerConnectionProvider connectionProvider;
44-
45-
@Before
46-
public void setUp() {
47-
connectionProvider = SharedDriverManagerConnectionProvider.getInstance();
48-
49-
ssr = ServiceRegistryUtil.serviceRegistryBuilder()
50-
.addService( ConnectionProvider.class, connectionProvider )
51-
.build();
52-
metadata = (MetadataImplementor) new MetadataSources( ssr )
53-
.addAnnotatedClass( Thing.class )
54-
.buildMetadata();
55-
metadata.orderColumns( false );
56-
metadata.validate();
57-
}
38+
@ServiceRegistryFunctionalTesting
39+
@DomainModel(annotatedClasses = ConnectionsReleaseTest.Thing.class)
40+
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
41+
public class ConnectionsReleaseTest implements ServiceRegistryProducer {
5842

59-
@After
60-
public void tearDown() {
61-
StandardServiceRegistryBuilder.destroy( ssr );
43+
@BeforeAll
44+
static void beforeAll(DomainModelScope modelScope) {
45+
modelScope.getDomainModel().orderColumns( false );
46+
modelScope.getDomainModel().validate();
6247
}
6348

6449
@Test
65-
public void testSchemaUpdateReleasesAllConnections() {
66-
new SchemaUpdate().execute( EnumSet.of( TargetType.DATABASE ), metadata );
67-
assertThat( connectionProvider.getOpenConnections(), is( 0 ) );
50+
@Order(1)
51+
public void testSchemaUpdateReleasesAllConnections(DomainModelScope modelScope) {
52+
new SchemaUpdate().execute( EnumSet.of( TargetType.DATABASE ), modelScope.getDomainModel() );
53+
assertThat( SharedDriverManagerConnectionProvider.getInstance().getOpenConnections(), is( 0 ) );
6854
}
6955

7056
@Test
71-
public void testSchemaValidatorReleasesAllConnections() {
72-
new SchemaValidator().validate( metadata );
73-
assertThat( connectionProvider.getOpenConnections(), is( 0 ) );
57+
@Order(2)
58+
public void testSchemaValidatorReleasesAllConnections(DomainModelScope modelScope) {
59+
new SchemaValidator().validate( modelScope.getDomainModel() );
60+
assertThat( SharedDriverManagerConnectionProvider.getInstance().getOpenConnections(), is( 0 ) );
7461
}
7562

7663
@Entity(name = "Thing")

0 commit comments

Comments
 (0)