Skip to content
Snippets Groups Projects
Commit 6fecde91 authored by vkovtun's avatar vkovtun
Browse files

SSDM-8226 Made tests SearchSampleTest.testSearchWithModifier...() pass.

parent 4796062d
No related branches found
No related tags found
No related merge requests found
......@@ -18,9 +18,11 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.search.planner;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.fetchoptions.SortOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractCompositeSearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.material.Material;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.material.search.MaterialSearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.search.ModifierSearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.search.SampleParentsSearchCriteria;
import ch.ethz.sis.openbis.generic.server.asapi.v3.search.auth.AuthorisationInformation;
import ch.ethz.sis.openbis.generic.server.asapi.v3.search.auth.ISQLAuthorisationInformationProviderDAO;
......@@ -28,7 +30,11 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.search.dao.ISQLSearchDAO;
import ch.ethz.sis.openbis.generic.server.asapi.v3.search.hibernate.IID2PETranslator;
import ch.ethz.sis.openbis.generic.server.asapi.v3.search.mapper.TableMapper;
import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* Manages detailed search with material search criteria.
......@@ -73,8 +79,14 @@ public class MaterialSearchManager extends AbstractCompositeEntitySearchManager<
final AbstractCompositeSearchCriteria parentCriteria, final String idsColumnName) {
if (criteria.getCriteria().stream().anyMatch((criterion) -> criterion instanceof PermIdSearchCriteria))
{
// Perm ID equals to string is not supported.
throw new UnsupportedOperationException("Please use criteria.withId().thatEquals(new MaterialPermId('CODE','TYPE')) instead.");
}
if (criteria.getCriteria().stream().anyMatch((criterion) -> criterion instanceof ModifierSearchCriteria))
{
// Search by modifier is not supported but the result should be empty.
return Collections.emptySet();
}
return doSearchForIDs(userId, criteria, null, idsColumnName, TableMapper.MATERIAL);
}
......
......@@ -259,41 +259,41 @@ public class SearchMaterialTest extends AbstractTest
testSearch(TEST_USER, criteria, new MaterialPermId("BACTERIUM1", "BACTERIUM"), new MaterialPermId("BACTERIUM2", "BACTERIUM"));
}
// @Test
// public void testSearchWithModifierWithUserIdThatEquals()
// {
// // search by a modifier not supported yet
// MaterialSearchCriteria criteria = new MaterialSearchCriteria();
// criteria.withModifier().withUserId().thatEquals("etlserver");
// testSearch(TEST_USER, criteria);
// }
//
// @Test
// public void testSearchWithModifierWithFirstNameThatEquals()
// {
// // search by a modifier not supported yet
// MaterialSearchCriteria criteria = new MaterialSearchCriteria();
// criteria.withModifier().withFirstName().thatEquals("John 2");
// testSearch(TEST_USER, criteria);
// }
//
// @Test
// public void testSearchWithModifierWithLastNameThatEquals()
// {
// // search by a modifier not supported yet
// MaterialSearchCriteria criteria = new MaterialSearchCriteria();
// criteria.withModifier().withLastName().thatEquals("ETL Server");
// testSearch(TEST_USER, criteria);
// }
//
// @Test
// public void testSearchWithModifierWithEmailThatEquals()
// {
// // search by a modifier not supported yet
// MaterialSearchCriteria criteria = new MaterialSearchCriteria();
// criteria.withModifier().withEmail().thatEquals("etlserver@systemsx.ch");
// testSearch(TEST_USER, criteria);
// }
@Test
public void testSearchWithModifierWithUserIdThatEquals()
{
// search by a modifier not supported yet
MaterialSearchCriteria criteria = new MaterialSearchCriteria();
criteria.withModifier().withUserId().thatEquals("etlserver");
testSearch(TEST_USER, criteria);
}
@Test
public void testSearchWithModifierWithFirstNameThatEquals()
{
// search by a modifier not supported yet
MaterialSearchCriteria criteria = new MaterialSearchCriteria();
criteria.withModifier().withFirstName().thatEquals("John 2");
testSearch(TEST_USER, criteria);
}
@Test
public void testSearchWithModifierWithLastNameThatEquals()
{
// search by a modifier not supported yet
MaterialSearchCriteria criteria = new MaterialSearchCriteria();
criteria.withModifier().withLastName().thatEquals("ETL Server");
testSearch(TEST_USER, criteria);
}
@Test
public void testSearchWithModifierWithEmailThatEquals()
{
// search by a modifier not supported yet
MaterialSearchCriteria criteria = new MaterialSearchCriteria();
criteria.withModifier().withEmail().thatEquals("etlserver@systemsx.ch");
testSearch(TEST_USER, criteria);
}
@Test
public void testSearchWithRegistrationDate()
......
......@@ -932,7 +932,7 @@ public class SearchSampleTest extends AbstractSampleTest
v3api.logout(sessionToken);
}
// TODO: get rid of SortOrder, it makes sence only for full text search.
// TODO: get rid of SortOrder, it makes sense only for full text search.
// @Test
// public void testSearchWithSortingByCodeScore()
// {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment