Add test for editor / server cdmlib version check
[taxeditor.git] / eu.etaxonomy.taxeditor.test / src / test / java / eu / etaxonomy / taxeditor / ui / dialogs / CdmServerInfoTest.java
1 // $Id$
2 /**
3 * Copyright (C) 2015 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10 package eu.etaxonomy.taxeditor.ui.dialogs;
11
12 import java.util.List;
13
14 import org.junit.Assert;
15 import org.junit.Ignore;
16 import org.junit.Test;
17 import org.unitils.UnitilsJUnit4;
18
19 import eu.etaxonomy.cdm.api.application.CdmApplicationState;
20 import eu.etaxonomy.cdm.config.CdmSourceException;
21 import eu.etaxonomy.taxeditor.remoting.server.CDMServerException;
22 import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo;
23 import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo.CdmInstanceInfo;
24
25 /**
26 * @author cmathew
27 * @date 26 Jan 2015
28 *
29 */
30
31 public class CdmServerInfoTest extends UnitilsJUnit4 {
32
33 @Test
34 public void pingServersTest() {
35 List<CdmServerInfo> servers = CdmServerInfo.getCdmServers();
36 for(CdmServerInfo server : servers) {
37 server.pingServer();
38 }
39 }
40
41
42 @Ignore // this should be targetting integration or production
43 @Test
44 public void pingInstancesTest() {
45 CdmServerInfo csii = new CdmServerInfo("edit-test", "test.e-taxonomy.eu", 8080);
46 try {
47 csii.refreshInstances();
48 List<CdmInstanceInfo> instances = csii.getInstances();
49 for(CdmInstanceInfo instance : instances) {
50 Assert.assertTrue(csii.pingInstance(instance, 8080));
51 }
52 } catch (CDMServerException e) {
53 Assert.fail("Execption should not be thrown here");
54 }
55 }
56
57 @Test
58 public void refreshWrongInstancesTest() {
59 CdmServerInfo wrongCsii = new CdmServerInfo("local", "local", 8080);
60 try {
61 wrongCsii.refreshInstances();
62 List<CdmInstanceInfo> instances = wrongCsii.getInstances();
63 Assert.fail("Execption should be thrown here");
64 } catch (CDMServerException e) {
65
66 }
67 }
68
69 @Ignore // this should be targetting integration or production
70 @Test
71 public void refreshInstancesTest() throws CDMServerException {
72 CdmServerInfo cdmServerInfo = new CdmServerInfo("edit-test", "test.e-taxonomy.eu", 8080);
73 cdmServerInfo.refreshInstances();
74 List<CdmInstanceInfo> instances = cdmServerInfo.getInstances();
75 Assert.assertTrue(instances != null && !instances.isEmpty());
76 }
77
78 @Test
79 public void compareCdmlibServicesVersionTest() throws CdmSourceException {
80 String editorVersion = CdmApplicationState.getCdmlibVersion();
81 String editorCdmlibLastModified = CdmApplicationState.getCdmlibLastModified();
82 Long editorCdmlibLastModifiedLong = Long.valueOf(editorCdmlibLastModified);
83
84 String[] editorVersionSplit = editorVersion.split("\\.");
85
86 Assert.assertEquals(0, CdmServerInfo.compareCdmlibServicesVersion(editorVersion, editorCdmlibLastModified));
87
88
89 int editorVersionMajor = Integer.valueOf(editorVersionSplit[0]);
90 int editorVersionMinor = Integer.valueOf(editorVersionSplit[1]);
91 int editorVersionPatch = Integer.valueOf(editorVersionSplit[2]);
92
93 String serverVersionMajorNew = String.valueOf(editorVersionMajor+1) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch);
94 Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMajorNew, editorCdmlibLastModified) > 0);
95
96 String serverVersionMinorNew = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor+1) + "." + String.valueOf(editorVersionPatch);
97 Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMinorNew, editorCdmlibLastModified) > 0);
98
99 String serverVersionPatchNew = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch+1);
100 Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionPatchNew, editorCdmlibLastModified) > 0);
101
102 String serverVersionMajorOld = String.valueOf(editorVersionMajor-1) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch);
103 Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMajorOld, editorCdmlibLastModified) < 0);
104
105 String serverVersionMinorOld = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor-1) + "." + String.valueOf(editorVersionPatch);
106 Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMinorOld, editorCdmlibLastModified) < 0);
107
108 String serverVersionPatchOld = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch-1);
109 Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionPatchOld, editorCdmlibLastModified) < 0);
110
111 String serverCdmlibLastModifiedNew = String.valueOf(editorCdmlibLastModifiedLong+1);
112 Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(editorVersion, serverCdmlibLastModifiedNew) > 0);
113
114 String serverCdmlibLastModifiedOld = String.valueOf(editorCdmlibLastModifiedLong-1);
115 Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(editorVersion, serverCdmlibLastModifiedOld) < 0);
116
117 }
118
119 @Test
120 public void convertToServerConfigTest() {
121
122
123 }
124 }