Skip to content

Commit 075a1a6

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 78e8c58 commit 075a1a6

34 files changed

+1282
-1712
lines changed

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

Lines changed: 51 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -7,94 +7,96 @@
77
import java.io.File;
88
import java.io.IOException;
99
import java.nio.file.Files;
10-
import java.util.Arrays;
1110
import java.util.Collection;
1211
import java.util.EnumSet;
12+
import java.util.List;
13+
1314
import jakarta.persistence.Column;
1415
import jakarta.persistence.Entity;
1516
import jakarta.persistence.Id;
1617
import jakarta.persistence.Table;
1718

18-
import org.hibernate.boot.Metadata;
19-
import org.hibernate.boot.MetadataSources;
2019
import org.hibernate.boot.registry.StandardServiceRegistry;
2120
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
22-
import org.hibernate.cfg.AvailableSettings;
21+
import org.hibernate.testing.orm.junit.DomainModel;
22+
import org.hibernate.testing.orm.junit.DomainModelScope;
23+
import org.hibernate.testing.orm.junit.ServiceRegistryFunctionalTesting;
24+
import org.hibernate.testing.orm.junit.ServiceRegistryProducer;
25+
import org.hibernate.testing.util.ServiceRegistryUtil;
2326
import org.hibernate.tool.hbm2ddl.SchemaExport;
2427
import org.hibernate.tool.hbm2ddl.SchemaUpdate;
2528
import org.hibernate.tool.schema.JdbcMetadataAccessStrategy;
2629
import org.hibernate.tool.schema.TargetType;
30+
import org.junit.jupiter.api.AfterEach;
31+
import org.junit.jupiter.api.BeforeEach;
32+
import org.junit.jupiter.api.Test;
33+
import org.junit.jupiter.api.TestInstance;
34+
import org.junit.jupiter.api.io.TempDir;
35+
import org.junit.jupiter.params.ParameterizedClass;
36+
import org.junit.jupiter.params.provider.MethodSource;
2737

28-
import org.hibernate.testing.util.ServiceRegistryUtil;
29-
import org.junit.After;
30-
import org.junit.Before;
31-
import org.junit.Test;
32-
import org.junit.runner.RunWith;
33-
import org.junit.runners.Parameterized;
3438

35-
import static org.hamcrest.core.Is.is;
36-
import static org.junit.Assert.assertThat;
39+
import static org.assertj.core.api.Assertions.assertThat;
40+
import static org.hibernate.cfg.MappingSettings.KEYWORD_AUTO_QUOTING_ENABLED;
41+
import static org.hibernate.cfg.SchemaToolingSettings.HBM2DDL_JDBC_METADATA_EXTRACTOR_STRATEGY;
3742

