This commit is contained in:
@@ -45,6 +45,16 @@
|
||||
<artifactId>quarkus-junit5-internal</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-junit5</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-test-vertx</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>fr.codeanddata.semrack</groupId>
|
||||
<artifactId>semrack-core-testing</artifactId>
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
package fr.codeanddata.semrack.storage.postgres.storage;
|
||||
|
||||
import fr.codeanddata.semrack.core.models.StorageGet;
|
||||
import io.quarkus.hibernate.reactive.panache.Panache;
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
import io.quarkus.test.vertx.RunOnVertxContext;
|
||||
import io.quarkus.test.vertx.UniAsserter;
|
||||
import jakarta.inject.Inject;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@QuarkusTest
|
||||
public class JpaStorageTest {
|
||||
@Inject
|
||||
JpaStorage jpaStorage;
|
||||
|
||||
@Test
|
||||
@RunOnVertxContext
|
||||
void testJpaStorageGetDefault(UniAsserter asserter) {
|
||||
asserter.assertThat(
|
||||
() -> Panache.withSession(() -> jpaStorage.get("doc-001", StorageGet.builder().build())),
|
||||
doc -> {
|
||||
assert doc != null;
|
||||
assert "doc-001".equals(doc.getUid());
|
||||
assert doc.getAnnotations() == null;
|
||||
assert doc.getMetadata() == null;
|
||||
assert doc.getFields() == null;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
@RunOnVertxContext
|
||||
void testJpaStorageGetWithAnnotationsAndMetadata(UniAsserter asserter) {
|
||||
asserter.assertThat(
|
||||
() -> Panache.withSession(() -> jpaStorage.get("doc-001", StorageGet.builder()
|
||||
.annotationsSource(true)
|
||||
.metadataSource(true)
|
||||
.build())),
|
||||
doc -> {
|
||||
assert doc != null;
|
||||
assert doc.getAnnotations() != null;
|
||||
assert doc.getMetadata() != null;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
@RunOnVertxContext
|
||||
void testJpaStorageGetWithFields(UniAsserter asserter) {
|
||||
asserter.assertThat(
|
||||
() -> Panache.withSession(() -> jpaStorage.get("doc-001", StorageGet.builder()
|
||||
.fields(Map.of(
|
||||
"title", "title",
|
||||
"content", "content",
|
||||
"sku", "product.sku"
|
||||
))
|
||||
.build())),
|
||||
doc -> {
|
||||
assert doc != null;
|
||||
assert doc.getFields() != null;
|
||||
assert doc.getFields().containsKey("title");
|
||||
assert "Test Document".equals(doc.getFields().get("title"));
|
||||
assert doc.getFields().containsKey("content");
|
||||
assert "Hello World".equals(doc.getFields().get("content"));
|
||||
assert doc.getFields().containsKey("sku");
|
||||
assert "001".equals(doc.getFields().get("sku"));
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package fr.codeanddata.semrack.storage.postgres.test;
|
||||
|
||||
import org.jboss.shrinkwrap.api.ShrinkWrap;
|
||||
import org.jboss.shrinkwrap.api.spec.JavaArchive;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
import io.quarkus.test.QuarkusDevModeTest;
|
||||
|
||||
public class SemrackStoragePostgresDevModeTest {
|
||||
|
||||
// Start hot reload (DevMode) test with your extension loaded
|
||||
@RegisterExtension
|
||||
static final QuarkusDevModeTest devModeTest = new QuarkusDevModeTest()
|
||||
.setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class));
|
||||
|
||||
@Test
|
||||
public void writeYourOwnDevModeTest() {
|
||||
// Write your dev mode tests here - see the testing extension guide https://quarkus.io/guides/writing-extensions#testing-hot-reload for more information
|
||||
Assertions.assertTrue(true, "Add dev mode assertions to " + getClass().getName());
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package fr.codeanddata.semrack.storage.postgres.test;
|
||||
|
||||
import org.jboss.shrinkwrap.api.ShrinkWrap;
|
||||
import org.jboss.shrinkwrap.api.spec.JavaArchive;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
import io.quarkus.test.QuarkusUnitTest;
|
||||
|
||||
public class SemrackStoragePostgresTest {
|
||||
|
||||
// Start unit test with your extension loaded
|
||||
@RegisterExtension
|
||||
static final QuarkusUnitTest unitTest = new QuarkusUnitTest()
|
||||
.setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class));
|
||||
|
||||
@Test
|
||||
public void writeYourOwnUnitTest() {
|
||||
// Write your unit tests here - see the testing extension guide https://quarkus.io/guides/writing-extensions#testing-extensions for more information
|
||||
Assertions.assertTrue(true, "Add some assertions to " + getClass().getName());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
quarkus.flyway.enabled=false
|
||||
quarkus.hibernate-orm.schema-management.strategy=drop-and-create
|
||||
quarkus.hibernate-orm.sql-load-script=import.sql
|
||||
@@ -0,0 +1,5 @@
|
||||
INSERT INTO semrack_document (id, uid, document)
|
||||
VALUES (nextval('semrack_document_SEQ'), 'doc-001',
|
||||
'{"uid":"doc-001","annotations":{"category":"test"},"metadata":{"product":{"sku":"001"},"title":"Test Document","content":"Hello World"}}'),
|
||||
(nextval('semrack_document_SEQ'), 'doc-002',
|
||||
'{"uid":"doc-002","annotations":{"category":"test"},"metadata":{"product":{"sku":"002"},"title":"Test Document 2","content":"Hello World 2"}}');
|
||||
Reference in New Issue
Block a user