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: }