3843
/**
3944
* @author Andrea Boriero
4045
*/
41-
@RunWith(Parameterized.class)
42-
public class ColumnNamesTest {
43-
@Parameterized.Parameters
44-
public static Collection<String> parameters() {
45-
return Arrays.asList(
46-
new String[] {JdbcMetadataAccessStrategy.GROUPED.toString(), JdbcMetadataAccessStrategy.INDIVIDUALLY.toString()}
46+
@ParameterizedClass
47+
@MethodSource("parameters")
48+
@TestInstance( TestInstance.Lifecycle.PER_METHOD )
49+
@ServiceRegistryFunctionalTesting
50+
@DomainModel(annotatedClasses = ColumnNamesTest.Employee.class)
51+
public class ColumnNamesTest implements ServiceRegistryProducer {
52+
public static Collection<JdbcMetadataAccessStrategy> parameters() {
53+
return List.of(
54+
JdbcMetadataAccessStrategy.GROUPED,
55+
JdbcMetadataAccessStrategy.INDIVIDUALLY
4756
);
4857
}
4958

50-
@Parameterized.Parameter
51-
public String jdbcMetadataExtractorStrategy;
59+
private final File output;
60+
private final JdbcMetadataAccessStrategy jdbcMetadataExtractorStrategy;
5261

53-
private StandardServiceRegistry ssr;
54-
private Metadata metadata;
55-
private File output;
62+
public ColumnNamesTest(
63+
JdbcMetadataAccessStrategy jdbcMetadataExtractorStrategy,
64+
@TempDir File outputDir) {
65+
this.jdbcMetadataExtractorStrategy = jdbcMetadataExtractorStrategy;
66+
this.output = new File( outputDir, "update_script.sql" );
67+
}
5668

57-
@Before
58-
public void setUp() throws IOException {
59-
ssr = ServiceRegistryUtil.serviceRegistryBuilder()
60-
.applySetting( AvailableSettings.KEYWORD_AUTO_QUOTING_ENABLED, "true" )
61-
.applySetting( AvailableSettings.HBM2DDL_JDBC_METADATA_EXTRACTOR_STRATEGY, jdbcMetadataExtractorStrategy )
69+
@Override
70+
public StandardServiceRegistry produceServiceRegistry(StandardServiceRegistryBuilder builder) {
71+
return ServiceRegistryUtil.serviceRegistryBuilder()
72+
.applySetting( KEYWORD_AUTO_QUOTING_ENABLED, "true" )
73+
.applySetting( HBM2DDL_JDBC_METADATA_EXTRACTOR_STRATEGY, jdbcMetadataExtractorStrategy )
6274
.build();
63-
output = File.createTempFile( "update_script", ".sql" );
64-
output.deleteOnExit();
75+
}
6576

66-
metadata = new MetadataSources( ssr )
67-
.addAnnotatedClass( Employee.class )
68-
.buildMetadata();
69-
new SchemaExport().create( EnumSet.of( TargetType.DATABASE ), metadata );
77+
@BeforeEach
78+
public void setUp(DomainModelScope modelScope) {
79+
new SchemaExport().create( EnumSet.of( TargetType.DATABASE ), modelScope.getDomainModel() );
7080
}
7181

72-
@After
73-
public void tearDown() {
74-
try {
75-
new SchemaExport().drop( EnumSet.of( TargetType.DATABASE ), metadata );
76-
}
77-
finally {
78-
StandardServiceRegistryBuilder.destroy( ssr );
79-
}
82+
@AfterEach
83+
public void tearDown(DomainModelScope modelScope) {
84+
new SchemaExport().drop( EnumSet.of( TargetType.DATABASE ), modelScope.getDomainModel() );
8085
}
8186

8287
@Test
83-
public void testSchemaUpdateWithQuotedColumnNames() throws Exception {
88+
public void testSchemaUpdateWithQuotedColumnNames(DomainModelScope modelScope) throws IOException {
8489
new SchemaUpdate()
8590
.setOutputFile( output.getAbsolutePath() )
86-
.execute(
87-
EnumSet.of( TargetType.SCRIPT ),
88-
metadata
89-
);
91+
.execute( EnumSet.of( TargetType.SCRIPT ), modelScope.getDomainModel() );
9092

9193
final String fileContent = new String( Files.readAllBytes( output.toPath() ) );
92-
assertThat( "The update output file should be empty", fileContent, is( "" ) );
94+
assertThat( fileContent ).as( "The update output file should be empty" ).isEmpty();
9395
}
9496

9597
@Entity
9698
@Table(name = "Employee")
97-
public class Employee {
99+
public static class Employee {
98100
@Id
99101
private long id;
100102

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

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,35 @@
44
*/
55
package org.hibernate.orm.test.schemaupdate;
66

7-
import java.util.Map;
8-
9-
import org.hibernate.mapping.PersistentClass;
10-
11-
import org.hibernate.testing.junit4.BaseNonConfigCoreFunctionalTestCase;
12-
import org.hibernate.testing.orm.junit.JiraKey;
13-
147
import jakarta.persistence.Column;
158
import jakarta.persistence.DiscriminatorColumn;
169
import jakarta.persistence.DiscriminatorValue;
1710
import jakarta.persistence.Entity;
1811
import jakarta.persistence.Id;
1912
import jakarta.persistence.Inheritance;
2013
import jakarta.persistence.Table;
14+
import org.hibernate.testing.orm.junit.DomainModel;
15+
import org.hibernate.testing.orm.junit.DomainModelScope;
16+
import org.hibernate.testing.orm.junit.JiraKey;
17+
import org.hibernate.testing.orm.junit.ServiceRegistry;
18+
import org.hibernate.testing.orm.junit.Setting;
19+
import org.junit.jupiter.api.Test;
2120

2221
import static jakarta.persistence.DiscriminatorType.CHAR;
2322
import static jakarta.persistence.InheritanceType.SINGLE_TABLE;
2423
import static org.junit.jupiter.api.Assertions.assertEquals;
2524

25+
@SuppressWarnings("JUnitMalformedDeclaration")
2626
@JiraKey("HHH-16551")
27-
public class CreateCharDiscriminatorTest extends BaseNonConfigCoreFunctionalTestCase {
27+
@ServiceRegistry(settings = @Setting(name="jakarta.persistence.validation.mode", value = "ddl"))
28+
@DomainModel(annotatedClasses = CreateCharDiscriminatorTest.Parent.class)
29+
public class CreateCharDiscriminatorTest {
2830

29-
@org.junit.Test
30-
@JiraKey("HHH-16551")
31-
public void testCreateDiscriminatorCharColumnSize() {
32-
PersistentClass classMapping = metadata().getEntityBinding( Parent.class.getName() );
31+
@Test
32+
public void testCreateDiscriminatorCharColumnSize(DomainModelScope modelScope) {
33+
final var classMapping = modelScope.getEntityBinding( Parent.class );
3334
final var discriminatorColumn = classMapping.getDiscriminator().getColumns().get( 0 );
34-
assertEquals( discriminatorColumn.getLength(), 1L );
35-
}
36-
37-
@Override
38-
protected void addSettings(Map<String, Object> settings) {
39-
settings.put( "jakarta.persistence.validation.mode", "ddl" );
40-
}
41-
42-
@Override
43-
protected Class<?>[] getAnnotatedClasses() {
44-
return new Class<?>[] {
45-
Parent.class
46-
};
35+
assertEquals( 1L, discriminatorColumn.getLength() );
4736
}
4837

4938
@Entity

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

Lines changed: 29 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,6 @@
44
*/
55
package org.hibernate.orm.test.schemaupdate;
66

7-
import java.util.ArrayList;
8-
import java.util.Collections;
9-
import java.util.HashSet;
10-
import java.util.List;
11-
import java.util.Set;
12-
137
import org.hibernate.boot.internal.BootstrapContextImpl;
148
import org.hibernate.boot.internal.MetadataBuilderImpl;
159
import org.hibernate.boot.model.naming.Identifier;
@@ -19,32 +13,39 @@
1913
import org.hibernate.boot.model.relational.Namespace;
2014
import org.hibernate.boot.model.relational.Sequence;
2115
import org.hibernate.boot.model.relational.SimpleAuxiliaryDatabaseObject;
22-
import org.hibernate.boot.registry.StandardServiceRegistry;
23-
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
2416
import org.hibernate.mapping.ForeignKey;
2517
import org.hibernate.mapping.Index;
2618
import org.hibernate.mapping.PrimaryKey;
2719
import org.hibernate.mapping.Table;
2820
import org.hibernate.mapping.UniqueKey;
29-
import org.hibernate.testing.DialectChecks;
30-
import org.hibernate.testing.RequiresDialectFeature;
21+
import org.hibernate.testing.orm.junit.DialectFeatureChecks;
3122
import org.hibernate.testing.orm.junit.JiraKey;
32-
import org.hibernate.testing.junit4.BaseUnitTestCase;
33-
import org.hibernate.testing.util.ServiceRegistryUtil;
34-
import org.junit.Test;
23+
import org.hibernate.testing.orm.junit.RequiresDialectFeature;
24+
import org.hibernate.testing.orm.junit.ServiceRegistry;
25+
import org.hibernate.testing.orm.junit.ServiceRegistryScope;
26+
import org.junit.jupiter.api.Test;
3527

36-
import static org.junit.Assert.assertEquals;
28+
import java.util.ArrayList;
29+
import java.util.Collections;
30+
import java.util.HashSet;
31+
import java.util.List;
32+
import java.util.Set;
33+
34+
import static org.junit.jupiter.api.Assertions.assertEquals;
3735

38-
@RequiresDialectFeature(DialectChecks.SupportsSequences.class)
39-
public class ExportIdentifierTest extends BaseUnitTestCase {
36+
@SuppressWarnings("JUnitMalformedDeclaration")
37+
@RequiresDialectFeature(feature = DialectFeatureChecks.SupportsSequences.class)
38+
@ServiceRegistry
39+
public class ExportIdentifierTest {
4040

4141
@Test
4242
@JiraKey( value = "HHH-12935" )
43-
public void testUniqueExportableIdentifier() {
44-
final StandardServiceRegistry ssr = ServiceRegistryUtil.serviceRegistry();
45-
final MetadataBuilderImpl.MetadataBuildingOptionsImpl options = new MetadataBuilderImpl.MetadataBuildingOptionsImpl( ssr );
46-
options.setBootstrapContext( new BootstrapContextImpl( ssr, options ) );
47-
final Database database = new Database( options );
43+
public void testUniqueExportableIdentifier(ServiceRegistryScope scope) {
44+
final var registry = scope.getRegistry();
45+
final var options = new MetadataBuilderImpl.MetadataBuildingOptionsImpl( registry );
46+
options.setBootstrapContext( new BootstrapContextImpl( registry, options ) );
47+
48+
final var database = new Database( options );
4849

4950
database.locateNamespace( null, null );
5051
database.locateNamespace( Identifier.toIdentifier( "catalog1" ), null );
@@ -63,19 +64,14 @@ public void testUniqueExportableIdentifier() {
6364
final List<String> exportIdentifierList = new ArrayList<>();
6465
final Set<String> exportIdentifierSet = new HashSet<>();
6566

66-
try {
67-
addTables( "aTable" , database.getNamespaces(), exportIdentifierList, exportIdentifierSet );
68-
addSimpleAuxiliaryDatabaseObject( database.getNamespaces(), exportIdentifierList, exportIdentifierSet );
69-
addNamedAuxiliaryDatabaseObjects(
70-
"aNamedAuxiliaryDatabaseObject", database.getNamespaces(), exportIdentifierList, exportIdentifierSet
71-
);
72-
addSequences( "aSequence", database.getNamespaces(), exportIdentifierList, exportIdentifierSet );
67+
addTables( "aTable" , database.getNamespaces(), exportIdentifierList, exportIdentifierSet );
68+
addSimpleAuxiliaryDatabaseObject( database.getNamespaces(), exportIdentifierList, exportIdentifierSet );
69+
addNamedAuxiliaryDatabaseObjects(
70+
"aNamedAuxiliaryDatabaseObject", database.getNamespaces(), exportIdentifierList, exportIdentifierSet
71+
);
72+
addSequences( "aSequence", database.getNamespaces(), exportIdentifierList, exportIdentifierSet );
7373

74-
assertEquals( exportIdentifierList.size(), exportIdentifierSet.size() );
75-
}
76-
finally {
77-
StandardServiceRegistryBuilder.destroy( ssr );
78-
}
74+
assertEquals( exportIdentifierList.size(), exportIdentifierSet.size() );
7975
}
8076

8177
private void addTables(
@@ -84,7 +80,6 @@ private void addTables(
8480
List<String> exportIdentifierList,
8581
Set<String> exportIdentifierSet) {
8682
for ( Namespace namespace : namespaces ) {
87-
8883
final Table table = new Table( "orm", namespace, Identifier.toIdentifier( name ), false );
8984
addExportIdentifier( table, exportIdentifierList, exportIdentifierSet );
9085

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

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

7-
import java.util.EnumSet;
8-
7+
import org.hibernate.boot.Metadata;
98
import org.hibernate.boot.MetadataSources;
109
import org.hibernate.boot.registry.StandardServiceRegistry;
11-
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
12-
import org.hibernate.boot.spi.MetadataImplementor;
1310
import org.hibernate.cfg.AvailableSettings;
1411
import org.hibernate.dialect.H2Dialect;
12+
import org.hibernate.testing.orm.junit.JiraKey;
13+
import org.hibernate.testing.orm.junit.RequiresDialect;
14+
import org.hibernate.testing.util.ServiceRegistryUtil;
1515
import org.hibernate.tool.hbm2ddl.SchemaUpdate;
1616
import org.hibernate.tool.schema.TargetType;
17+
import org.junit.jupiter.params.ParameterizedTest;
18+
import org.junit.jupiter.params.provider.ValueSource;
1719

18-
import org.hibernate.testing.RequiresDialect;
19-
import org.hibernate.testing.orm.junit.JiraKey;
20-
import org.hibernate.testing.junit4.BaseUnitTestCase;
21-
import org.hibernate.testing.util.ServiceRegistryUtil;
22-
import org.junit.After;
23-
import org.junit.Test;
20+
import java.util.EnumSet;
2421

2522
@RequiresDialect(H2Dialect.class)
2623
@JiraKey(value = "HHH-13597")
27-
public class H2DialectDataBaseToUpperTest extends BaseUnitTestCase {
28-
29-
private StandardServiceRegistry ssr;
30-
private MetadataImplementor metadata;
31-
32-
@Test
33-
public void hibernateShouldStartUpWithH2AutoUpdateAndDatabaseToUpperFalse() {
34-
setUp( "false" );
35-
new SchemaUpdate().setHaltOnError( true )
36-
.execute( EnumSet.of( TargetType.DATABASE ), metadata );
37-
}
38-
39-
@Test
40-
public void hibernateShouldStartUpWithH2AutoUpdateAndDatabaseToUpperTrue() {
41-
setUp( "true" );
42-
new SchemaUpdate().setHaltOnError( true )
43-
.execute( EnumSet.of( TargetType.DATABASE ), metadata );
24+
public class H2DialectDataBaseToUpperTest {
25+
@ParameterizedTest
26+
@ValueSource(booleans = {true, false})
27+
public void testToUpper(boolean toUpper) {
28+
try (var registry = createServiceRegistry(toUpper)) {
29+
final Metadata metadata = new MetadataSources( registry ).buildMetadata();
30+
new SchemaUpdate().setHaltOnError( true ).execute( EnumSet.of( TargetType.DATABASE ), metadata );
31+
}
4432
}
4533

46-
private void setUp(String databaseToUpper) {
47-
ssr = ServiceRegistryUtil.serviceRegistryBuilder()
34+
private StandardServiceRegistry createServiceRegistry(boolean toUpper) {
35+
return ServiceRegistryUtil.serviceRegistryBuilder()
4836
.applySetting(
4937
AvailableSettings.URL,
50-
"jdbc:h2:mem:databaseToUpper;DATABASE_TO_UPPER=" + databaseToUpper + ";DB_CLOSE_DELAY=-1;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
38+
"jdbc:h2:mem:databaseToUpper;DATABASE_TO_UPPER=" + toUpper + ";DB_CLOSE_DELAY=-1;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
5139
)
5240
.build();
53-
final MetadataSources metadataSources = new MetadataSources( ssr );
54-
metadata = (MetadataImplementor) metadataSources.buildMetadata();
55-
}
56-
57-
@After
58-
public void tearDown() {
59-
if ( ssr != null ) {
60-
StandardServiceRegistryBuilder.destroy( ssr );
61-
}
6241
}
6342
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.hibernate.testing.orm.jpa.PersistenceUnitDescriptorAdapter;
1111
import org.hibernate.testing.orm.junit.JiraKey;
1212
import org.hibernate.testing.util.ServiceRegistryUtil;
13-
import org.junit.Test;
13+
import org.junit.jupiter.api.Test;
1414

1515
import java.util.HashMap;
1616
import java.util.List;

0 commit comments

Comments
 (0)