Skip to content

Commit

Permalink
Get rid of old JUnit exclusion categories and add new ones for ORM 6
Browse files Browse the repository at this point in the history
  • Loading branch information
beikov committed Nov 9, 2024
1 parent 6f99d6a commit ad184b3
Show file tree
Hide file tree
Showing 299 changed files with 1,676 additions and 2,817 deletions.
2 changes: 1 addition & 1 deletion archetype/core-sample/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<artifactId>blaze-persistence-archetype-core-sample</artifactId>
<packaging>jar</packaging>

<name>Blazebit Persistence Archetype Core Sample Jakarta</name>
<name>Blazebit Persistence Archetype Core Sample</name>

<properties>
<module.name>com.blazebit.persistence.archetype.core.sample</module.name>
Expand Down
2 changes: 1 addition & 1 deletion archetype/entity-view-sample/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<artifactId>blaze-persistence-archetype-entity-view-sample</artifactId>
<packaging>jar</packaging>

<name>Blazebit Persistence Archetype Entity-View Sample Jakarta</name>
<name>Blazebit Persistence Archetype Entity-View Sample</name>

<properties>
<module.name>com.blazebit.persistence.archetype.view.sample</module.name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,12 @@ protected void initialize() {
affectedDmlTable = sqlQuery.substring(fromIndex + SqlUtils.FROM.length(), endIndex == -1 ? sqlQuery.length() : endIndex);
} else if (statementType == DbmsStatementType.INSERT) {
int intoIndex = sqlQuery.indexOf(" into ");
affectedDmlTable = sqlQuery.substring(intoIndex + " into ".length(), sqlQuery.indexOf('(', intoIndex + " into ".length() + 1));
int intoEndIndex = sqlQuery.indexOf('(', intoIndex + " into ".length() + 1);
affectedDmlTable = sqlQuery.substring(intoIndex + " into ".length(), intoEndIndex);
int asIndex = affectedDmlTable.indexOf(" as ");
if (asIndex != -1) {
affectedDmlTable = affectedDmlTable.substring(0, asIndex);
}
} else {
throw new UnsupportedOperationException("Unsupported statement type: " + statementType);
}
Expand Down
12 changes: 8 additions & 4 deletions core/testsuite-hibernate/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
<skip>${maven.test.skip}</skip>
<forkCount>${surefireForkCount}</forkCount>
<reportsDirectory>${project.build.directory}/surefire-reports/${surefire.forkNumber}</reportsDirectory>
<excludedGroups>com.blazebit.persistence.testsuite.base.jpa.category.NoH2,com.blazebit.persistence.testsuite.base.jpa.category.NoH2Latest,${jpa.excludedGroups}</excludedGroups>
<excludedGroups>com.blazebit.persistence.testsuite.base.jpa.category.NoH2,${jpa.excludedGroups}</excludedGroups>
<systemPropertyVariables>
<jdbc.url>jdbc:h2:mem:core${surefire.forkNumber};DB_CLOSE_DELAY=-1</jdbc.url>
<jdbc.user>admin</jdbc.user>
Expand Down Expand Up @@ -327,7 +327,7 @@
<profile>
<id>hibernate-6.2</id>
<properties>
<jpa.excludedGroups>com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate60</jpa.excludedGroups>
<jpa.excludedGroups>com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate62</jpa.excludedGroups>
</properties>
<dependencies>
<dependency>
Expand Down Expand Up @@ -420,6 +420,10 @@
<annotationProcessors>
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
</annotationProcessors>
<!-- ORM 6.2 still added the javax annotation -->
<compilerArgs>
<compilerArg>-AaddGeneratedAnnotation=false</compilerArg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
Expand All @@ -428,7 +432,7 @@
<profile>
<id>hibernate-6.4</id>
<properties>
<jpa.excludedGroups>com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate60</jpa.excludedGroups>
<jpa.excludedGroups>com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate64</jpa.excludedGroups>
</properties>
<dependencies>
<dependency>
Expand Down Expand Up @@ -532,7 +536,7 @@
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<jpa.excludedGroups>com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate60,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate66</jpa.excludedGroups>
<jpa.excludedGroups>com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate66</jpa.excludedGroups>
</properties>
<dependencies>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,7 @@

package com.blazebit.persistence.testsuite.hibernate;

