Skip to content

Commit

Permalink
tests for Jakarta Data
Browse files Browse the repository at this point in the history
thanks @FroMage and others for giving me an example of how to do this
  • Loading branch information
gavinking committed Mar 1, 2024
1 parent af28565 commit ca12a4c
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 12 deletions.
31 changes: 23 additions & 8 deletions tooling/metamodel-generator/hibernate-jpamodelgen.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,16 @@ sourceSets {
compileClasspath += sourceSets.main.output + sourceSets.test.output
runtimeClasspath += sourceSets.main.output + sourceSets.test.output
}
jakartaData {
java {
srcDirs = ['src/jakartaData/java']
}
resources {
srcDirs tasks.processTestResources
}
compileClasspath += sourceSets.main.output + sourceSets.test.output
runtimeClasspath += sourceSets.main.output + sourceSets.test.output
}
}

dependencies {
Expand All @@ -57,6 +67,7 @@ dependencies {

quarkusOrmPanacheImplementation "io.quarkus:quarkus-hibernate-orm-panache:3.6.2"
quarkusHrPanacheImplementation "io.quarkus:quarkus-hibernate-reactive-panache:3.6.2"
jakartaDataImplementation "jakarta.data:jakarta.data-api:1.0.0-SNAPSHOT"
}

// The source set gets a custom configuration which extends the normal test implementation config
Expand All @@ -67,6 +78,9 @@ configurations {
quarkusHrPanacheImplementation.extendsFrom(testImplementation)
quarkusHrPanacheRuntimeOnly.extendsFrom(testRuntimeOnly)
quarkusHrPanacheCompileOnly.extendsFrom(testCompileOnly)
jakartaDataImplementation.extendsFrom(testImplementation)
jakartaDataRuntimeOnly.extendsFrom(testRuntimeOnly)
jakartaDataCompileOnly.extendsFrom(testCompileOnly)
}

def quarkusOrmPanacheTestTask = tasks.register( 'quarkusOrmPanacheTest', Test ) {
Expand All @@ -87,6 +101,15 @@ def quarkusHrPanacheTestTask = tasks.register( 'quarkusHrPanacheTest', Test ) {
shouldRunAfter test
}

def jakartaDataTestTask = tasks.register( 'jakartaDataTest', Test ) {
description = 'Runs the Jakarta Data tests.'
group = 'verification'

testClassesDirs = sourceSets.jakartaData.output.classesDirs
classpath = sourceSets.jakartaData.runtimeClasspath
shouldRunAfter test
}

check.dependsOn quarkusHrPanacheTestTask
check.dependsOn quarkusOrmPanacheTestTask
test.dependsOn quarkusHrPanacheTestTask
Expand All @@ -104,14 +127,6 @@ compileTestJava {
]
}

sourceSets {
test {
java {
exclude '**/data/*.java'
}
}
}

// Tests with records
if ( jdkVersions.test.release.asInt() >= 17 && jdkVersions.explicit ) {
// We need to configure the source and target version to 17
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.hibernate.jpamodelgen.test.data;
package org.hibernate.jpamodelgen.test.data.data;

import jakarta.persistence.Entity;
import jakarta.persistence.Id;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.hibernate.jpamodelgen.test.data;
package org.hibernate.jpamodelgen.test.data.data;

import jakarta.persistence.*;
import org.hibernate.annotations.NaturalId;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
package org.hibernate.jpamodelgen.test.data;
package org.hibernate.jpamodelgen.test.data.data;

import jakarta.data.Limit;
import jakarta.data.Order;
import jakarta.data.Sort;
import jakarta.data.page.PageRequest;
import jakarta.data.page.Page;
import jakarta.data.page.Slice;
import jakarta.data.page.KeysetAwarePage;
import jakarta.data.page.KeysetAwareSlice;
import jakarta.data.repository.By;
import jakarta.data.repository.Delete;
import jakarta.data.repository.Find;
Expand Down Expand Up @@ -133,4 +137,7 @@ public interface BookAuthorRepository {

@Query("from Book where title like :titlePattern")
Slice<Book> booksByTitle2(String titlePattern, PageRequest<Book> pageRequest);

@Find
List<Book> allBooksWithLotsOfSorting(Sort<? super Book> s1, Order<? super Book> order, Sort<? super Book>... s3);
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.jpamodelgen.test.data;
package org.hibernate.jpamodelgen.test.data.data;

import org.hibernate.jpamodelgen.test.util.CompilationTest;
import org.hibernate.jpamodelgen.test.util.WithClasses;
Expand Down

0 comments on commit ca12a4c

Please sign in to comment.