raimund@832: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz raimund@832: * Software engineering by Intevation GmbH raimund@832: * raimund@832: * This file is Free Software under the GNU GPL (v>=3) raimund@832: * and comes with ABSOLUTELY NO WARRANTY! Check out raimund@832: * the documentation coming with IMIS-Labordaten-Application for details. raimund@832: */ raimund@832: package de.intevation.lada; raimund@832: raimund@832: import java.net.URL; raimund@832: import java.util.ArrayList; raimund@832: raimund@835: import javax.persistence.EntityManager; raimund@835: import javax.persistence.PersistenceContext; raimund@832: raimund@832: import org.apache.log4j.Logger; raimund@832: import org.jboss.arquillian.container.test.api.RunAsClient; raimund@832: import org.jboss.arquillian.junit.Arquillian; raimund@835: import org.jboss.arquillian.junit.InSequence; raimund@835: import org.jboss.arquillian.persistence.Cleanup; raimund@835: import org.jboss.arquillian.persistence.DataSource; raimund@835: import org.jboss.arquillian.persistence.TestExecutionPhase; raimund@835: import org.jboss.arquillian.persistence.UsingDataSet; raimund@832: import org.jboss.arquillian.test.api.ArquillianResource; raimund@832: import org.junit.Assert; raimund@832: import org.junit.BeforeClass; raimund@832: import org.junit.FixMethodOrder; raimund@832: import org.junit.Test; raimund@832: import org.junit.runner.RunWith; raimund@832: import org.junit.runners.MethodSorters; raimund@832: raimund@835: import de.intevation.lada.model.stamm.DatensatzErzeuger; raimund@835: import de.intevation.lada.model.stamm.MessprogrammKategorie; raimund@835: import de.intevation.lada.model.stamm.Ort; raimund@835: import de.intevation.lada.model.stamm.Probenehmer; raimund@835: import de.intevation.lada.test.stamm.DatensatzErzeugerTest; raimund@835: import de.intevation.lada.test.stamm.MessprogrammKategorieTest; raimund@835: import de.intevation.lada.test.stamm.OrtTest; raimund@835: import de.intevation.lada.test.stamm.ProbenehmerTest; raimund@832: import de.intevation.lada.test.stamm.Stammdaten; raimund@832: raimund@832: raimund@832: /** raimund@832: * Class to test the Lada server stammdaten services. raimund@832: * raimund@832: * @author Raimund Renkert raimund@832: */ raimund@832: @RunWith(Arquillian.class) raimund@832: @FixMethodOrder(MethodSorters.NAME_ASCENDING) raimund@832: public class StammdatenTest extends BaseTest { raimund@832: raimund@832: private static Logger logger = Logger.getLogger(StammdatenTest.class); raimund@832: raimund@835: @PersistenceContext(unitName="stamm") raimund@835: EntityManager em; raimund@832: raimund@832: private Stammdaten stammdatenTest; raimund@835: private DatensatzErzeugerTest datensatzerzeugerTest; raimund@835: private ProbenehmerTest probenehmerTest; raimund@835: private MessprogrammKategorieTest messprogrammkategorieTest; raimund@835: private OrtTest ortTest; raimund@832: raimund@832: public StammdatenTest () { raimund@832: stammdatenTest = new Stammdaten(); raimund@835: datensatzerzeugerTest = new DatensatzErzeugerTest(); raimund@835: probenehmerTest = new ProbenehmerTest(); raimund@835: messprogrammkategorieTest = new MessprogrammKategorieTest(); raimund@835: ortTest = new OrtTest(); raimund@832: testProtocol = new ArrayList(); raimund@832: verboseLogging = false; raimund@832: } raimund@832: raimund@832: @BeforeClass raimund@832: public static void beforeTests() { raimund@832: logger.info("---------- Testing Lada Stamm Services ----------"); raimund@832: } raimund@832: raimund@835: /** raimund@835: * Insert a probe object into the database. raimund@835: */ raimund@835: @Test raimund@835: @InSequence(1) raimund@835: @UsingDataSet("datasets/dbUnit_datensatzerzeuger.json") raimund@835: @DataSource("java:jboss/lada-stamm") raimund@835: @Cleanup(phase=TestExecutionPhase.NONE) raimund@835: public final void prepareDatabaseDatensatzerzeuger() throws Exception { raimund@835: Protocol protocol = new Protocol(); raimund@835: protocol.setName("database"); raimund@835: protocol.setType("insert datensatzerzeuger"); raimund@835: protocol.addInfo("database", "Insert datensatzerzeuger into database"); raimund@835: testProtocol.add(protocol); raimund@835: DatensatzErzeuger erzeuger = em.find(DatensatzErzeuger.class, 1000); raimund@835: Assert.assertNotNull(erzeuger); raimund@835: protocol.setPassed(true); raimund@835: } raimund@835: raimund@835: /** raimund@835: * Tests for probe operations raimund@835: */ raimund@835: @Test raimund@835: @InSequence(2) raimund@835: @RunAsClient raimund@835: public final void testDatensatzerzeuger(@ArquillianResource URL baseUrl) raimund@835: throws Exception { raimund@835: datensatzerzeugerTest.init(baseUrl, testProtocol); raimund@835: datensatzerzeugerTest.execute(); raimund@835: } raimund@835: raimund@835: /** raimund@835: * Insert a probe object into the database. raimund@835: */ raimund@835: @Test raimund@835: @InSequence(3) raimund@835: @UsingDataSet("datasets/dbUnit_probenehmer.json") raimund@835: @DataSource("java:jboss/lada-stamm") raimund@835: @Cleanup(phase=TestExecutionPhase.NONE) raimund@835: public final void prepareDatabaseProbenehmer() throws Exception { raimund@835: Protocol protocol = new Protocol(); raimund@835: protocol.setName("database"); raimund@835: protocol.setType("insert probenehmer"); raimund@835: protocol.addInfo("database", "Insert Probenehmer into database"); raimund@835: testProtocol.add(protocol); raimund@835: Probenehmer probenehmer = em.find(Probenehmer.class, 1000); raimund@835: Assert.assertNotNull(probenehmer); raimund@835: protocol.setPassed(true); raimund@835: } raimund@835: raimund@835: /** raimund@835: * Tests for probe operations raimund@835: */ raimund@835: @Test raimund@835: @InSequence(4) raimund@835: @RunAsClient raimund@835: public final void testProbenehmer(@ArquillianResource URL baseUrl) raimund@835: throws Exception { raimund@835: probenehmerTest.init(baseUrl, testProtocol); raimund@835: probenehmerTest.execute(); raimund@835: } raimund@835: raimund@835: /** raimund@835: * Insert a probe object into the database. raimund@835: */ raimund@835: @Test raimund@835: @InSequence(5) raimund@835: @UsingDataSet("datasets/dbUnit_messprogrammkategorie.json") raimund@835: @DataSource("java:jboss/lada-stamm") raimund@835: @Cleanup(phase=TestExecutionPhase.NONE) raimund@835: public final void prepareDatabaseMessprogrammKategorie() throws Exception { raimund@835: Protocol protocol = new Protocol(); raimund@835: protocol.setName("database"); raimund@835: protocol.setType("insert messprogrammkategorie"); raimund@835: protocol.addInfo("database", "Insert messprogrammkategorie into database"); raimund@835: testProtocol.add(protocol); raimund@835: MessprogrammKategorie kategorie = em.find(MessprogrammKategorie.class, 1000); raimund@835: Assert.assertNotNull(kategorie); raimund@835: protocol.setPassed(true); raimund@835: } raimund@835: raimund@835: /** raimund@835: * Tests for probe operations raimund@835: */ raimund@835: @Test raimund@835: @InSequence(6) raimund@835: @RunAsClient raimund@835: public final void testMessprogrammKategorie(@ArquillianResource URL baseUrl) raimund@835: throws Exception { raimund@835: messprogrammkategorieTest.init(baseUrl, testProtocol); raimund@835: messprogrammkategorieTest.execute(); raimund@835: } raimund@835: raimund@835: /** raimund@835: * Insert a probe object into the database. raimund@835: */ raimund@835: @Test raimund@835: @InSequence(7) raimund@835: @UsingDataSet("datasets/dbUnit_ort.json") raimund@835: @DataSource("java:jboss/lada-stamm") raimund@835: @Cleanup(phase=TestExecutionPhase.NONE) raimund@835: public final void prepareDatabaseOrt() throws Exception { raimund@835: Protocol protocol = new Protocol(); raimund@835: protocol.setName("database"); raimund@835: protocol.setType("insert ort"); raimund@835: protocol.addInfo("database", "Insert ortinto database"); raimund@835: testProtocol.add(protocol); raimund@835: Ort ort = em.find(Ort.class, 1000); raimund@835: Assert.assertNotNull(ort); raimund@835: protocol.setPassed(true); raimund@835: } raimund@835: raimund@835: /** raimund@835: * Tests for probe operations raimund@835: */ raimund@835: @Test raimund@835: @InSequence(8) raimund@835: @RunAsClient raimund@835: public final void testOrt(@ArquillianResource URL baseUrl) raimund@835: throws Exception { raimund@835: ortTest.init(baseUrl, testProtocol); raimund@835: ortTest.execute(); raimund@835: } raimund@835: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testDatenbasisAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "datenbasis", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testDatenbasisById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "datenbasis", 9, testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testMesseinheitAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "messeinheit", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testMesseinheitById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "messeinheit", 207, testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testMessgroesseAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "messgroesse", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testMessgroesseById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "messgroesse", 56, testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testMessmethodeAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "messmethode", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testMessmethodeById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "messmethode", "GI", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testMessstelleAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "messstelle", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testMessstelleById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "messstelle", "06010", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testNetzbetreiberAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "netzbetreiber", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testNetzbetreiberById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "netzbetreiber", "06", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testPflichtmessgroesseAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "pflichtmessgroesse", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testPflichtmessgroesseById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "pflichtmessgroesse", 33, testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testProbenartAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "probenart", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testProbenartById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "probenart", 1, testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testProbenzusatzAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "probenzusatz", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testProbenzusatzById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "probenzusatz", "A74", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testKoordinatenartAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "koordinatenart", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testKoordinatenartById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "koordinatenart", 2, testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testStaatAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "staat", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testStaatById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "staat", 322, testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testUmweltAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "umwelt", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testUmweltById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "umwelt", "L6", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testVerwaltungseinheitAll(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getAll(baseUrl, "verwaltungseinheit", testProtocol); raimund@832: } raimund@832: raimund@832: @Test raimund@832: @RunAsClient raimund@832: public final void testVerwaltungseinheitById(@ArquillianResource URL baseUrl) { raimund@832: stammdatenTest.getById(baseUrl, "verwaltungseinheit", "09575134", testProtocol); raimund@832: } raimund@832: }