Skip to content

Commit 78a5305

Browse files
committed
HHH-19846 - Drop JUnit 4 usage
Not converted... * 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 * org.hibernate.orm.test.type.AbstractJavaTimeTypeTest subtypes - crazy parameterization (see org.hibernate.orm.test.tm.InterceptorTransactionTest) * org.hibernate.orm.test.cdi.general.hibernatesearch.extended.HibernateSearchExtendedCdiSupportTest - not sure yet, all the other tests here pass with conversion - shelved for now
1 parent b4a0b7d commit 78a5305

File tree

11 files changed

+508
-621
lines changed

11 files changed

+508
-621
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/jdbc/GeneralWorkTest.java

Lines changed: 85 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -3,148 +3,115 @@
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
55
package org.hibernate.orm.test.jdbc;
6-
import java.sql.Connection;
7-
import java.sql.ResultSet;
8-
import java.sql.SQLException;
9-
import java.sql.Statement;
10-
11-
import org.junit.Test;
126

137
import org.hibernate.JDBCException;
14-
import org.hibernate.Session;
158
import org.hibernate.engine.spi.SessionImplementor;
16-
import org.hibernate.jdbc.ReturningWork;
17-
import org.hibernate.jdbc.Work;
18-
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
9+
import org.hibernate.testing.orm.junit.DomainModel;
10+
import org.hibernate.testing.orm.junit.SessionFactory;
11+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
12+
import org.junit.jupiter.api.AfterEach;
13+
import org.junit.jupiter.api.Test;
14+
15+
import java.sql.ResultSet;
16+
import java.sql.Statement;
1917

20-
import static org.junit.Assert.assertEquals;
21-
import static org.junit.Assert.fail;
18+
import static org.junit.jupiter.api.Assertions.assertEquals;
19+
import static org.junit.jupiter.api.Assertions.fail;
2220

