Skip to content

Commit 6fe5125

Browse files
committed
HHH-19846 Drop JUnit 4 usage
1 parent a6f7442 commit 6fe5125

File tree

28 files changed

+760
-630
lines changed

28 files changed

+760
-630
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/bulkid/AbstractMutationStrategyCompositeIdTest.java

Lines changed: 72 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -4,157 +4,133 @@
44
*/
55
package org.hibernate.orm.test.bulkid;
66

7-
import java.io.Serializable;
8-
import java.util.Objects;
97
import jakarta.persistence.Entity;
108
import jakarta.persistence.Id;
119
import jakarta.persistence.Inheritance;
1210
import jakarta.persistence.InheritanceType;
11+
import org.hibernate.testing.orm.junit.DomainModel;
12+
import org.hibernate.testing.orm.junit.SessionFactory;
13+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
14+
import org.junit.jupiter.api.AfterEach;
15+
import org.junit.jupiter.api.BeforeEach;
16+
import org.junit.jupiter.api.Test;
1317

14-
import org.hibernate.cfg.AvailableSettings;
15-
import org.hibernate.cfg.Configuration;
16-
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy;
17-
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy;
18+
import java.io.Serializable;
19+
import java.util.Objects;
1820

19-
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
20-
import org.junit.Before;
21-
import org.junit.Test;
21+
import static org.assertj.core.api.Assertions.assertThat;
2222

23-
import static org.hibernate.testing.transaction.TransactionUtil.doInHibernate;
24-
import static org.junit.Assert.assertEquals;
25-
import static org.junit.Assert.assertFalse;
26-
import static org.junit.Assert.assertTrue;
2723

