Skip to content
Snippets Groups Projects
Commit 69b2a040 authored by buczekp's avatar buczekp
Browse files

[LMS-1976] update of index (step 3: changed test expectations); new test...

[LMS-1976] update of index (step 3: changed test expectations); new test combining sample and experiment criteria

SVN: 20371
parent 7cf4f959
No related branches found
No related tags found
No related merge requests found
...@@ -64,6 +64,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.MaterialPropertyPE; ...@@ -64,6 +64,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.MaterialPropertyPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.PropertyTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.PropertyTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.SearchableEntity; import ch.systemsx.cisd.openbis.generic.shared.dto.SearchableEntity;
import ch.systemsx.cisd.openbis.generic.shared.translator.DtoConverters; import ch.systemsx.cisd.openbis.generic.shared.translator.DtoConverters;
import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils;
/** /**
* Test cases for corresponding {@link HibernateSearchDAO} class. * Test cases for corresponding {@link HibernateSearchDAO} class.
...@@ -178,7 +179,7 @@ public final class HibernateSearchDAOTest extends AbstractDAOTest ...@@ -178,7 +179,7 @@ public final class HibernateSearchDAOTest extends AbstractDAOTest
final List<MatchingEntity> hits = final List<MatchingEntity> hits =
hibernateSearchDAO.searchEntitiesByTerm(SearchableEntity.EXPERIMENT, query, hibernateSearchDAO.searchEntitiesByTerm(SearchableEntity.EXPERIMENT, query,
createDataProvider(), useWildcardMode, 0, Integer.MAX_VALUE); createDataProvider(), useWildcardMode, 0, Integer.MAX_VALUE);
assertEquals(5, hits.size()); assertEquals(6, hits.size());
for (MatchingEntity matchingEntity : hits) for (MatchingEntity matchingEntity : hits)
{ {
AssertionUtil.assertContainsInsensitive(querySubstring, matchingEntity.getCode()); AssertionUtil.assertContainsInsensitive(querySubstring, matchingEntity.getCode());
...@@ -260,13 +261,13 @@ public final class HibernateSearchDAOTest extends AbstractDAOTest ...@@ -260,13 +261,13 @@ public final class HibernateSearchDAOTest extends AbstractDAOTest
* <br> * <br>
* Only eager connections are loaded. * Only eager connections are loaded.
*/ */
private List<ExternalDataPE> searchForDatasets(DetailedSearchCriteria criteria) private List<ExternalDataPE> searchForDatasets(DetailedSearchCriteria criteria,
List<DetailedSearchAssociationCriteria> assiciations)
{ {
final IHibernateSearchDAO hibernateSearchDAO = daoFactory.getHibernateSearchDAO(); final IHibernateSearchDAO hibernateSearchDAO = daoFactory.getHibernateSearchDAO();
List<Long> datasetIds = List<Long> datasetIds =
hibernateSearchDAO.searchForEntityIds(criteria, hibernateSearchDAO.searchForEntityIds(criteria,
DtoConverters.convertEntityKind(EntityKind.DATA_SET), DtoConverters.convertEntityKind(EntityKind.DATA_SET), assiciations);
Collections.<DetailedSearchAssociationCriteria> emptyList());
final List<ExternalDataPE> result = new ArrayList<ExternalDataPE>(); final List<ExternalDataPE> result = new ArrayList<ExternalDataPE>();
for (Long datasetId : datasetIds) for (Long datasetId : datasetIds)
{ {
...@@ -291,7 +292,29 @@ public final class HibernateSearchDAOTest extends AbstractDAOTest ...@@ -291,7 +292,29 @@ public final class HibernateSearchDAOTest extends AbstractDAOTest
private void assertCorrectDatasetsFound(DetailedSearchCriteria criteria, private void assertCorrectDatasetsFound(DetailedSearchCriteria criteria,
DSLoc... expectedLocations) DSLoc... expectedLocations)
{ {
List<ExternalDataPE> dataSets = searchForDatasets(criteria); List<ExternalDataPE> dataSets =
searchForDatasets(criteria,
Collections.<DetailedSearchAssociationCriteria> emptyList());
AssertJUnit.assertEquals(expectedLocations.length, dataSets.size());
for (ExternalDataPE dataSet : dataSets)
{
assertContains(expectedLocations, dataSet.getLocation());
}
}
// NOTE: such a check depends strongly on the test database content. Use it only when the better
// way to check the results is much harder.
private void assertCorrectDatasetsFound(DetailedSearchCriteria criteria,
DetailedSearchAssociationCriteria association, DSLoc... expectedLocations)
{
List<ExternalDataPE> dataSets =
searchForDatasets(criteria, Collections.singletonList(association));
// Collections.<DetailedSearchAssociationCriteria> emptyList());
for (ExternalDataPE dataSet : dataSets)
{
System.err.println(dataSet.getLocation() + ": "
+ HibernateUtils.getId(dataSet.getExperiment()));
}
AssertJUnit.assertEquals(expectedLocations.length, dataSets.size()); AssertJUnit.assertEquals(expectedLocations.length, dataSets.size());
for (ExternalDataPE dataSet : dataSets) for (ExternalDataPE dataSet : dataSets)
{ {
...@@ -365,6 +388,19 @@ public final class HibernateSearchDAOTest extends AbstractDAOTest ...@@ -365,6 +388,19 @@ public final class HibernateSearchDAOTest extends AbstractDAOTest
assertCorrectDatasetsFound(criteria, DSLoc.LOC3, DSLoc.LOC4); assertCorrectDatasetsFound(criteria, DSLoc.LOC3, DSLoc.LOC4);
} }
@Test(dependsOnMethods = "testSearchForDataSetsSimpleField")
public final void testSearchForDataSetsSimpleFieldWithExperiment()
{
DetailedSearchCriterion criterion = createSimpleFieldCriterion();
DetailedSearchCriteria criteria = createAndDatasetQuery(criterion);
DetailedSearchAssociationCriteria association =
new DetailedSearchAssociationCriteria(EntityKind.EXPERIMENT,
Collections.singleton(new Long(2L)));
// compared to testSearchForDataSetsSimpleField() DSLoc.LOC3 should be filtered
// because of different experiment
assertCorrectDatasetsFound(criteria, association, DSLoc.LOC4);
}
@Test @Test
public final void testSearchForDataSetsComplexAndQuery() public final void testSearchForDataSetsComplexAndQuery()
{ {
......
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