Search in sources :

Example 56 with Collection

use of io.lumeer.api.model.Collection in project engine by Lumeer.

the class MorphiaCollectionDaoTest method testGetCollectionsByAttributesSuggestionsDifferentUser.

@Test
public void testGetCollectionsByAttributesSuggestionsDifferentUser() {
    createCollection(CODE, NAME, Collections.emptySet());
    createCollection(CODE2, NAME2, ATTRIBUTES);
    createCollection(CODE3, NAME3, ATTRIBUTES_FULLTEXT);
    SuggestionQuery suggestionQuery = SuggestionQuery.createBuilder(USER2).text("sugg").build();
    List<Collection> collections = collectionDao.getCollectionsByAttributes(suggestionQuery);
    assertThat(collections).isEmpty();
}
Also used : SuggestionQuery(io.lumeer.storage.api.query.SuggestionQuery) MorphiaCollection(io.lumeer.storage.mongodb.model.MorphiaCollection) Collection(io.lumeer.api.model.Collection) Test(org.junit.Test)

Example 57 with Collection

use of io.lumeer.api.model.Collection in project engine by Lumeer.

the class MorphiaCollectionDaoTest method testGetCollectionsByCollectionIds.

@Test
public void testGetCollectionsByCollectionIds() {
    MorphiaCollection collection = prepareCollection(CODE, NAME);
    collection.getPermissions().removeUserPermission(USER);
    Permission userPermission = new MorphiaPermission(USER2, Collections.singleton(Role.READ.toString()));
    collection.getPermissions().updateUserPermissions(userPermission);
    datastore.save(collectionDao.databaseCollection(), collection);
    MorphiaCollection collection2 = prepareCollection(CODE2, NAME2);
    datastore.save(collectionDao.databaseCollection(), collection2);
    MorphiaCollection collection3 = prepareCollection(CODE3, NAME3);
    datastore.save(collectionDao.databaseCollection(), collection3);
    SearchQuery query = SearchQuery.createBuilder(USER).collectionIds(new HashSet<>(Arrays.asList(collection.getId(), collection3.getId()))).build();
    List<Collection> views = collectionDao.getCollections(query);
    assertThat(views).extracting(Collection::getId).containsOnly(collection3.getId());
}
Also used : SearchQuery(io.lumeer.storage.api.query.SearchQuery) MorphiaPermission(io.lumeer.storage.mongodb.model.embedded.MorphiaPermission) MorphiaCollection(io.lumeer.storage.mongodb.model.MorphiaCollection) MorphiaPermission(io.lumeer.storage.mongodb.model.embedded.MorphiaPermission) Permission(io.lumeer.api.model.Permission) MorphiaCollection(io.lumeer.storage.mongodb.model.MorphiaCollection) Collection(io.lumeer.api.model.Collection) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 58 with Collection

use of io.lumeer.api.model.Collection in project engine by Lumeer.

the class MorphiaCollectionDaoTest method testGetCollectionsGroupsRole.

@Test
public void testGetCollectionsGroupsRole() {
    MorphiaCollection collection = prepareCollection(CODE, NAME);
    datastore.save(collectionDao.databaseCollection(), collection);
    MorphiaCollection collection2 = prepareCollection(CODE2, NAME2);
    datastore.save(collectionDao.databaseCollection(), collection2);
    SearchQuery query = SearchQuery.createBuilder(USER2).groups(Collections.singleton(GROUP)).build();
    List<Collection> collections = collectionDao.getCollections(query);
    assertThat(collections).extracting(Collection::getCode).containsOnly(CODE, CODE2);
}
Also used : SearchQuery(io.lumeer.storage.api.query.SearchQuery) MorphiaCollection(io.lumeer.storage.mongodb.model.MorphiaCollection) MorphiaCollection(io.lumeer.storage.mongodb.model.MorphiaCollection) Collection(io.lumeer.api.model.Collection) Test(org.junit.Test)

Example 59 with Collection

use of io.lumeer.api.model.Collection in project engine by Lumeer.

the class MorphiaCollectionDaoTest method testGetCollectionsByFulltextWithAttributes.

@Test
@Ignore("Fulltext index on attribute names does not work at the moment")
public void testGetCollectionsByFulltextWithAttributes() {
    createCollection(CODE, NAME, ATTRIBUTES);
    createCollection(CODE2, NAME_FULLTEXT, ATTRIBUTES);
    createCollection(CODE3, NAME, ATTRIBUTES);
    createCollection(CODE4, NAME, ATTRIBUTES_FULLTEXT);
    SearchQuery searchQuery = SearchQuery.createBuilder(USER).fulltext("fulltext").build();
    List<Collection> collections = collectionDao.getCollections(searchQuery);
    assertThat(collections).extracting(Resource::getCode).containsOnly(CODE2, CODE3, CODE4);
}
Also used : SearchQuery(io.lumeer.storage.api.query.SearchQuery) MorphiaCollection(io.lumeer.storage.mongodb.model.MorphiaCollection) Collection(io.lumeer.api.model.Collection) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 60 with Collection

use of io.lumeer.api.model.Collection in project engine by Lumeer.

the class MorphiaCollectionDaoTest method testGetCollectionByCode.

@Test
public void testGetCollectionByCode() {
    createCollection(CODE, NAME);
    Collection collection = collectionDao.getCollectionByCode(CODE);
    assertThat(collection).isNotNull();
    assertThat(collection.getCode()).isEqualTo(CODE);
}
Also used : MorphiaCollection(io.lumeer.storage.mongodb.model.MorphiaCollection) Collection(io.lumeer.api.model.Collection) Test(org.junit.Test)

Aggregations

Collection (io.lumeer.api.model.Collection)77 Test (org.junit.Test)47 JsonCollection (io.lumeer.api.dto.JsonCollection)34 DataDocument (io.lumeer.engine.api.data.DataDocument)17 MorphiaCollection (io.lumeer.storage.mongodb.model.MorphiaCollection)17 SearchQuery (io.lumeer.storage.api.query.SearchQuery)14 SoftAssertions (org.assertj.core.api.SoftAssertions)12 Document (io.lumeer.api.model.Document)8 ImportedCollection (io.lumeer.api.model.ImportedCollection)8 SuggestionQuery (io.lumeer.storage.api.query.SuggestionQuery)8 Response (javax.ws.rs.core.Response)8 JsonAttribute (io.lumeer.api.dto.JsonAttribute)7 Attribute (io.lumeer.api.model.Attribute)7 HashSet (java.util.HashSet)6 JsonQuery (io.lumeer.api.dto.JsonQuery)5 LocalDateTime (java.time.LocalDateTime)4 List (java.util.List)4 JsonDocument (io.lumeer.api.dto.JsonDocument)3 LinkType (io.lumeer.api.model.LinkType)3 CollectionDao (io.lumeer.storage.api.dao.CollectionDao)3