IService, ServiceBase : added method findWithoutFlush
[cdmlib.git] / cdmlib-services / src / test / java / eu / etaxonomy / cdm / api / cache / CdmCacherTest.java
1 package eu.etaxonomy.cdm.api.cache;
2
3 import org.apache.log4j.Logger;
4 import org.junit.Assert;
5 import org.junit.Test;
6 import org.unitils.spring.annotation.SpringBeanByType;
7
8 import eu.etaxonomy.cdm.model.common.Language;
9 import eu.etaxonomy.cdm.model.name.BotanicalName;
10 import eu.etaxonomy.cdm.model.name.NonViralName;
11 import eu.etaxonomy.cdm.model.name.Rank;
12 import eu.etaxonomy.cdm.model.reference.Reference;
13 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
14 import eu.etaxonomy.cdm.model.taxon.Taxon;
15 import eu.etaxonomy.cdm.test.integration.CdmIntegrationTest;
16
17 import eu.etaxonomy.cdm.api.cache.CdmCacher;
18 import eu.etaxonomy.cdm.api.service.IReferenceService;
19 import eu.etaxonomy.cdm.api.service.ITaxonService;
20
21 public class CdmCacherTest extends CdmIntegrationTest {
22 @SuppressWarnings("unused")
23 private static final Logger logger = Logger.getLogger(CdmCacherTest.class);
24
25 @SpringBeanByType
26 private CdmCacher cdmCacher;
27
28 @SpringBeanByType
29 private IReferenceService referenceService;
30
31 @SpringBeanByType
32 private ITaxonService taxonService;
33
34 @Test
35 public void testLanguageCache() {
36 Language defaultLanguage = Language.getDefaultLanguage();
37
38 Language defaultLanguageInCache = (Language)cdmCacher.getFromCache(defaultLanguage.getUuid());
39 Assert.assertEquals("Loaded Language Term should match Language Term in Cache",defaultLanguage,defaultLanguageInCache);
40
41 Language language = Language.getLanguageFromUuid(Language.uuidFrench);
42 Language languageInCache = (Language)cdmCacher.getFromCache(language.getUuid());
43 Assert.assertEquals("Loaded Language Term should match Language Term in Cache",language,languageInCache);
44
45 // Following test is just to make sure no exception is raised when saving a taxon corresponding
46 // to a taxon name with no name cache to begin with
47 Reference sec = ReferenceFactory.newDatabase();
48 referenceService.save(sec);
49 Taxon taxon = Taxon.NewInstance(NonViralName.NewInstance(Rank.SERIES()), sec);
50 taxon.setTitleCache("Tax" + "CdmCacher", true);
51 taxonService.save(taxon);
52 NonViralName nvn = (NonViralName)taxon.getName();
53 String nameCache = nvn.getNameCache();
54 logger.warn("name cache : " + nameCache);
55 }
56
57 }