2824
/**
2925
* @author Vlad Mihalcea
3026
*/
31-
public abstract class AbstractMutationStrategyCompositeIdTest extends BaseCoreFunctionalTestCase {
32-
33-
@Override
34-
protected Class<?>[] getAnnotatedClasses() {
35-
return new Class<?>[] {
36-
Person.class,
37-
Doctor.class,
38-
Engineer.class
39-
};
40-
}
41-
42-
@Override
43-
protected void configure(Configuration configuration) {
44-
super.configure( configuration );
45-
Class<? extends SqmMultiTableMutationStrategy> mutationStrategyClass = getMultiTableMutationStrategyClass();
46-
if ( mutationStrategyClass != null ) {
47-
configuration.setProperty( AvailableSettings.QUERY_MULTI_TABLE_MUTATION_STRATEGY, mutationStrategyClass );
27+
@DomainModel(
28+
annotatedClasses = {
29+
AbstractMutationStrategyCompositeIdTest.Person.class,
30+
AbstractMutationStrategyCompositeIdTest.Doctor.class,
31+
AbstractMutationStrategyCompositeIdTest.Engineer.class
4832
}
49-
Class<? extends SqmMultiTableInsertStrategy> insertStrategyClass = getMultiTableInsertStrategyClass();
50-
if ( insertStrategyClass != null ) {
51-
configuration.setProperty( AvailableSettings.QUERY_MULTI_TABLE_INSERT_STRATEGY, insertStrategyClass );
52-
}
53-
}
54-
55-
protected abstract Class<? extends SqmMultiTableMutationStrategy> getMultiTableMutationStrategyClass();
56-
57-
protected abstract Class<? extends SqmMultiTableInsertStrategy> getMultiTableInsertStrategyClass();
58-
59-
@Override
60-
protected boolean isCleanupTestDataRequired() {
61-
return true;
62-
}
63-
64-
@Override
65-
protected boolean isCleanupTestDataUsingBulkDelete() {
66-
return true;
67-
}
33+
)
34+
@SessionFactory
35+
public abstract class AbstractMutationStrategyCompositeIdTest {
6836

69-
@Before
70-
public void setUp() {
71-
doInHibernate( this::sessionFactory, session -> {
37+
@BeforeEach
38+
public void setUp(SessionFactoryScope scope) {
39+
scope.inTransaction( session -> {
7240
for ( int i = 0; i < entityCount(); i++ ) {
7341
Doctor doctor = new Doctor();
7442
doctor.setId( i + 1 );
7543
doctor.setCompanyName( "Red Hat USA" );
76-
doctor.setEmployed( ( i % 2 ) == 0 );
44+
doctor.setEmployed( (i % 2) == 0 );
7745
session.persist( doctor );
7846
}
7947

8048
for ( int i = 0; i < entityCount(); i++ ) {
8149
Engineer engineer = new Engineer();
8250
engineer.setId( i + 1 + entityCount() );
8351
engineer.setCompanyName( "Red Hat Europe" );
84-
engineer.setEmployed( ( i % 2 ) == 0 );
85-
engineer.setFellow( ( i % 2 ) == 1 );
52+
engineer.setEmployed( (i % 2) == 0 );
53+
engineer.setFellow( (i % 2) == 1 );
8654
session.persist( engineer );
8755
}
88-
});
56+
} );
57+
}
58+
59+
@AfterEach
60+
public void tearDown(SessionFactoryScope scope) {
61+
scope.getSessionFactory().getSchemaManager().truncateMappedObjects();
8962
}
9063

9164
protected int entityCount() {
9265
return 4;
9366
}
9467

9568
@Test
96-
public void testUpdate() {
97-
doInHibernate( this::sessionFactory, session -> {
98-
int updateCount = session.createQuery( "update Person set name = :name where employed = :employed" )
69+
public void testUpdate(SessionFactoryScope scope) {
70+
scope.inTransaction( session -> {
71+
int updateCount = session.createMutationQuery( "update Person set name = :name where employed = :employed" )
9972
.setParameter( "name", "John Doe" )
10073
.setParameter( "employed", true )
10174
.executeUpdate();
10275

103-
assertEquals(entityCount(), updateCount);
104-
});
76+
assertThat( updateCount ).isEqualTo( entityCount() );
77+
} );
10578
}
10679

10780
@Test
108-
public void testDeleteFromPerson() {
109-
doInHibernate( this::sessionFactory, session -> {
81+
public void testDeleteFromPerson(SessionFactoryScope scope) {
82+
scope.inTransaction( session -> {
11083
//tag::batch-bulk-hql-temp-table-delete-query-example[]
111-
int updateCount = session.createQuery(
112-
"delete from Person where employed = :employed" )
113-
.setParameter( "employed", false )
114-
.executeUpdate();
84+
int updateCount = session.createMutationQuery(
85+
"delete from Person where employed = :employed" )
86+
.setParameter( "employed", false )
87+
.executeUpdate();
11588
//end::batch-bulk-hql-temp-table-delete-query-example[]
116-
assertEquals( entityCount(), updateCount );
117-
});
89+
assertThat( updateCount ).isEqualTo( entityCount() );
90+
} );
11891
}
11992

12093
@Test
121-
public void testDeleteFromEngineer() {
122-
doInHibernate( this::sessionFactory, session -> {
123-
int updateCount = session.createQuery( "delete from Engineer where fellow = :fellow" )
94+
public void testDeleteFromEngineer(SessionFactoryScope scope) {
95+
scope.inTransaction( session -> {
96+
int updateCount = session.createMutationQuery( "delete from Engineer where fellow = :fellow" )
12497
.setParameter( "fellow", true )
12598
.executeUpdate();
126-
assertEquals( entityCount() / 2, updateCount );
127-
});
99+
assertThat( updateCount ).isEqualTo( entityCount() / 2 );
100+
101+
} );
128102
}
129103

130104
@Test
131-
public void testInsert() {
132-
doInHibernate( this::sessionFactory, session -> {
133-
session.createQuery( "insert into Engineer(id, companyName, name, employed, fellow) values (0, 'Red Hat', :name, :employed, false)" )
105+
public void testInsert(SessionFactoryScope scope) {
106+
scope.inTransaction( session -> {
107+
session.createMutationQuery(
108+
"insert into Engineer(id, companyName, name, employed, fellow) values (0, 'Red Hat', :name, :employed, false)" )
134109
.setParameter( "name", "John Doe" )
135110
.setParameter( "employed", true )
136111
.executeUpdate();
137112
final Engineer engineer = session.find( Engineer.class,
138113
new AbstractMutationStrategyCompositeIdTest_.Person_.Id( 0, "Red Hat" ) );
139-
assertEquals( "John Doe", engineer.getName() );
140-
assertTrue( engineer.isEmployed() );
141-
assertFalse( engineer.isFellow() );
142-
});
114+
assertThat( engineer.getName() ).isEqualTo( "John Doe" );
115+
assertThat( engineer.isEmployed() ).isTrue();
116+
assertThat( engineer.isFellow() ).isFalse();
117+
} );
143118
}
144119

145120
@Test
146-
public void testInsertSelect() {
147-
doInHibernate( this::sessionFactory, session -> {
148-
final int insertCount = session.createQuery( "insert into Engineer(id, companyName, name, employed, fellow) "
149-
+ "select d.id + " + (entityCount() * 2) + ", 'Red Hat', 'John Doe', true, false from Doctor d" )
121+
public void testInsertSelect(SessionFactoryScope scope) {
122+
scope.inTransaction( session -> {
123+
final int insertCount = session.createMutationQuery(
124+
"insert into Engineer(id, companyName, name, employed, fellow) "
125+
+ "select d.id + " + (entityCount() * 2) + ", 'Red Hat', 'John Doe', true, false from Doctor d" )
150126
.executeUpdate();
151127
final Engineer engineer = session.find( Engineer.class,
152128
new AbstractMutationStrategyCompositeIdTest_.Person_.Id( entityCount() * 2 + 1, "Red Hat" ) );
153-
assertEquals( entityCount(), insertCount );
154-
assertEquals( "John Doe", engineer.getName() );
155-
assertTrue( engineer.isEmployed() );
156-
assertFalse( engineer.isFellow() );
157-
});
129+
assertThat( insertCount ).isEqualTo( entityCount() );
130+
assertThat( engineer.getName() ).isEqualTo( "John Doe" );
131+
assertThat( engineer.isEmployed() ).isTrue();
132+
assertThat( engineer.isFellow() ).isFalse();
133+
} );
158134
}
159135

160136
//tag::batch-bulk-hql-temp-table-base-class-example[]
@@ -174,7 +150,7 @@ public static class Person implements Serializable {
174150

175151
//Getters and setters are omitted for brevity
176152

177-
//end::batch-bulk-hql-temp-table-base-class-example[]
153+
//end::batch-bulk-hql-temp-table-base-class-example[]
178154

179155
public Integer getId() {
180156
return id;
@@ -213,19 +189,19 @@ public boolean equals(Object o) {
213189
if ( this == o ) {
214190
return true;
215191
}
216-
if ( !( o instanceof Person ) ) {
192+
if ( !(o instanceof Person) ) {
217193
return false;
218194
}
219195
Person person = (Person) o;
220196
return Objects.equals( getId(), person.getId() ) &&
221-
Objects.equals( getCompanyName(), person.getCompanyName() );
197+
Objects.equals( getCompanyName(), person.getCompanyName() );
222198
}
223199

224200
@Override
225201
public int hashCode() {
226202
return Objects.hash( getId(), getCompanyName() );
227203
}
228-
//tag::batch-bulk-hql-temp-table-base-class-example[]
204+
//tag::batch-bulk-hql-temp-table-base-class-example[]
229205
}
230206
//end::batch-bulk-hql-temp-table-base-class-example[]
231207

@@ -241,7 +217,7 @@ public static class Engineer extends Person {
241217

242218
//Getters and setters are omitted for brevity
243219

244-
//end::batch-bulk-hql-temp-table-sub-classes-example[]
220+
//end::batch-bulk-hql-temp-table-sub-classes-example[]
245221

246222
public boolean isFellow() {
247223
return fellow;
@@ -250,7 +226,7 @@ public boolean isFellow() {
250226
public void setFellow(boolean fellow) {
251227
this.fellow = fellow;
252228
}
253-
//tag::batch-bulk-hql-temp-table-sub-classes-example[]
229+
//tag::batch-bulk-hql-temp-table-sub-classes-example[]
254230
}
255231
//end::batch-bulk-hql-temp-table-sub-classes-example[]
256232
}

0 commit comments

Comments
 (0)