Search in sources :

Example 21 with SearchQuery

use of io.lumeer.storage.api.query.SearchQuery in project engine by Lumeer.

the class MongoLinkInstanceDaoTest method testDeleteLinkInstancesByLinkTypeIds.

@Test
public void testDeleteLinkInstancesByLinkTypeIds() throws InterruptedException {
    linkInstanceDao.createLinkInstance(prepareLinkInstance());
    LinkInstance linkInstance2 = prepareLinkInstance();
    linkInstance2.setLinkTypeId(LINK_TYPE_ID2);
    linkInstanceDao.createLinkInstance(linkInstance2);
    LinkInstance linkInstance3 = prepareLinkInstance();
    linkInstance3.setLinkTypeId(LINK_TYPE_ID2);
    linkInstanceDao.createLinkInstance(linkInstance3);
    LinkInstance linkInstance4 = prepareLinkInstance();
    linkInstance4.setLinkTypeId(LINK_TYPE_ID3);
    String id4 = linkInstanceDao.createLinkInstance(linkInstance4).getId();
    assertThat(linkInstanceDao.databaseCollection().find().into(new ArrayList<>()).size()).isEqualTo(4);
    SearchQuery query1 = SearchQuery.createBuilder(USER).linkTypeIds(new HashSet<>(Arrays.asList(LINK_TYPE_ID1, LINK_TYPE_ID2))).build();
    linkInstanceDao.deleteLinkInstances(query1);
    List<LinkInstance> linkInstances = linkInstanceDao.databaseCollection().find().into(new ArrayList<>());
    assertThat(linkInstances).extracting("id").containsOnlyElementsOf(Collections.singletonList(id4));
}
Also used : SearchQuery(io.lumeer.storage.api.query.SearchQuery) ArrayList(java.util.ArrayList) LinkInstance(io.lumeer.api.model.LinkInstance) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 22 with SearchQuery

use of io.lumeer.storage.api.query.SearchQuery in project engine by Lumeer.

the class MongoLinkInstanceDaoTest method testGetLinkInstancesByDocumentIds.

@Test
public void testGetLinkInstancesByDocumentIds() {
    String id1 = linkInstanceDao.createLinkInstance(prepareLinkInstance()).getId();
    LinkInstance linkInstance2 = prepareLinkInstance();
    linkInstance2.setDocumentIds(Arrays.asList(DOCUMENT_ID2, DOCUMENT_ID3));
    String id2 = linkInstanceDao.createLinkInstance(linkInstance2).getId();
    LinkInstance linkInstance3 = prepareLinkInstance();
    linkInstance3.setDocumentIds(Arrays.asList(DOCUMENT_ID1, DOCUMENT_ID5));
    String id3 = linkInstanceDao.createLinkInstance(linkInstance3).getId();
    LinkInstance linkInstance4 = prepareLinkInstance();
    linkInstance4.setDocumentIds(Arrays.asList(DOCUMENT_ID2, DOCUMENT_ID4));
    String id4 = linkInstanceDao.createLinkInstance(linkInstance4).getId();
    SearchQuery query1 = SearchQuery.createBuilder(USER).documentIds(Collections.singleton(DOCUMENT_ID1)).build();
    List<LinkInstance> linkInstances = linkInstanceDao.getLinkInstances(query1);
    assertThat(linkInstances).extracting("id").containsOnlyElementsOf(Arrays.asList(id1, id3));
    SearchQuery query2 = SearchQuery.createBuilder(USER).documentIds(Collections.singleton(DOCUMENT_ID2)).build();
    linkInstances = linkInstanceDao.getLinkInstances(query2);
    assertThat(linkInstances).extracting("id").containsOnlyElementsOf(Arrays.asList(id1, id2, id4));
}
Also used : SearchQuery(io.lumeer.storage.api.query.SearchQuery) LinkInstance(io.lumeer.api.model.LinkInstance) Test(org.junit.Test)

Example 23 with SearchQuery

use of io.lumeer.storage.api.query.SearchQuery in project engine by Lumeer.

the class MongoLinkInstanceDaoTest method testDeleteLinkInstancesByDocumentIds.

@Test
public void testDeleteLinkInstancesByDocumentIds() {
    linkInstanceDao.createLinkInstance(prepareLinkInstance());
    LinkInstance linkInstance2 = prepareLinkInstance();
    linkInstance2.setDocumentIds(Arrays.asList(DOCUMENT_ID2, DOCUMENT_ID3));
    linkInstanceDao.createLinkInstance(linkInstance2);
    LinkInstance linkInstance3 = prepareLinkInstance();
    linkInstance3.setDocumentIds(Arrays.asList(DOCUMENT_ID1, DOCUMENT_ID5));
    linkInstanceDao.createLinkInstance(linkInstance3);
    LinkInstance linkInstance4 = prepareLinkInstance();
    linkInstance4.setDocumentIds(Arrays.asList(DOCUMENT_ID2, DOCUMENT_ID4));
    linkInstanceDao.createLinkInstance(linkInstance4);
    assertThat(linkInstanceDao.databaseCollection().find().into(new ArrayList<>()).size()).isEqualTo(4);
    SearchQuery query1 = SearchQuery.createBuilder(USER).documentIds(Collections.singleton(DOCUMENT_ID1)).build();
    linkInstanceDao.deleteLinkInstances(query1);
    assertThat(linkInstanceDao.databaseCollection().find().into(new ArrayList<>()).size()).isEqualTo(2);
    SearchQuery query2 = SearchQuery.createBuilder(USER).documentIds(Collections.singleton(DOCUMENT_ID2)).build();
    linkInstanceDao.deleteLinkInstances(query2);
    assertThat(linkInstanceDao.databaseCollection().find().into(new ArrayList<>())).isEmpty();
}
Also used : SearchQuery(io.lumeer.storage.api.query.SearchQuery) ArrayList(java.util.ArrayList) LinkInstance(io.lumeer.api.model.LinkInstance) Test(org.junit.Test)

