merge-update from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.remoting / src / test / java / eu / etaxonomy / taxeditor / httpinvoker / BaseRemotingTest.java
1 /**
2 * Copyright (C) 2014 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 package eu.etaxonomy.taxeditor.httpinvoker;
10
11 import org.apache.log4j.Level;
12 import org.apache.log4j.Logger;
13 import org.junit.AfterClass;
14 import org.junit.Assert;
15 import org.junit.BeforeClass;
16 import org.junit.Ignore;
17 import org.junit.Test;
18 import org.unitils.UnitilsJUnit4;
19 import org.unitils.database.DatabaseUnitils;
20 import org.unitils.database.annotations.Transactional;
21 import org.unitils.database.util.TransactionMode;
22
23 import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController;
24 import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
25 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
26 import eu.etaxonomy.cdm.remote.CdmPersistentRemoteSource;
27 import eu.etaxonomy.cdm.remote.CdmRemoteSource;
28 import eu.etaxonomy.cdm.remote.CdmRemoteSourceException;
29 import eu.etaxonomy.cdm.remote.ICdmRemoteSource;
30
31
32 /**
33 * Base class for remoting tests, responsible for
34 * - starting / stop the cdm server
35 * - running some basic connection tests
36 * - setting up the remote configuration.
37 *
38 */
39 @Transactional(TransactionMode.DISABLED)
40 public class BaseRemotingTest extends UnitilsJUnit4 {
41 private static final Logger logger = Logger.getLogger(BaseRemotingTest.class);
42
43 private static ICdmApplicationConfiguration remoteApplicationController;
44 private static ICdmRemoteSource cdmRemoteSource;
45 private static CdmPersistentRemoteSource remotePersistentSource;
46
47 private static boolean stoppingServer = false;
48
49 @BeforeClass
50 public static void initializeBaseRemotingTest() {
51 Logger.getRootLogger().setLevel(Level.INFO);
52
53 //DatabaseUnitils.disableConstraints();
54 try {
55 CDMServer.getInstance().start();
56 } catch (Exception e) {
57 e.printStackTrace();
58 Assert.fail("Server failed to start. Reason : " + e.getMessage());
59 }
60 cdmRemoteSource = CdmRemoteSource.NewInstance(CDMServer.getInstance().getName(),
61 CDMServer.getInstance().getHost(),
62 CDMServer.getInstance().getPort(),
63 CDMServer.getInstance().getContextPath(),
64 NomenclaturalCode.ICNAFP);
65 remoteApplicationController =
66 CdmApplicationRemoteController.NewInstance(cdmRemoteSource,
67 false,
68 null,
69 null);
70
71 try {
72 remotePersistentSource = CdmPersistentRemoteSource.NewInstance("default");
73 } catch (CdmRemoteSourceException e) {
74 Assert.fail("Default Remote Persistent Source failed to load. Reason : " + e.getMessage());
75 }
76
77 }
78
79
80 protected static ICdmApplicationConfiguration getRemoteApplicationController() {
81 return remoteApplicationController;
82 }
83
84 protected static ICdmRemoteSource getCdmRemoteSource() {
85 return cdmRemoteSource;
86 }
87
88 protected static CdmPersistentRemoteSource getCdmPersistentRemoteSource() {
89 return remotePersistentSource;
90 }
91
92 @AfterClass
93 public static void cleanup() {
94 try {
95 CDMServer.getInstance().stop();
96 } catch (Exception e) {
97 Assert.fail("Server could not be stopped. Reason : " + e.getMessage());
98 }
99 }
100
101
102 }