Skip to content

Commit 5956d0a

Browse files
committed
HHH-19846 Drop JUnit 4 usage
1 parent 830c8fd commit 5956d0a

File tree

4 files changed

+59
-47
lines changed

4 files changed

+59
-47
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/subselect/Bid.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
55
package org.hibernate.orm.test.annotations.subselect;
6+
67
import jakarta.persistence.Entity;
78
import jakarta.persistence.Id;
89

@@ -21,18 +22,23 @@ public class Bid {
2122
public int getId() {
2223
return id;
2324
}
25+
2426
public void setId(int id) {
2527
this.id = id;
2628
}
29+
2730
public long getItemId() {
2831
return itemId;
2932
}
33+
3034
public void setItemId(long itemId) {
3135
this.itemId = itemId;
3236
}
37+
3338
public double getAmount() {
3439
return amount;
3540
}
41+
3642
public void setAmount(double val) {
3743
this.amount = val;
3844
}

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/subselect/HighestBid.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
55
package org.hibernate.orm.test.annotations.subselect;
6+
67
import jakarta.persistence.Entity;
78
import jakarta.persistence.Id;
89

@@ -25,12 +26,15 @@ public class HighestBid {
2526
public String getName() {
2627
return name;
2728
}
29+
2830
public void setName(String val) {
2931
this.name = val;
3032
}
33+
3134
public double getAmount() {
3235
return amount;
3336
}
37+
3438
public void setAmount(double amount) {
3539
this.amount = amount;
3640
}

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/subselect/Item.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
55
package org.hibernate.orm.test.annotations.subselect;
6+
67
import jakarta.persistence.Entity;
78
import jakarta.persistence.Id;
89

@@ -19,12 +20,15 @@ public class Item {
1920
public long getId() {
2021
return id;
2122
}
23+
2224
public void setId(long id) {
2325
this.id = id;
2426
}
27+
2528
public String getName() {
2629
return name;
2730
}
31+
2832
public void setName(String name) {
2933
this.name = name;
3034
}

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/subselect/SubselectTest.java

Lines changed: 45 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -4,62 +4,60 @@
44
*/
55
package org.hibernate.orm.test.annotations.subselect;
66

7-
import org.junit.Assert;
8-
import org.junit.Test;
9-
10-
import org.hibernate.Session;
11-
import org.hibernate.Transaction;
12-
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
137

8+
import org.hibernate.testing.orm.junit.DomainModel;
9+
import org.hibernate.testing.orm.junit.SessionFactory;
10+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
1411
import org.hibernate.type.StandardBasicTypes;
12+
import org.junit.jupiter.api.Test;
13+
14+
import static org.junit.jupiter.api.Assertions.assertEquals;
1515

1616
/**
1717
* @author Sharath Reddy
1818
*/
19-
public class SubselectTest extends BaseCoreFunctionalTestCase {
20-
@Test
21-
public void testSubselectWithSynchronize() {
22-
23-
Session s = openSession();
24-
Transaction tx = s.beginTransaction();
25-
26-
//We don't use auto-generated ids because these seem to cause the session to flush.
27-
//We want to test that the session flushes because of the 'synchronize' annotation
28-
long itemId = 1;
29-
Item item = new Item();
30-
item.setName("widget");
31-
item.setId(itemId);
32-
s.persist(item);
33-
34-
Bid bid1 = new Bid();
35-
bid1.setAmount(100.0);
36-
bid1.setItemId(itemId);
37-
bid1.setId(1);
38-
s.persist(bid1);
39-
40-
Bid bid2 = new Bid();
41-
bid2.setAmount(200.0);
42-
bid2.setItemId(itemId);
43-
bid2.setId(2);
44-
s.persist(bid2);
45-
46-
//Because we use 'synchronize' annotation, this query should trigger session flush
47-
var query = s.createQuery("from HighestBid b where b.name = :name", HighestBid.class);
48-
query.setParameter( "name", "widget", StandardBasicTypes.STRING );
49-
HighestBid highestBid = query.list().iterator().next();
50-
51-
Assert.assertEquals( 200.0, highestBid.getAmount(), 0.01 );
52-
tx.rollback();
53-
s.close();
54-
}
55-
56-
@Override
57-
protected Class<?>[] getAnnotatedClasses() {
58-
return new Class[]{
19+
@DomainModel(
20+
annotatedClasses = {
5921
Item.class,
6022
Bid.class,
6123
HighestBid.class
62-
};
24+
}
25+
)
26+
@SessionFactory
27+
public class SubselectTest {
28+
29+
@Test
30+
public void testSubselectWithSynchronize(SessionFactoryScope scope) {
31+
//We don't use auto-generated ids because these seem to cause the session to flush.
32+
//We want to test that the session flushes because of the 'synchronize' annotation
33+
scope.inTransaction(
34+
session -> {
35+
long itemId = 1;
36+
Item item = new Item();
37+
item.setName( "widget" );
38+
item.setId( itemId );
39+
session.persist( item );
40+
41+
Bid bid1 = new Bid();
42+
bid1.setAmount( 100.0 );
43+
bid1.setItemId( itemId );
44+
bid1.setId( 1 );
45+
session.persist( bid1 );
46+
47+
Bid bid2 = new Bid();
48+
bid2.setAmount( 200.0 );
49+
bid2.setItemId( itemId );
50+
bid2.setId( 2 );
51+
session.persist( bid2 );
52+
53+
//Because we use 'synchronize' annotation, this query should trigger session flush
54+
var query = session.createQuery( "from HighestBid b where b.name = :name", HighestBid.class );
55+
query.setParameter( "name", "widget", StandardBasicTypes.STRING );
56+
HighestBid highestBid = query.list().iterator().next();
57+
58+
assertEquals( 200.0, highestBid.getAmount(), 0.01 );
59+
}
60+
);
6361
}
6462

6563
}

0 commit comments

Comments
 (0)