Example 24 with SearchQuery

use of io.lumeer.storage.api.query.SearchQuery in project engine by Lumeer.

the class MongoLinkTypeDaoTest method testDeleteLinkTypesByIds.

@Test
public void testDeleteLinkTypesByIds() throws InterruptedException {
    String id1 = linkTypeDao.createLinkType(prepareLinkType()).getId();
    LinkType linkType2 = prepareLinkType();
    linkType2.setName(NAME2);
    String id2 = linkTypeDao.createLinkType(linkType2).getId();
    LinkType linkType3 = prepareLinkType();
    linkType3.setName(NAME3);
    String id3 = linkTypeDao.createLinkType(linkType3).getId();
    LinkType linkType4 = prepareLinkType();
    linkType4.setName(NAME4);
    String id4 = linkTypeDao.createLinkType(linkType4).getId();
    assertThat(linkTypeDao.databaseCollection().find().into(new ArrayList<>()).size()).isEqualTo(4);
    SearchQuery query = SearchQuery.createBuilder(USER).linkTypeIds(new HashSet<>(Arrays.asList(id1, id4))).build();
    linkTypeDao.deleteLinkTypes(query);
    List<LinkType> linkTypes = linkTypeDao.databaseCollection().find().into(new ArrayList<>());
    assertThat(linkTypes).extracting("id").containsOnlyElementsOf(Arrays.asList(id2, id3));
}
Also used : SearchQuery(io.lumeer.storage.api.query.SearchQuery) ArrayList(java.util.ArrayList) LinkType(io.lumeer.api.model.LinkType) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 25 with SearchQuery

use of io.lumeer.storage.api.query.SearchQuery in project engine by Lumeer.

the class MongoLinkTypeDaoTest method testGetLinkTypesByIds.

@Test
public void testGetLinkTypesByIds() {
    String id1 = linkTypeDao.createLinkType(prepareLinkType()).getId();
    LinkType linkType2 = prepareLinkType();
    linkType2.setName(NAME2);
    String id2 = linkTypeDao.createLinkType(linkType2).getId();
    LinkType linkType3 = prepareLinkType();
    linkType3.setName(NAME3);
    linkTypeDao.createLinkType(linkType3);
    LinkType linkType4 = prepareLinkType();
    linkType4.setName(NAME4);
    String id4 = linkTypeDao.createLinkType(linkType4).getId();
    SearchQuery query1 = SearchQuery.createBuilder(USER).linkTypeIds(new HashSet<>(Arrays.asList(id1, id4))).build();
    List<LinkType> linkTypes = linkTypeDao.getLinkTypes(query1);
    assertThat(linkTypes).extracting("id").containsOnlyElementsOf(Arrays.asList(id1, id4));
    SearchQuery query2 = SearchQuery.createBuilder(USER).linkTypeIds(Collections.singleton(id2)).build();
    linkTypes = linkTypeDao.getLinkTypes(query2);
    assertThat(linkTypes).extracting("id").containsOnly(id2);
}
Also used : SearchQuery(io.lumeer.storage.api.query.SearchQuery) LinkType(io.lumeer.api.model.LinkType) HashSet(java.util.HashSet) Test(org.junit.Test)

Aggregations

SearchQuery (io.lumeer.storage.api.query.SearchQuery)39 Test (org.junit.Test)37 View (io.lumeer.api.model.View)15 Collection (io.lumeer.api.model.Collection)11 MorphiaCollection (io.lumeer.storage.mongodb.model.MorphiaCollection)9 JsonView (io.lumeer.api.dto.JsonView)8 HashSet (java.util.HashSet)8 MorphiaView (io.lumeer.storage.mongodb.model.MorphiaView)7 LinkType (io.lumeer.api.model.LinkType)5 DataDocument (io.lumeer.engine.api.data.DataDocument)5 LinkInstance (io.lumeer.api.model.LinkInstance)4 Permission (io.lumeer.api.model.Permission)4 MorphiaPermission (io.lumeer.storage.mongodb.model.embedded.MorphiaPermission)4 ArrayList (java.util.ArrayList)4 Ignore (org.junit.Ignore)2 HashMap (java.util.HashMap)1