Skip to content

Commit be548ae

Browse files
authored
bump activiti-cloud.version to 8.1.0 (#388)
1 parent 715021d commit be548ae

File tree

4 files changed

+64
-7
lines changed

4 files changed

+64
-7
lines changed

schema/src/test/java/com/introproventures/graphql/jpa/query/schema/impl/GraphQLJpaExecutorContextFactoryTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import org.springframework.boot.test.context.SpringBootTest;
3030
import org.springframework.context.annotation.Bean;
3131

32-
@SpringBootTest
32+
@SpringBootTest(properties = "logging.level.com.introproventures.graphql.jpa.query.schema=DEBUG")
3333
public class GraphQLJpaExecutorContextFactoryTest {
3434

3535
@Autowired

schema/src/test/resources/application.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
logging.level.com.introproventures.graphql.jpa.query.schema=DEBUG
1+
logging.level.com.introproventures.graphql.jpa.query.schema=INFO
22

33
# This modifies the default Spring Boot behavior and populates the data after the schema is generated by Hibernate
44
spring.jpa.defer-datasource-initialization=true

tests/gatling/pom.xml

+1-5
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<artifactId>graphql-jpa-query-tests-gatling</artifactId>
1212

1313
<properties>
14-
<activiti-cloud.version>8.0.0</activiti-cloud.version>
14+
<activiti-cloud.version>8.1.0</activiti-cloud.version>
1515
<gatling.version>3.9.5</gatling.version>
1616
<gatling-maven-plugin.version>4.6.0</gatling-maven-plugin.version>
1717
</properties>
@@ -21,10 +21,6 @@
2121
<groupId>com.introproventures</groupId>
2222
<artifactId>graphql-jpa-query-boot-starter</artifactId>
2323
</dependency>
24-
<!-- <dependency>-->
25-
<!-- <groupId>com.introproventures</groupId>-->
26-
<!-- <artifactId>graphql-jpa-query-web</artifactId>-->
27-
<!-- </dependency>-->
2824
<dependency>
2925
<groupId>org.springframework.boot</groupId>
3026
<artifactId>spring-boot-starter-graphql</artifactId>

tests/gatling/src/test/java/com/introproventures/graphql/jpa/query/example/ApplicationTest.java

+61
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,27 @@
11
package com.introproventures.graphql.jpa.query.example;
22

3+
import static org.assertj.core.api.Assertions.assertThat;
4+
import static org.assertj.core.api.Assertions.tuple;
5+
6+
import jakarta.persistence.EntityGraph;
7+
import jakarta.persistence.EntityManager;
8+
import jakarta.persistence.PersistenceContext;
9+
import jakarta.persistence.TypedQuery;
10+
import jakarta.persistence.criteria.CriteriaBuilder;
11+
import jakarta.persistence.criteria.CriteriaQuery;
12+
import jakarta.persistence.criteria.Join;
13+
import jakarta.persistence.criteria.Root;
14+
import jakarta.persistence.metamodel.EntityType;
15+
import jakarta.persistence.metamodel.SingularAttribute;
16+
import java.util.List;
17+
import org.activiti.cloud.services.query.model.ProcessInstanceEntity;
18+
import org.activiti.cloud.services.query.model.ProcessVariableEntity;
19+
import org.hibernate.jpa.SpecHints;
320
import org.junit.jupiter.api.Disabled;
421
import org.junit.jupiter.api.Test;
522
import org.springframework.boot.test.context.SpringBootTest;
623
import org.springframework.context.annotation.Import;
24+
import org.springframework.transaction.annotation.Transactional;
725
import org.testcontainers.junit.jupiter.Testcontainers;
826

927
@Disabled
@@ -12,6 +30,49 @@
1230
@Import(TestApplication.class)
1331
class ApplicationTest {
1432

33+
@PersistenceContext
34+
private EntityManager entityManager;
35+
1536
@Test
1637
void contextLoads() {}
38+
39+
@Test
40+
@Transactional
41+
void criteriaQueryVariableValueLoad() {
42+
EntityType<ProcessInstanceEntity> entityType = entityManager.getMetamodel().entity(ProcessInstanceEntity.class);
43+
SingularAttribute<?, ?> parentIdAttribute = entityType.getId(Object.class);
44+
45+
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
46+
CriteriaQuery<Object[]> query = cb.createQuery(Object[].class);
47+
Root<?> from = query.from(entityType);
48+
49+
from.alias("owner");
50+
51+
Join<?, ?> join = from.join("variables").on(from.get(parentIdAttribute.getName()).in("0"));
52+
53+
query.multiselect(from.get(parentIdAttribute.getName()), join.alias("variables"));
54+
55+
EntityGraph<ProcessVariableEntity> entityGraph =
56+
this.entityManager.createEntityGraph(ProcessVariableEntity.class);
57+
entityGraph.addAttributeNodes("name", "value");
58+
59+
TypedQuery<Object[]> typedQuery = entityManager
60+
.createQuery(query.distinct(true))
61+
.setHint(SpecHints.HINT_SPEC_LOAD_GRAPH, entityGraph);
62+
63+
List<Object[]> resultList = typedQuery.getResultList();
64+
65+
assertThat(resultList)
66+
.isNotEmpty()
67+
.extracting(record -> (ProcessVariableEntity) record[1])
68+
.extracting(ProcessVariableEntity::getName, ProcessVariableEntity::getValue)
69+
.containsOnly(
70+
tuple("approverlist", List.of("andrelaksmana")),
71+
tuple("moduleid", "LBU"),
72+
tuple("nullable", null),
73+
tuple("applicationDate", "2023-10-22T00:00:00.000+0000"),
74+
tuple("applicationId", "232951752337576"),
75+
tuple("isApproved", true)
76+
);
77+
}
1778
}

0 commit comments

Comments
 (0)