Skip to content
Snippets Groups Projects
Commit 070c13cf authored by ribeaudc's avatar ribeaudc
Browse files

[LMS-695] add: - Unit test for 'CommonClientServiceTest.listVocabularies'.

SVN: 9434
parent ef29d5b7
No related branches found
No related tags found
No related merge requests found
......@@ -19,6 +19,8 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.dto;
import java.util.ArrayList;
import java.util.List;
import ch.systemsx.cisd.common.annotation.CollectionMapping;
/**
* Controlled vocabulary.
*
......@@ -63,6 +65,7 @@ public final class Vocabulary extends Code<Vocabulary>
return terms;
}
@CollectionMapping(collectionClass = ArrayList.class, elementClass = VocabularyTerm.class)
public final void setTerms(final List<VocabularyTerm> terms)
{
this.terms = terms;
......
......@@ -27,6 +27,7 @@ import org.testng.annotations.BeforeMethod;
import ch.systemsx.cisd.authentication.Principal;
import ch.systemsx.cisd.common.servlet.IRequestContextProvider;
import ch.systemsx.cisd.openbis.generic.client.web.client.IClientService;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DatabaseInstance;
import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.IResultSetManager;
import ch.systemsx.cisd.openbis.generic.server.SessionConstants;
import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
......@@ -40,6 +41,13 @@ public abstract class AbstractClientServiceTest
{
protected static final String SESSION_TOKEN = "session-token";
protected static final DatabaseInstance createDatabaseInstance(final String dbCode)
{
final DatabaseInstance databaseInstance = new DatabaseInstance();
databaseInstance.setCode(dbCode);
return databaseInstance;
}
protected Mockery context;
protected IRequestContextProvider requestContextProvider;
......
......@@ -20,26 +20,31 @@ import static org.testng.AssertJUnit.assertEquals;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import org.jmock.Expectations;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DataType;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DatabaseInstance;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListSampleCriteria;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.PropertyType;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSet;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Sample;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleType;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Vocabulary;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.VocabularyTerm;
import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.CacheManager;
import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.DefaultResultSet;
import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.IOriginalDataProvider;
import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.IResultSetKeyGenerator;
import ch.systemsx.cisd.openbis.generic.server.SessionConstants;
import ch.systemsx.cisd.openbis.generic.server.business.ManagerTestTool;
import ch.systemsx.cisd.openbis.generic.shared.ICommonServer;
import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE;
import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyTermPE;
import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityDataType;
/**
......@@ -65,9 +70,7 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest
{
final SampleType sampleType = new SampleType();
sampleType.setCode(code);
final DatabaseInstance databaseInstance = new DatabaseInstance();
databaseInstance.setCode(dbCode);
sampleType.setDatabaseInstance(databaseInstance);
sampleType.setDatabaseInstance(createDatabaseInstance(dbCode));
return sampleType;
}
......@@ -83,6 +86,37 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest
assertEquals(dataTypePE.getDescription(), dataType.getDescription());
}
private final static VocabularyPE createVocabulary()
{
final VocabularyPE vocabularyPE = new VocabularyPE();
vocabularyPE.setCode("USER.COLOR");
vocabularyPE.setDescription("Vocabulary color");
vocabularyPE.setRegistrator(ManagerTestTool.EXAMPLE_PERSON);
vocabularyPE.setDatabaseInstance(ManagerTestTool.EXAMPLE_DATABASE_INSTANCE);
vocabularyPE.addTerm(createVocabularyTerm("RED"));
vocabularyPE.addTerm(createVocabularyTerm("BLACK"));
vocabularyPE.addTerm(createVocabularyTerm("WHITE"));
return vocabularyPE;
}
private final static VocabularyTermPE createVocabularyTerm(final String code)
{
final VocabularyTermPE vocabularyTermPE = new VocabularyTermPE();
vocabularyTermPE.setCode(code);
vocabularyTermPE.setRegistrator(ManagerTestTool.EXAMPLE_PERSON);
return vocabularyTermPE;
}
private final static void assertVocabularyEquals(final VocabularyPE vocabularyPE,
final Vocabulary vocabulary)
{
assertEquals(vocabulary.getCode(), vocabularyPE.getCode());
assertEquals(vocabulary.getDescription(), vocabularyPE.getDescription());
final List<VocabularyTerm> terms = vocabulary.getTerms();
final Set<VocabularyTermPE> termPEs = vocabularyPE.getTerms();
assertEquals(terms.size(), termPEs.size());
}
//
// AbstractClientServiceTest
//
......@@ -161,8 +195,8 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest
context.assertIsSatisfied();
}
private void prepareGetCacheManager(Expectations exp,
CacheManager<String, TableExportCriteria<Sample>> manager)
private void prepareGetCacheManager(final Expectations exp,
final CacheManager<String, TableExportCriteria<Sample>> manager)
{
prepareGetHttpSession(exp);
exp.allowing(httpSession).getAttribute(SessionConstants.OPENBIS_EXPORT_MANAGER);
......@@ -170,7 +204,7 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest
}
@SuppressWarnings("unchecked")
private final IOriginalDataProvider<Sample> getAnyOriginalDataProvider(Expectations exp)
private final IOriginalDataProvider<Sample> getAnyOriginalDataProvider(final Expectations exp)
{
return exp.with(Expectations.any(IOriginalDataProvider.class));
}
......@@ -210,4 +244,23 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest
commonClientService.registerPropertyType(new PropertyType());
context.assertIsSatisfied();
}
@Test
public final void testListVocabularies()
{
final VocabularyPE vocabularyPE = createVocabulary();
context.checking(new Expectations()
{
{
prepareGetSessionToken(this);
one(commonServer).listVocabularies(SESSION_TOKEN);
will(returnValue(Collections.singletonList(vocabularyPE)));
}
});
final List<Vocabulary> vocabularies = commonClientService.listVocabularies();
assertEquals(1, vocabularies.size());
assertVocabularyEquals(vocabularyPE, vocabularies.get(0));
context.assertIsSatisfied();
}
}
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