Merge branch 'hotfix/3.12.3'
[taxeditor.git] / eu.etaxonomy.taxeditor.test / src / test / java / eu / etaxonomy / taxeditor / ui / dialogs / CdmServerInfoTest.java
index 15dd69ba4a3f928d5d21561454347831c33a2249..d1eb71224b53c4e9a6fd04adada6e3ddf63e5c58 100644 (file)
@@ -12,9 +12,12 @@ package eu.etaxonomy.taxeditor.ui.dialogs;
 import java.util.List;
 
 import org.junit.Assert;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.unitils.UnitilsJUnit4;
 
+import eu.etaxonomy.cdm.api.application.CdmApplicationState;
+import eu.etaxonomy.cdm.config.CdmSourceException;
 import eu.etaxonomy.taxeditor.remoting.server.CDMServerException;
 import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo;
 import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo.CdmInstanceInfo;
@@ -24,6 +27,7 @@ import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo.CdmInstanceInfo;
  * @date 26 Jan 2015
  *
  */
+
 public class CdmServerInfoTest extends UnitilsJUnit4 {
 
     @Test
@@ -34,14 +38,16 @@ public class CdmServerInfoTest extends UnitilsJUnit4 {
         }
     }
 
+
+    @Ignore // this should be targetting integration or production
     @Test
     public void pingInstancesTest() {
-        CdmServerInfo csii = new CdmServerInfo("localhost", "localhost", 8080);
+        CdmServerInfo csii = new CdmServerInfo("edit-test", "test.e-taxonomy.eu", 8080, "cdmserver/", false);
         try {
             csii.refreshInstances();
             List<CdmInstanceInfo> instances = csii.getInstances();
             for(CdmInstanceInfo instance : instances) {
-                Assert.assertTrue(csii.pingInstance(instance));
+                Assert.assertTrue(csii.pingInstance(instance, 8080));
             }
         } catch (CDMServerException e) {
             Assert.fail("Execption should not be thrown here");
@@ -50,14 +56,69 @@ public class CdmServerInfoTest extends UnitilsJUnit4 {
 
     @Test
     public void refreshWrongInstancesTest() {
-        CdmServerInfo wrongCsii = new CdmServerInfo("local", "local", 8080);
+        CdmServerInfo wrongCsii = new CdmServerInfo("local", "local", 8080, "noserver", false);
         try {
             wrongCsii.refreshInstances();
             List<CdmInstanceInfo> instances = wrongCsii.getInstances();
             Assert.fail("Execption should be thrown here");
         } catch (CDMServerException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
+
         }
     }
+
+    @Ignore // this should be targetting integration or production
+    @Test
+    public void refreshInstancesTest() throws CDMServerException {
+        CdmServerInfo cdmServerInfo = new CdmServerInfo("edit-test", "test.e-taxonomy.eu", 8080, "cdmserver/", false);
+        cdmServerInfo.refreshInstances();
+        List<CdmInstanceInfo> instances = cdmServerInfo.getInstances();
+        Assert.assertTrue(instances != null && !instances.isEmpty());
+    }
+
+    @Test
+    public void compareCdmlibServicesVersionTest() throws CdmSourceException {
+        String editorVersion = CdmApplicationState.getCdmlibVersion();
+        String editorCdmlibLastModified = CdmApplicationState.getCdmlibLastModified();
+        Long editorCdmlibLastModifiedLong = Long.valueOf(editorCdmlibLastModified);
+
+        String[] editorVersionSplit = editorVersion.split("\\.");
+
+        Assert.assertEquals(0, CdmServerInfo.compareCdmlibServicesVersion(editorVersion, editorCdmlibLastModified));
+
+
+        int editorVersionMajor = Integer.valueOf(editorVersionSplit[0]);
+        int editorVersionMinor = Integer.valueOf(editorVersionSplit[1]);
+        int editorVersionPatch = Integer.valueOf(editorVersionSplit[2]);
+
+        String serverVersionMajorNew = String.valueOf(editorVersionMajor+1) + "." + String.valueOf(editorVersionMinor) + "." +  String.valueOf(editorVersionPatch);
+        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMajorNew, editorCdmlibLastModified) > 0);
+
+        String serverVersionMinorNew = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor+1) + "." + String.valueOf(editorVersionPatch);
+        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMinorNew, editorCdmlibLastModified) > 0);
+
+        String serverVersionPatchNew = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch+1);
+        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionPatchNew, editorCdmlibLastModified) > 0);
+
+        String serverVersionMajorOld = String.valueOf(editorVersionMajor-1) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch);
+        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMajorOld, editorCdmlibLastModified) < 0);
+
+        String serverVersionMinorOld = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor-1) + "." + String.valueOf(editorVersionPatch);
+        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMinorOld, editorCdmlibLastModified) < 0);
+
+        String serverVersionPatchOld = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch-1);
+        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionPatchOld, editorCdmlibLastModified) < 0);
+
+        String serverCdmlibLastModifiedNew = String.valueOf(editorCdmlibLastModifiedLong+1);
+        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(editorVersion, serverCdmlibLastModifiedNew) > 0);
+
+        String serverCdmlibLastModifiedOld = String.valueOf(editorCdmlibLastModifiedLong-1);
+        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(editorVersion, serverCdmlibLastModifiedOld) < 0);
+
+    }
+
+    @Test
+    public void convertToServerConfigTest() {
+
+
+    }
 }