Revision a55e93b5
Added by Andreas Kohlbecker about 5 years ago
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/AgentServiceImplTest.java | ||
---|---|---|
9 | 9 |
|
10 | 10 |
package eu.etaxonomy.cdm.api.service; |
11 | 11 |
|
12 |
import static org.junit.Assert.assertEquals; |
|
13 |
import static org.junit.Assert.assertFalse; |
|
14 |
import static org.junit.Assert.assertNull; |
|
15 |
import static org.junit.Assert.assertTrue; |
|
16 |
|
|
12 | 17 |
import java.io.FileNotFoundException; |
18 |
import java.lang.reflect.Field; |
|
13 | 19 |
import java.net.URI; |
20 |
import java.util.UUID; |
|
14 | 21 |
|
15 | 22 |
import org.apache.log4j.Logger; |
16 | 23 |
import org.junit.Assert; |
... | ... | |
22 | 29 |
import eu.etaxonomy.cdm.model.agent.Contact; |
23 | 30 |
import eu.etaxonomy.cdm.model.agent.Person; |
24 | 31 |
import eu.etaxonomy.cdm.model.agent.Team; |
32 |
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; |
|
25 | 33 |
import eu.etaxonomy.cdm.model.common.Annotation; |
26 | 34 |
import eu.etaxonomy.cdm.model.location.Point; |
27 | 35 |
import eu.etaxonomy.cdm.model.name.Rank; |
... | ... | |
176 | 184 |
Assert.assertEquals("person must be combination author now", person, name.getCombinationAuthorship()); |
177 | 185 |
} |
178 | 186 |
|
187 |
|
|
188 |
@Test |
|
189 |
@DataSet(loadStrategy=CleanSweepInsertLoadStrategy.class, value="AgentServiceImplTest.testUpdateTitleCache.xml") |
|
190 |
public final void testUpdateNomTitle() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { |
|
191 |
|
|
192 |
Field nomenclaturalTitleField = TeamOrPersonBase.class.getDeclaredField("nomenclaturalTitle"); |
|
193 |
nomenclaturalTitleField.setAccessible(true); |
|
194 |
|
|
195 |
Person turland = (Person) service.load(UUID.fromString("a598ab3f-b33b-4b4b-b237-d616fcb6b5b1")); |
|
196 |
Person monro = (Person) service.load(UUID.fromString("e7206bc5-61ab-468e-a9f5-dec118b46b7f")); |
|
197 |
|
|
198 |
Team turland_monro_protected = (Team) service.load(UUID.fromString("5bff55de-f7cc-44d9-baac-908f52ad0cb8")); |
|
199 |
Team turland_monro = (Team) service.load(UUID.fromString("30ca93d6-b543-4bb9-b6ff-e9ededa65af7")); |
|
200 |
Team turland_monro_null = (Team) service.load(UUID.fromString("a4ca0d37-d78b-4bcc-875e-d4ea5a031089")); |
|
201 |
|
|
202 |
// Person has no flag for protecting the nomenclaturalTitle |
|
203 |
assertNull(nomenclaturalTitleField.get(turland)); |
|
204 |
assertEquals("A.M. Monro", nomenclaturalTitleField.get(monro).toString()); |
|
205 |
|
|
206 |
// Team has a flag for protectedNomenclaturalTitle flag |
|
207 |
assertEquals("Turland, Monro", nomenclaturalTitleField.get(turland_monro_protected)); |
|
208 |
assertTrue(turland_monro_protected.isProtectedNomenclaturalTitleCache()); |
|
209 |
assertEquals("--to be updated--", nomenclaturalTitleField.get(turland_monro).toString()); |
|
210 |
assertFalse(turland_monro.isProtectedNomenclaturalTitleCache()); |
|
211 |
assertNull(nomenclaturalTitleField.get(turland_monro_null)); |
|
212 |
assertFalse(turland_monro_null.isProtectedNomenclaturalTitleCache()); |
|
213 |
|
|
214 |
service.updateTitleCache(); |
|
215 |
|
|
216 |
turland_monro_protected = (Team) service.load(UUID.fromString("5bff55de-f7cc-44d9-baac-908f52ad0cb8")); |
|
217 |
turland_monro = (Team) service.load(UUID.fromString("30ca93d6-b543-4bb9-b6ff-e9ededa65af7")); |
|
218 |
|
|
219 |
assertEquals("Expecting nomenclaturalTitle to be set since it was NULL", "Turland, N.J.", nomenclaturalTitleField.get(turland)); |
|
220 |
assertEquals("Expecting nomenclaturalTitle to be unchanged", "A.M. Monro", nomenclaturalTitleField.get(monro).toString()); |
|
221 |
|
|
222 |
assertEquals("Turland, Monro", nomenclaturalTitleField.get(turland_monro_protected)); |
|
223 |
assertEquals("Turland, N.J. & A.M. Monro", nomenclaturalTitleField.get(turland_monro).toString()); |
|
224 |
assertEquals("Expecting nomenclaturalTitle to be set since it was NULL", "Turland, N.J. & A.M. Monro", nomenclaturalTitleField.get(turland_monro_null).toString()); |
|
225 |
|
|
226 |
} |
|
227 |
|
|
228 |
|
|
179 | 229 |
@Override |
180 | 230 |
public void createTestDataSet() throws FileNotFoundException {} |
181 | 231 |
} |
Also available in: Unified diff
ref #7874 test for nomenclaturalTitle cache updater and fixing problem in IdentifiableServiceBase
which prevented from running the updater when titleCache was protected