Revision 8051fca9
Added by Andreas Müller about 13 years ago
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/facade/DerivedUnitFacadeTest.java | ||
---|---|---|
10 | 10 |
package eu.etaxonomy.cdm.api.facade; |
11 | 11 |
|
12 | 12 |
import java.lang.reflect.Field; |
13 |
import java.net.URI; |
|
13 | 14 |
import java.text.ParseException; |
14 | 15 |
import java.util.HashSet; |
15 | 16 |
import java.util.List; |
17 |
import java.util.UUID; |
|
16 | 18 |
|
17 | 19 |
import org.apache.log4j.Logger; |
18 | 20 |
import org.junit.Assert; |
... | ... | |
20 | 22 |
import org.junit.BeforeClass; |
21 | 23 |
import org.junit.Ignore; |
22 | 24 |
import org.junit.Test; |
25 |
import org.unitils.dbunit.annotation.DataSet; |
|
26 |
import org.unitils.dbunit.annotation.ExpectedDataSet; |
|
27 |
import org.unitils.spring.annotation.SpringBeanByType; |
|
23 | 28 |
|
24 | 29 |
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade.DerivedUnitType; |
30 |
import eu.etaxonomy.cdm.api.service.IOccurrenceService; |
|
31 |
import eu.etaxonomy.cdm.api.service.ITermService; |
|
25 | 32 |
import eu.etaxonomy.cdm.model.agent.AgentBase; |
26 | 33 |
import eu.etaxonomy.cdm.model.agent.Team; |
27 |
import eu.etaxonomy.cdm.model.common.DefaultTermInitializer; |
|
28 | 34 |
import eu.etaxonomy.cdm.model.common.IdentifiableSource; |
29 | 35 |
import eu.etaxonomy.cdm.model.common.Language; |
30 | 36 |
import eu.etaxonomy.cdm.model.common.LanguageString; |
31 | 37 |
import eu.etaxonomy.cdm.model.common.TimePeriod; |
38 |
import eu.etaxonomy.cdm.model.description.Feature; |
|
32 | 39 |
import eu.etaxonomy.cdm.model.description.Sex; |
40 |
import eu.etaxonomy.cdm.model.description.SpecimenDescription; |
|
33 | 41 |
import eu.etaxonomy.cdm.model.description.Stage; |
42 |
import eu.etaxonomy.cdm.model.description.TextData; |
|
34 | 43 |
import eu.etaxonomy.cdm.model.location.NamedArea; |
35 | 44 |
import eu.etaxonomy.cdm.model.location.Point; |
36 | 45 |
import eu.etaxonomy.cdm.model.location.ReferenceSystem; |
... | ... | |
49 | 58 |
import eu.etaxonomy.cdm.model.occurrence.Specimen; |
50 | 59 |
import eu.etaxonomy.cdm.model.reference.Reference; |
51 | 60 |
import eu.etaxonomy.cdm.model.reference.ReferenceFactory; |
61 |
import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest; |
|
52 | 62 |
|
53 | 63 |
/** |
54 | 64 |
* @author a.mueller |
55 | 65 |
* @date 17.05.2010 |
56 | 66 |
* |
57 | 67 |
*/ |
58 |
public class DerivedUnitFacadeTest { |
|
59 |
@SuppressWarnings("unused") |
|
68 |
public class DerivedUnitFacadeTest extends CdmTransactionalIntegrationTest { |
|
60 | 69 |
private static final Logger logger = Logger.getLogger(DerivedUnitFacadeTest.class); |
70 |
|
|
71 |
@SpringBeanByType |
|
72 |
private IOccurrenceService service; |
|
73 |
|
|
74 |
@SpringBeanByType |
|
75 |
private ITermService termService; |
|
61 | 76 |
|
77 |
|
|
78 |
|
|
62 | 79 |
Specimen specimen; |
63 | 80 |
DerivationEvent derivationEvent; |
64 | 81 |
FieldObservation fieldObservation; |
... | ... | |
109 | 126 |
*/ |
110 | 127 |
@BeforeClass |
111 | 128 |
public static void setUpBeforeClass() throws Exception { |
112 |
new DefaultTermInitializer().initialize(); |
|
129 |
//new DefaultTermInitializer().initialize();
|
|
113 | 130 |
} |
114 | 131 |
|
115 | 132 |
/** |
... | ... | |
178 | 195 |
|
179 | 196 |
//****************************** TESTS *****************************************/ |
180 | 197 |
|
198 |
@Test |
|
199 |
@DataSet("DerivedUnitFacadeTest.testSetFieldObjectImageGallery.xml") |
|
200 |
@ExpectedDataSet |
|
201 |
public void testSetFieldObjectImageGallery() { |
|
202 |
UUID imageFeatureUuid = Feature.IMAGE().getUuid(); |
|
203 |
Feature imageFeature = (Feature)termService.find(imageFeatureUuid); |
|
204 |
|
|
205 |
DerivedUnitFacade facade = DerivedUnitFacade.NewInstance(DerivedUnitType.Specimen); |
|
206 |
facade.setFieldNumber("12345"); |
|
207 |
Media media = Media.NewInstance(URI.create("www.abc.de"), 200, null, "jpeg"); |
|
208 |
|
|
209 |
try { |
|
210 |
SpecimenDescription imageGallery = SpecimenDescription.NewInstance(); |
|
211 |
imageGallery.addDescribedSpecimenOrObservation(facade.innerFieldObservation()); |
|
212 |
imageGallery.setImageGallery(true); |
|
213 |
TextData textData = TextData.NewInstance(); |
|
214 |
textData.setFeature(imageFeature); |
|
215 |
imageGallery.addElement(textData); |
|
216 |
textData.addMedia(media); |
|
217 |
facade.setFieldObjectImageGallery(imageGallery); |
|
218 |
|
|
219 |
} catch (DerivedUnitFacadeNotSupportedException e1) { |
|
220 |
e1.printStackTrace(); |
|
221 |
Assert.fail(e1.getLocalizedMessage()); |
|
222 |
} |
|
223 |
this.service.save(facade.innerDerivedUnit()); |
|
224 |
|
|
225 |
// setComplete(); endTransaction(); |
|
226 |
// try {if (true){printDataSet(System.out, new String[]{"HIBERNATE_SEQUENCES","SPECIMENOROBSERVATIONBASE","SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT" ,"DERIVATIONEVENT", "DESCRIPTIONBASE","DESCRIPTIONELEMENTBASE","DESCRIPTIONELEMENTBASE_MEDIA","DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE", "MEDIA", "MEDIAREPRESENTATION","MEDIAREPRESENTATIONPART"});} |
|
227 |
// } catch(Exception e) { logger.warn(e);} |
|
228 |
|
|
229 |
|
|
230 |
} |
|
231 |
|
|
232 |
@Test |
|
233 |
@Ignore //TODO generally works but has id problems when running together with above test ()setFieldObjectImageGallery. Therefore set to ignore. |
|
234 |
@DataSet("DerivedUnitFacadeTest.testSetDerivedUnitImageGallery.xml") |
|
235 |
@ExpectedDataSet |
|
236 |
public void testSetDerivedUnitImageGallery() { |
|
237 |
// UUID specimenUUID = UUID.fromString("25383fc8-789b-4eff-92d3-a770d0622351"); |
|
238 |
// Specimen specimen = (Specimen)service.find(specimenUUID); |
|
239 |
DerivedUnitFacade facade = DerivedUnitFacade.NewInstance(DerivedUnitType.Specimen); |
|
240 |
Media media = Media.NewInstance(URI.create("www.derivedUnitImage.de"), 200, null, "png"); |
|
241 |
|
|
242 |
try { |
|
243 |
SpecimenDescription imageGallery = SpecimenDescription.NewInstance(); |
|
244 |
imageGallery.addDescribedSpecimenOrObservation(facade.innerDerivedUnit()); |
|
245 |
imageGallery.setImageGallery(true); |
|
246 |
TextData textData = TextData.NewInstance(); |
|
247 |
imageGallery.addElement(textData); |
|
248 |
textData.addMedia(media); |
|
249 |
facade.setDerivedUnitImageGallery(imageGallery); |
|
250 |
|
|
251 |
} catch (DerivedUnitFacadeNotSupportedException e1) { |
|
252 |
e1.printStackTrace(); |
|
253 |
Assert.fail(e1.getLocalizedMessage()); |
|
254 |
} |
|
255 |
this.service.save(facade.innerDerivedUnit()); |
|
256 |
|
|
257 |
// setComplete(); endTransaction(); |
|
258 |
// try {if (true){printDataSet(System.out, new String[]{"HIBERNATE_SEQUENCES","SPECIMENOROBSERVATIONBASE","SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT" ,"DERIVATIONEVENT", "DESCRIPTIONBASE","DESCRIPTIONELEMENTBASE","DESCRIPTIONELEMENTBASE_MEDIA","DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE", "MEDIA", "MEDIAREPRESENTATION","MEDIAREPRESENTATIONPART"});} |
|
259 |
// } catch(Exception e) { logger.warn(e);} |
|
260 |
|
|
261 |
|
|
262 |
} |
|
263 |
|
|
264 |
@Test |
|
265 |
@DataSet |
|
266 |
public void testGetDerivedUnitImageGalleryBooleanPersisted(){ |
|
267 |
UUID specimenUUID = UUID.fromString("25383fc8-789b-4eff-92d3-a770d0622351"); |
|
268 |
Specimen specimen = (Specimen)service.find(specimenUUID); |
|
269 |
Assert.assertNotNull("Specimen should exist (persisted)", specimen); |
|
270 |
try { |
|
271 |
DerivedUnitFacade facade = DerivedUnitFacade.NewInstance(specimen); |
|
272 |
SpecimenDescription imageGallery = facade.getFieldObjectImageGallery(true); |
|
273 |
Assert.assertNotNull("Image gallery should exist", imageGallery); |
|
274 |
Assert.assertEquals("There should be one TextData in image gallery", 1, imageGallery.getElements().size()); |
|
275 |
List<Media> media = imageGallery.getElements().iterator().next().getMedia(); |
|
276 |
Assert.assertEquals("There should be 1 media", 1, media.size()); |
|
277 |
} catch (DerivedUnitFacadeNotSupportedException e) { |
|
278 |
e.printStackTrace(); |
|
279 |
Assert.fail(); |
|
280 |
} |
|
281 |
} |
|
282 |
|
|
283 |
@Test |
|
284 |
public void testGetDerivedUnitImageGalleryBoolean(){ |
|
285 |
Specimen specimen = Specimen.NewInstance(); |
|
286 |
try { |
|
287 |
DerivedUnitFacade facade = DerivedUnitFacade.NewInstance(specimen); |
|
288 |
SpecimenDescription imageGallery = facade.getDerivedUnitImageGallery(true); |
|
289 |
Assert.assertNotNull("Image Gallery should have been created", imageGallery); |
|
290 |
} catch (DerivedUnitFacadeNotSupportedException e) { |
|
291 |
e.printStackTrace(); |
|
292 |
Assert.fail(); |
|
293 |
} |
|
294 |
|
|
295 |
|
|
296 |
} |
|
297 |
|
|
298 |
|
|
181 | 299 |
/** |
182 | 300 |
* Test method for {@link eu.etaxonomy.cdm.api.facade.DerivedUnitFacade#NewInstance()}. |
183 | 301 |
*/ |
... | ... | |
230 | 348 |
|
231 | 349 |
@Test |
232 | 350 |
public void testGetSetCountry(){ |
233 |
|
|
351 |
logger.warn("Not yet implemented"); |
|
234 | 352 |
} |
235 | 353 |
|
236 | 354 |
|
Also available in: Unified diff
tests for image galleries in derived unit facade and bugfix for test in DescriptionServiceImplTest which didn't run in maven.