some changes to the update script
[cdmlib.git] / cdmlib-io / src / test / java / eu / etaxonomy / cdm / io / specimen / abcd206 / in / SpecimenImportConfiguratorTest.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9
10 package eu.etaxonomy.cdm.io.specimen.abcd206.in;
11
12 import static org.junit.Assert.assertEquals;
13 import static org.junit.Assert.assertNotNull;
14 import static org.junit.Assert.assertTrue;
15
16 import java.net.URISyntaxException;
17 import java.net.URL;
18
19 import org.junit.Assert;
20 import org.junit.Before;
21 import org.junit.Test;
22 import org.unitils.dbunit.annotation.DataSet;
23 import org.unitils.spring.annotation.SpringBeanByName;
24 import org.unitils.spring.annotation.SpringBeanByType;
25
26 import eu.etaxonomy.cdm.api.service.INameService;
27 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
28 import eu.etaxonomy.cdm.io.common.CdmApplicationAwareDefaultImport;
29 import eu.etaxonomy.cdm.io.common.IImportConfigurator;
30 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
31 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
32 import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;
33 import eu.etaxonomy.cdm.test.unitils.CleanSweepInsertLoadStrategy;
34
35 /**
36 * @author a.mueller
37 * @created 29.01.2009
38 * @version 1.0
39 */
40 public class SpecimenImportConfiguratorTest extends CdmTransactionalIntegrationTest {
41
42 @SpringBeanByName
43 CdmApplicationAwareDefaultImport<?> defaultImport;
44
45 @SpringBeanByType
46 INameService nameService;
47
48 @SpringBeanByType
49 IOccurrenceService occurrenceService;
50
51
52 private IImportConfigurator configurator;
53
54 @Before
55 public void setUp() {
56 String inputFile = "/eu/etaxonomy/cdm/io/specimen/abcd206/in/SpecimenImportConfiguratorTest-input.xml";
57 URL url = this.getClass().getResource(inputFile);
58 assertNotNull("URL for the test file '" + inputFile + "' does not exist", url);
59 try {
60 configurator = Abcd206ImportConfigurator.NewInstance(url.toURI(), null);
61 } catch (URISyntaxException e) {
62 e.printStackTrace();
63 Assert.fail();
64 }
65 assertNotNull("Configurator could not be created", configurator);
66 }
67
68 @Test
69 public void testInit() {
70 assertNotNull("import instance should not be null", defaultImport);
71 assertNotNull("nameService should not be null", nameService);
72 assertNotNull("occurence service should not be null", occurrenceService);
73 }
74
75 @Test
76 @DataSet( value="../../../BlankDataSet.xml") //loadStrategy=CleanSweepInsertLoadStrategy.class
77 public void testDoInvoke() {
78 boolean result = defaultImport.invoke(configurator);
79 assertTrue("Return value for import.invoke should be true", result);
80
81 assertEquals("Number of TaxonNames is incorrect", 2, nameService.count(TaxonNameBase.class));
82 assertEquals("Number of specimen is incorrect", 10, occurrenceService.count(DerivedUnit.class));
83
84
85 }
86
87 }