import com.blazebit.persistence.spi.CriteriaBuilderConfiguration;
import com.blazebit.persistence.spi.JpqlFunctionGroup;
import com.blazebit.persistence.testsuite.AbstractCoreTest;
import com.blazebit.persistence.testsuite.base.jpa.category.NoDB2;
import com.blazebit.persistence.testsuite.base.jpa.category.NoMSSQL;
import com.blazebit.persistence.testsuite.base.jpa.category.NoMySQL;
import com.blazebit.persistence.testsuite.base.jpa.category.NoMySQLOld;
import com.blazebit.persistence.testsuite.base.jpa.category.NoOracle;
import com.blazebit.persistence.testsuite.base.jpa.category.NoPostgreSQL;
import java.util.Properties;

import org.hibernate.boot.model.FunctionContributions;
import org.hibernate.dialect.H2Dialect;
Expand All @@ -26,9 +18,16 @@
import org.junit.Test;
import org.junit.experimental.categories.Category;

import com.blazebit.persistence.spi.CriteriaBuilderConfiguration;
import com.blazebit.persistence.spi.JpqlFunctionGroup;
import com.blazebit.persistence.testsuite.AbstractCoreTest;
import com.blazebit.persistence.testsuite.base.jpa.category.NoDB2;
import com.blazebit.persistence.testsuite.base.jpa.category.NoMSSQL;
import com.blazebit.persistence.testsuite.base.jpa.category.NoMySQL;
import com.blazebit.persistence.testsuite.base.jpa.category.NoOracle;
import com.blazebit.persistence.testsuite.base.jpa.category.NoPostgreSQL;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import java.util.Properties;

