Skip to content

Commit c960920

Browse files
committed
HHH-19846 Drop JUnit 4 usage
1 parent be53968 commit c960920

File tree

2 files changed

+91
-79
lines changed

2 files changed

+91
-79
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/lob/hhh4635/LobTest.java

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
package org.hibernate.orm.test.annotations.lob.hhh4635;
66

77
import org.hibernate.dialect.OracleDialect;
8-
import org.hibernate.query.Query;
9-
import org.hibernate.Session;
10-
import org.hibernate.testing.RequiresDialect;
8+
import org.hibernate.testing.orm.junit.DomainModel;
119
import org.hibernate.testing.orm.junit.JiraKey;
12-
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
13-
import org.junit.Test;
10+
import org.hibernate.testing.orm.junit.RequiresDialect;
11+
import org.hibernate.testing.orm.junit.SessionFactory;
12+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
13+
import org.junit.jupiter.api.Test;
14+
15+
import java.util.logging.Logger;
1416

1517
import static org.hibernate.Hibernate.getLobHelper;
1618

@@ -21,26 +23,28 @@
2123
*/
2224
@RequiresDialect( OracleDialect.class )
2325
@JiraKey( value = "HHH-4635" )
24-
public class LobTest extends BaseCoreFunctionalTestCase {
26+
@DomainModel(
27+
annotatedClasses = {
28+
LobTestEntity.class
29+
}
30+
)
31+
@SessionFactory
32+
public class LobTest {
33+
static final Logger LOG = Logger.getLogger( LobTest.class.getName() );
2534

2635
@Test
27-
public void hibernateTest() {
28-
printConfig();
36+
public void hibernateTest(SessionFactoryScope scope) {
37+
printConfig(scope);
2938

30-
Session session = openSession();
31-
session.beginTransaction();
32-
LobTestEntity entity = new LobTestEntity();
33-
entity.setId(1L);
34-
entity.setLobValue(getLobHelper().createBlob(new byte[9999]));
35-
entity.setQwerty(randomString(4000));
36-
session.persist(entity);
37-
session.getTransaction().commit();
38-
session.close();
39-
}
40-
41-
@Override
42-
protected Class[] getAnnotatedClasses() {
43-
return new Class[] { LobTestEntity.class };
39+
scope.inTransaction(
40+
session -> {
41+
LobTestEntity entity = new LobTestEntity();
42+
entity.setId( 1L );
43+
entity.setLobValue( getLobHelper().createBlob( new byte[9999] ) );
44+
entity.setQwerty( randomString( 4000 ) );
45+
session.persist( entity );
46+
}
47+
);
4448
}
4549

4650
private String randomString( int count ) {
@@ -51,16 +55,14 @@ private String randomString( int count ) {
5155
return buffer.toString();
5256
}
5357

54-
private void printConfig() {
58+
private void printConfig(SessionFactoryScope scope) {
5559
String sql = "select value from V$NLS_PARAMETERS where parameter = 'NLS_CHARACTERSET'";
5660

57-
Session session = openSession();
58-
session.beginTransaction();
59-
Query query = session.createNativeQuery( sql );
60-
61-
String s = (String) query.uniqueResult();
62-
log.debug( "Using Oracle charset " + s );
63-
session.getTransaction().commit();
64-
session.close();
61+
scope.inTransaction(
62+
session -> {
63+
String s = session.createNativeQuery( sql, String.class ).uniqueResult();
64+
LOG.info( "Using Oracle charset " + s );
65+
}
66+
);
6567
}
6668
}

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/lob/locator/LobLocatorTest.java

Lines changed: 58 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,29 @@
44
*/
55
package org.hibernate.orm.test.annotations.lob.locator;
66

7-
import java.sql.SQLException;
8-
9-
import org.junit.Assert;
10-
import org.junit.Test;
11-
12-
import org.hibernate.Session;
13-
import org.hibernate.testing.DialectChecks;
14-
import org.hibernate.testing.RequiresDialectFeature;
7+
import org.hibernate.testing.orm.junit.DialectFeatureChecks;
8+
import org.hibernate.testing.orm.junit.DomainModel;
159
import org.hibernate.testing.orm.junit.JiraKey;
16-
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
10+
import org.hibernate.testing.orm.junit.RequiresDialectFeature;
11+
import org.hibernate.testing.orm.junit.SessionFactory;
12+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
1713
import org.hibernate.type.descriptor.java.DataHelper;
14+
import org.junit.jupiter.api.Test;
1815

16+
import static org.assertj.core.api.Assertions.assertThat;
17+
import static org.assertj.core.api.BDDAssertions.fail;
1918
import static org.hibernate.Hibernate.getLobHelper;
2019

2120
/**
2221
* @author Lukasz Antoniak
2322
*/
24-
public class LobLocatorTest extends BaseCoreFunctionalTestCase {
25-
@Override
26-
protected Class<?>[] getAnnotatedClasses() {
27-
return new Class<?>[] { LobHolder.class };
28-
}
23+
@DomainModel(
24+
annotatedClasses = {
25+
LobHolder.class
26+
}
27+
)
28+
@SessionFactory
29+
public class LobLocatorTest {
2930

3031
/**
3132
* Specific JDBC drivers (e.g. SQL Server) may not automatically rewind bound input stream
@@ -34,47 +35,56 @@ protected Class<?>[] getAnnotatedClasses() {
3435
*/
3536
@Test
3637
@JiraKey(value = "HHH-8193")
37-
@RequiresDialectFeature(DialectChecks.UsesInputStreamToInsertBlob.class)
38-
public void testStreamResetBeforeParameterBinding() throws SQLException {
39-
final Session session = openSession();
38+
@RequiresDialectFeature(feature = DialectFeatureChecks.UsesInputStreamToInsertBlob.class)
39+
public void testStreamResetBeforeParameterBinding(SessionFactoryScope scope) {
4040

41-
session.getTransaction().begin();
42-
LobHolder entity = new LobHolder(
43-
getLobHelper().createBlob( "blob".getBytes() ),
44-
getLobHelper().createClob( "clob" ), 0
45-
);
46-
session.persist( entity );
47-
session.getTransaction().commit();
48-
49-
final Integer updatesLimit = 3;
41+
scope.inTransaction(
42+
session -> {
43+
LobHolder entity = new LobHolder(
44+
getLobHelper().createBlob( "blob".getBytes() ),
45+
getLobHelper().createClob( "clob" ), 0
46+
);
47+
session.persist( entity );
48+
session.getTransaction().commit();
5049

51-
for ( int i = 1; i <= updatesLimit; ++i ) {
52-
session.getTransaction().begin();
53-
entity = (LobHolder) session.get( LobHolder.class, entity.getId() );
54-
entity.setCounter( i );
55-
entity = (LobHolder) session.merge( entity );
56-
session.getTransaction().commit();
57-
}
50+
final int updatesLimit = 3;
5851

59-
session.getTransaction().begin();
60-
entity = (LobHolder) session.get( LobHolder.class, entity.getId() );
61-
entity.setBlobLocator( getLobHelper().createBlob( "updated blob".getBytes() ) );
62-
entity.setClobLocator( getLobHelper().createClob( "updated clob" ) );
63-
entity = (LobHolder) session.merge( entity );
64-
session.getTransaction().commit();
52+
for ( int i = 1; i <= updatesLimit; ++i ) {
53+
session.getTransaction().begin();
54+
entity = session.find( LobHolder.class, entity.getId() );
55+
entity.setCounter( i );
56+
entity = session.merge( entity );
57+
session.getTransaction().commit();
58+
}
6559

66-
session.clear();
60+
session.getTransaction().begin();
61+
entity = session.find( LobHolder.class, entity.getId() );
62+
entity.setBlobLocator( getLobHelper().createBlob( "updated blob".getBytes() ) );
63+
entity.setClobLocator( getLobHelper().createClob( "updated clob" ) );
64+
entity = session.merge( entity );
65+
session.getTransaction().commit();
6766

68-
session.getTransaction().begin();
69-
checkState( "updated blob".getBytes(), "updated clob", updatesLimit, (LobHolder) session.get( LobHolder.class, entity.getId() ) );
70-
session.getTransaction().commit();
67+
session.clear();
7168

72-
session.close();
69+
session.getTransaction().begin();
70+
try {
71+
checkState(
72+
"updated blob".getBytes(),
73+
"updated clob",
74+
updatesLimit,
75+
session.find( LobHolder.class, entity.getId() )
76+
);
77+
}
78+
catch (Exception e) {
79+
fail( e );
80+
}
81+
}
82+
);
7383
}
7484

75-
private void checkState(byte[] blob, String clob, Integer counter, LobHolder entity) throws SQLException {
76-
Assert.assertEquals( counter, entity.getCounter() );
77-
Assert.assertArrayEquals( blob, DataHelper.extractBytes( entity.getBlobLocator().getBinaryStream() ) );
78-
Assert.assertEquals( clob, DataHelper.extractString( entity.getClobLocator() ) );
85+
private void checkState(byte[] blob, String clob, Integer counter, LobHolder entity) throws Exception {
86+
assertThat( entity.getCounter() ).isEqualTo( counter );
87+
assertThat( DataHelper.extractBytes( entity.getBlobLocator().getBinaryStream() ) ).isEqualTo( blob );
88+
assertThat( DataHelper.extractString( entity.getClobLocator() ) ).isEqualTo( clob );
7989
}
8090
}

0 commit comments

Comments
 (0)