View Javadoc
1   package de.dlr.shepard.context.version.daos;
2   
3   import static org.junit.jupiter.api.Assertions.assertEquals;
4   
5   import de.dlr.shepard.context.collection.daos.CollectionDAO;
6   import de.dlr.shepard.context.collection.entities.Collection;
7   import de.dlr.shepard.context.collection.services.CollectionService;
8   import io.quarkus.test.junit.QuarkusTest;
9   import jakarta.inject.Inject;
10  import jakarta.transaction.Transactional;
11  import java.util.Collections;
12  import java.util.Iterator;
13  import java.util.UUID;
14  import org.junit.jupiter.api.Test;
15  
16  @QuarkusTest
17  public class VersionDAOQuarkusTest {
18  
19    @Inject
20    VersionDAO versionDAO;
21  
22    @Inject
23    CollectionDAO collectionDAO;
24  
25    @Inject
26    CollectionService collectionService;
27  
28    @Test
29    @Transactional
30    public void createLinkTest() {
31      UUID collectionNameUUID = UUID.randomUUID();
32      String collectionName = "collection" + collectionNameUUID;
33      UUID versionUUID = UUID.randomUUID();
34      String setUpQuery =
35        "CREATE (v:Version), (c:Collection:VersionableEntity) SET c.name='" +
36        collectionName +
37        "', v.uid='" +
38        versionUUID +
39        "'";
40      versionDAO.runQuery(setUpQuery, Collections.emptyMap());
41      String findCollectionQuery = "MATCH (c:Collection) WHERE c.name='" + collectionName + "' RETURN c";
42      var collections = collectionDAO.findByQuery(findCollectionQuery, Collections.emptyMap());
43      Iterator<Collection> collectionIterator = collections.iterator();
44      Collection collection = collectionIterator.next();
45      long collectionId = collection.getId();
46      versionDAO.createLink(collectionId, versionUUID);
47      String testLinkQuery =
48        "MATCH (ve:VersionableEntity)-[:has_version]->(v:Version) WHERE id(ve)=" +
49        collectionId +
50        " AND v.uid='" +
51        versionUUID +
52        "' RETURN ve";
53      var linkTestmonial = collectionDAO.findByQuery(testLinkQuery, Collections.emptyMap());
54      assertEquals(linkTestmonial.iterator().next().getId(), collectionId);
55    }
56  }