/**
* @author Jan-Willem Gmelig Meyling
Expand All @@ -48,7 +47,7 @@ public static class BasicEntity {
}

@Test
@Category({NoMSSQL.class, NoMySQL.class, NoMySQLOld.class, NoPostgreSQL.class, NoOracle.class, NoDB2.class})
@Category({NoMSSQL.class, NoMySQL.class, NoPostgreSQL.class, NoOracle.class, NoDB2.class})
public void implicitJoinCustomAggregateFunction() {
String queryString = cbf.create(em, BasicEntity.class, "b")
.select("addone(b.id)")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,9 @@

import com.blazebit.persistence.CriteriaBuilder;
import com.blazebit.persistence.testsuite.AbstractCoreTest;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate42;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate43;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate50;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate51;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate52;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate53;
import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;

import jakarta.persistence.Column;
import jakarta.persistence.ConstraintMode;
Expand Down Expand Up @@ -71,10 +64,6 @@ public void setUp() {
}

@Test
@Category({
// Although unused, this test dependent on the availability of group join support introduced in Hibernate 5.2.8
NoHibernate42.class, NoHibernate43.class, NoHibernate51.class
})
public void testRootTypeJoinWithGroupJoins() {
Assume.assumeTrue(supportsTableGroupJoins());

Expand Down Expand Up @@ -113,10 +102,6 @@ public void testRootTypeJoinWithGroupJoins() {
}

@Test
@Category({
NoHibernate50.class, NoHibernate43.class, NoHibernate42.class, // Entity join required for fallback
NoHibernate52.class, NoHibernate53.class // Optimize with group joins instead
})
public void testRootTypeJoinWithoutGroupJoins() {
Assume.assumeFalse(supportsTableGroupJoins());

Expand Down Expand Up @@ -169,10 +154,6 @@ public void testRootTypeJoinWithoutGroupJoins() {
}

@Test
@Category({
// This test requires group joins introduced in Hibernate 5.2.8
NoHibernate42.class, NoHibernate43.class, NoHibernate51.class
})
public void testSubTypeJoinWithTableGroupJoins() {
Assume.assumeTrue(supportsTableGroupJoins());

Expand Down Expand Up @@ -211,10 +192,6 @@ public void testSubTypeJoinWithTableGroupJoins() {
}

@Test
@Category({
NoHibernate50.class, NoHibernate43.class, NoHibernate42.class, // Entity join required for fallback
NoHibernate52.class, NoHibernate53.class // Optimize with group joins instead
})
public void testSubTypeJoinWithoutTableGroupJoins() {
Assume.assumeFalse(supportsTableGroupJoins());
Assume.assumeTrue(jpaProvider.supportsEntityJoin());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,23 @@

package com.blazebit.persistence.testsuite.hibernate;

import com.blazebit.persistence.parser.EntityMetamodel;
import com.blazebit.persistence.testsuite.AbstractCoreTest;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate42;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate43;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.hibernate.envers.Audited;

import org.junit.Test;
import org.junit.experimental.categories.Category;

import com.blazebit.persistence.parser.EntityMetamodel;
import com.blazebit.persistence.testsuite.AbstractCoreTest;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToMany;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import jakarta.persistence.metamodel.EntityType;

import java.util.List;
import java.util.Map;
import java.util.Set;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
Expand All @@ -39,10 +37,7 @@ protected Class<?>[] getEntityClasses() {
return new Class<?>[]{ A.class };
}

// NOTE: Hibernate 4.2 and 4.3 do very strange things to the JPA entity name and also register the audited entities only via the FQN + _AUD
// At some point we might fix that in the JoinManager to output compatible HQL, but for now, we just ignore it
@Test
@Category({ NoHibernate42.class, NoHibernate43.class })
public void selectEnversEntity() {
EntityMetamodel metamodel = cbf.getService(EntityMetamodel.class);
EntityType<?> auditedEntity = getAuditedEntity(metamodel, A.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,25 @@

package com.blazebit.persistence.testsuite.hibernate;

import java.util.List;

import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;

import com.blazebit.persistence.CriteriaBuilder;
import com.blazebit.persistence.JoinType;
import com.blazebit.persistence.PaginatedCriteriaBuilder;
import com.blazebit.persistence.testsuite.AbstractCoreTest;
import com.blazebit.persistence.testsuite.base.jpa.category.NoH2;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate42;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate43;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate50;
import com.blazebit.persistence.testsuite.base.jpa.category.NoMySQL;
import com.blazebit.persistence.testsuite.base.jpa.category.NoMySQLOld;
import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Tuple;
import java.util.List;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
Expand All @@ -39,7 +35,7 @@
* @author Jan-Willem Gmelig Meyling
* @since 1.4.0
*/
@Category({NoH2.class, NoMySQL.class, NoMySQLOld.class, NoHibernate.class, NoHibernate42.class, NoHibernate43.class, NoHibernate50.class})
@Category({NoH2.class, NoMySQL.class})
public class FullJoinTest extends AbstractCoreTest {

@Before
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,12 @@

package com.blazebit.persistence.testsuite.hibernate;

import org.junit.Test;

import com.blazebit.persistence.CTE;
import com.blazebit.persistence.testsuite.AbstractCoreTest;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate42;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate43;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate50;
import com.blazebit.persistence.testsuite.entity.LongSequenceEntity;
import com.blazebit.persistence.testsuite.tx.TxVoidWork;
import org.junit.Test;
import org.junit.experimental.categories.Category;

import jakarta.persistence.Entity;
import jakarta.persistence.EntityManager;
import jakarta.persistence.Tuple;
Expand Down Expand Up @@ -45,9 +41,6 @@ public static class CorrelatedTimer extends LongSequenceEntity {}
public static class Timer extends LongSequenceEntity {}

@Test
@Category({
NoHibernate50.class, NoHibernate43.class, NoHibernate42.class, // Entity join required for fallback
})
public void testCorrelation() {
transactional(new TxVoidWork() {
@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,25 @@

package com.blazebit.persistence.testsuite.hibernate;

import com.blazebit.persistence.CriteriaBuilder;
import com.blazebit.persistence.testsuite.AbstractCoreTest;
import com.blazebit.persistence.testsuite.base.jpa.category.NoDatanucleus4;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate42;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate43;
import com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate50;
import com.blazebit.persistence.testsuite.base.jpa.category.NoMySQLOld;
import com.blazebit.persistence.testsuite.base.jpa.category.NoOpenJPA;
import com.blazebit.persistence.testsuite.tx.TxVoidWork;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.hibernate.annotations.Where;

import org.junit.Assert;
import org.junit.Test;
import org.junit.experimental.categories.Category;

import com.blazebit.persistence.CriteriaBuilder;
import com.blazebit.persistence.testsuite.AbstractCoreTest;
import com.blazebit.persistence.testsuite.tx.TxVoidWork;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityManager;
import jakarta.persistence.FetchType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Tuple;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
* @author Christian Beikov
Expand All @@ -43,10 +38,7 @@ protected Class<?>[] getEntityClasses() {
};
}

// NOTE: Old MySQL do not support lateral joins
// NOTE: Requires entity joins which are supported since Hibernate 5.1, Datanucleus 5 and latest Eclipselink
@Test
@Category({ NoMySQLOld.class, NoHibernate42.class, NoHibernate43.class, NoHibernate50.class, NoDatanucleus4.class, NoOpenJPA.class })
public void testLateralLimit() {
transactional(new TxVoidWork() {
@Override
Expand Down
Loading

0 comments on commit ad184b3

Please sign in to comment.