Skip to content

Package: PersistenceUnitTestRunner

PersistenceUnitTestRunner

nameinstructionbranchcomplexitylinemethod
PersistenceUnitTestRunner(Logger)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
initPersistenceUnits()
M: 0 C: 27
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
lambda$0(EntityManager)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
multiplePersistenceUnitsSaveDataIndependently()
M: 0 C: 63
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 14
100%
M: 0 C: 1
100%

Coverage

1: package cz.cvut.kbss.jopa.test.runner;
2:
3: import cz.cvut.kbss.jopa.model.EntityManager;
4: import cz.cvut.kbss.jopa.test.OWLClassA;
5: import cz.cvut.kbss.jopa.test.environment.Generators;
6: import org.junit.Test;
7: import org.slf4j.Logger;
8:
9: import java.net.URI;
10: import java.util.ArrayList;
11: import java.util.List;
12:
13: import static org.junit.Assert.assertEquals;
14: import static org.junit.Assert.assertNotNull;
15:
16: public abstract class PersistenceUnitTestRunner extends BaseRunner {
17:
18: public PersistenceUnitTestRunner(Logger logger) {
19: super(logger);
20: }
21:
22: @Test
23: public void multiplePersistenceUnitsSaveDataIndependently() {
24: final List<EntityManager> ems = initPersistenceUnits();
25: try {
26:• for (EntityManager em : ems) {
27: em.getTransaction().begin();
28: em.persist(entityA);
29: em.getTransaction().commit();
30: em.clear();
31: }
32:
33:• for (EntityManager em : ems) {
34: assertNotNull(em.find(OWLClassA.class, entityA.getUri()));
35: // Cannot use count query, because OWL2Query does not support it
36: final List<?> res = em.createNativeQuery("SELECT ?x WHERE {?x a ?type .}")
37: .setParameter("type", URI.create(OWLClassA.getClassIri())).getResultList();
38: assertEquals(1, res.size());
39: }
40: } finally {
41: ems.forEach(em -> {
42: em.close();
43: em.getEntityManagerFactory().close();
44: });
45: }
46: }
47:
48: private List<EntityManager> initPersistenceUnits() {
49: final List<EntityManager> ems = new ArrayList<>();
50:• for (int i = 0; i < Generators.randomPositiveInt(5); i++) {
51: ems.add(getEntityManager("MultiplePUsTest" + i, false));
52: }
53: return ems;
54: }
55: }