2321
/**
2422
* GeneralWorkTest implementation
2523
*
2624
* @author Steve Ebersole
2725
*/
28-
public class GeneralWorkTest extends BaseCoreFunctionalTestCase {
29-
@Override
30-
public String getBaseForMappings() {
31-
return "";
32-
}
33-
34-
@Override
35-
public String[] getMappings() {
36-
return new String[] { "org/hibernate/orm/test/jdbc/Mappings.hbm.xml" };
26+
@SuppressWarnings("JUnitMalformedDeclaration")
27+
@DomainModel(xmlMappings = "org/hibernate/orm/test/jdbc/Mappings.hbm.xml")
28+
@SessionFactory
29+
public class GeneralWorkTest {
30+
@AfterEach
31+
void cleanup(SessionFactoryScope factoryScope) {
32+
factoryScope.dropData();
3733
}
3834

3935
@Test
40-
public void testGeneralUsage() throws Throwable {
41-
final Session session = openSession();
42-
session.beginTransaction();
43-
session.doWork(
44-
new Work() {
45-
public void execute(Connection connection) throws SQLException {
46-
// in this current form, users must handle try/catches themselves for proper resource release
47-
Statement statement = null;
48-
try {
49-
statement = ((SessionImplementor)session).getJdbcCoordinator().getStatementPreparer().createStatement();
50-
ResultSet resultSet = null;
51-
try {
52-
53-
resultSet = ((SessionImplementor)session).getJdbcCoordinator().getResultSetReturn().extract( statement, "select * from T_JDBC_PERSON" );
54-
}
55-
finally {
56-
releaseQuietly( ((SessionImplementor)session), resultSet, statement );
57-
}
58-
try {
59-
((SessionImplementor)session).getJdbcCoordinator().getResultSetReturn().extract( statement, "select * from T_JDBC_BOAT" );
60-
}
61-
finally {
62-
releaseQuietly( ((SessionImplementor)session), resultSet, statement );
63-
}
64-
}
65-
finally {
66-
releaseQuietly( ((SessionImplementor)session), statement );
67-
}
68-
}
36+
public void testGeneralUsage(SessionFactoryScope factoryScope) {
37+
factoryScope.inTransaction( (session) -> session.doWork( (connection) -> {
38+
// in this current form, users must handle try/catches themselves for proper resource release
39+
Statement statement = null;
40+
try {
41+
statement = session.getJdbcCoordinator().getStatementPreparer().createStatement();
42+
ResultSet resultSet = null;
43+
try {
44+
resultSet = session.getJdbcCoordinator().getResultSetReturn().extract( statement, "select * from T_JDBC_PERSON" );
6945
}
70-
);
71-
session.getTransaction().commit();
72-
session.close();
46+
finally {
47+
releaseQuietly( session, resultSet, statement );
48+
}
49+
try {
50+
session.getJdbcCoordinator().getResultSetReturn().extract( statement, "select * from T_JDBC_BOAT" );
51+
}
52+
finally {
53+
releaseQuietly( session, resultSet, statement );
54+
}
55+
}
56+
finally {
57+
releaseQuietly( session, statement );
58+
}
59+
} ) );
7360
}
7461

7562
@Test
76-
public void testSQLExceptionThrowing() {
77-
final Session session = openSession();
78-
session.beginTransaction();
79-
try {
80-
session.doWork(
81-
new Work() {
82-
public void execute(Connection connection) throws SQLException {
83-
Statement statement = null;
84-
try {
85-
statement = ((SessionImplementor)session).getJdbcCoordinator().getStatementPreparer().createStatement();
86-
((SessionImplementor)session).getJdbcCoordinator().getResultSetReturn().extract( statement, "select * from non_existent" );
87-
}
88-
finally {
89-
releaseQuietly( ((SessionImplementor)session), statement );
90-
}
91-
}
63+
public void testSQLExceptionThrowing(SessionFactoryScope factoryScope) {
64+
factoryScope.inTransaction( (session) -> {
65+
try {
66+
session.doWork( (connection) -> {
67+
Statement statement = null;
68+
try {
69+
statement = session.getJdbcCoordinator().getStatementPreparer().createStatement();
70+
session.getJdbcCoordinator().getResultSetReturn().extract( statement, "select * from non_existent" );
9271
}
93-
);
94-
fail( "expecting exception" );
95-
}
96-
catch ( JDBCException expected ) {
97-
// expected outcome
98-
}
99-
session.getTransaction().commit();
100-
session.close();
72+
finally {
73+
releaseQuietly( session, statement );
74+
}
75+
fail( "expecting exception" );
76+
} );
77+
}
78+
catch ( JDBCException expected ) {
79+
// expected outcome
80+
}
81+
} );
10182
}
10283

10384
@Test
104-
public void testGeneralReturningUsage() throws Throwable {
105-
Session session = openSession();
106-
session.beginTransaction();
107-
Person p = new Person( "Abe", "Lincoln" );
108-
session.persist( p );
109-
session.getTransaction().commit();
85+
public void testGeneralReturningUsage(SessionFactoryScope factoryScope) {
86+
factoryScope.inTransaction( (session) -> {
87+
var p = new Person( "Abe", "Lincoln" );
88+
session.persist( p );
89+
} );
11090

111-
final Session session2 = openSession();
112-
session2.beginTransaction();
113-
long count = session2.doReturningWork(
114-
new ReturningWork<Long>() {
115-
public Long execute(Connection connection) throws SQLException {
116-
// in this current form, users must handle try/catches themselves for proper resource release
117-
Statement statement = null;
118-
long personCount = 0;
119-
try {
120-
statement = ((SessionImplementor)session2).getJdbcCoordinator().getStatementPreparer().createStatement();
121-
ResultSet resultSet = null;
122-
try {
123-
resultSet = ((SessionImplementor)session2).getJdbcCoordinator().getResultSetReturn().extract( statement, "select count(*) from T_JDBC_PERSON" );
124-
resultSet.next();
125-
personCount = resultSet.getLong( 1 );
126-
assertEquals( 1L, personCount );
127-
}
128-
finally {
129-
releaseQuietly( ((SessionImplementor)session2), resultSet, statement );
130-
}
131-
}
132-
finally {
133-
releaseQuietly( ((SessionImplementor)session2), statement );
134-
}
135-
return personCount;
91+
factoryScope.inTransaction( (session) -> {
92+
long count = session.doReturningWork( (connection) -> {
93+
// in this current form, users must handle try/catches themselves for proper resource release
94+
Statement statement = null;
95+
long personCount = 0;
96+
try {
97+
statement = session.getJdbcCoordinator().getStatementPreparer().createStatement();
98+
ResultSet resultSet = null;
99+
try {
100+
resultSet = session.getJdbcCoordinator().getResultSetReturn().extract( statement, "select count(*) from T_JDBC_PERSON" );
101+
resultSet.next();
102+
personCount = resultSet.getLong( 1 );
103+
assertEquals( 1L, personCount );
104+
}
105+
finally {
106+
releaseQuietly( session, resultSet, statement );
136107
}
137108
}
138-
);
139-
session2.getTransaction().commit();
140-
session2.close();
141-
assertEquals( 1L, count );
142-
143-
session = openSession();
144-
session.beginTransaction();
145-
session.remove( p );
146-
session.getTransaction().commit();
147-
session.close();
109+
finally {
110+
releaseQuietly( session, statement );
111+
}
112+
return personCount;
113+
} );
114+
} );
148115
}
149116

150117
private void releaseQuietly(SessionImplementor s, Statement statement) {

hibernate-core/src/test/java/org/hibernate/orm/test/jdbc/JdbcCoordinatorTest.java

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

7-
import java.lang.reflect.Field;
8-
import java.sql.Connection;
9-
import java.sql.SQLException;
10-
117
import org.hibernate.cfg.AvailableSettings;
128
import org.hibernate.engine.config.spi.ConfigurationService;
139
import org.hibernate.engine.config.spi.StandardConverters;
@@ -21,13 +17,15 @@
2117
import org.hibernate.resource.jdbc.spi.JdbcSessionOwner;
2218
import org.hibernate.resource.jdbc.spi.PhysicalConnectionHandlingMode;
2319
import org.hibernate.service.ServiceRegistry;
24-
25-
import org.junit.Test;
26-
20+
import org.junit.jupiter.api.Test;
2721
import org.mockito.Mockito;
2822

29-
import static org.junit.Assert.assertEquals;
30-
import static org.junit.Assert.fail;
23+
import java.lang.reflect.Field;
24+
import java.sql.Connection;
25+
import java.sql.SQLException;
26+
27+
import static org.junit.jupiter.api.Assertions.assertEquals;
28+
import static org.junit.jupiter.api.Assertions.fail;
3129
import static org.mockito.ArgumentMatchers.eq;
3230
import static org.mockito.ArgumentMatchers.same;
3331
import static org.mockito.Mockito.doThrow;
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.jdbc.env;
6+
7+
import org.hibernate.boot.model.naming.Identifier;
8+
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
9+
import org.hibernate.testing.orm.junit.JiraKey;
10+
import org.hibernate.testing.orm.junit.ServiceRegistry;
11+
import org.hibernate.testing.orm.junit.ServiceRegistryScope;
12+
import org.hibernate.testing.orm.junit.Setting;
13+
import org.junit.jupiter.api.Test;
14+
15+
import static org.hibernate.cfg.MappingSettings.KEYWORD_AUTO_QUOTING_ENABLED;
16+
import static org.junit.jupiter.api.Assertions.assertTrue;
17+
18+
/**
19+
* @author Steve Ebersole
20+
*/
21+
@SuppressWarnings("JUnitMalformedDeclaration")
22+
public class KeywordRecognitionTests {
23+
@Test
24+
@JiraKey("HHH-9768")
25+
@ServiceRegistry(settings = @Setting(name = KEYWORD_AUTO_QUOTING_ENABLED, value = "true"))
26+
public void testAnsiSqlKeyword(ServiceRegistryScope registryScope) {
27+
// END is ANSI SQL keyword
28+
29+
registryScope.withService( JdbcEnvironment.class, (jdbcEnvironment) -> {
30+
assertTrue( jdbcEnvironment.getIdentifierHelper().isReservedWord( "end" ) );
31+
assertTrue( jdbcEnvironment.getIdentifierHelper().isReservedWord( "END" ) );
32+
33+
Identifier identifier = jdbcEnvironment.getIdentifierHelper().toIdentifier( "end" );
34+
assertTrue( identifier.isQuoted() );
35+
} );
36+
}
37+
}

hibernate-core/src/test/java/org/hibernate/orm/test/jdbc/env/LobCreationCheckSkipTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
/**
1919
* @author Vlad Mihalcea
2020
*/
21+
@SuppressWarnings("JUnitMalformedDeclaration")
2122
@Jpa
2223
@MessageKeyInspection( messageKey = "HHH000424", logger = @Logger( loggerNameClass = LobCreatorBuilderImpl.class) )
2324
public class LobCreationCheckSkipTest {

0 commit comments

Comments
 (0)