Project

General

Profile

« Previous | Next » 

Revision 7bc01856

Added by Cherian Mathew over 8 years ago

Add test for editor / server cdmlib version check

View differences:

eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmServerInfo.java
296 296
    }
297 297

  
298 298
    public int compareCdmlibServicesVersion() throws CdmSourceException {
299
        int result = 0;
299

  
300 300
        String serverVersion = cdmlibServicesVersion;
301
        String serverCdmlibLastModified = cdmlibServicesLastModified;
302

  
303
        return compareCdmlibServicesVersion(serverVersion, serverCdmlibLastModified);
304
    }
305

  
306

  
307
    /**
308
     * @param serverVersion
309
     * @param editorVersion
310
     * @throws CdmSourceException
311
     */
312
    public static int compareCdmlibServicesVersion(String serverVersion, String serverCdmlibLastModified) throws CdmSourceException {
313

  
301 314
        String editorVersion = CdmApplicationState.getCdmlibVersion();
315
        String editorCdmlibLastModified = CdmApplicationState.getCdmlibLastModified();
302 316

  
317
        int result = 0;
303 318
        if(StringUtils.isBlank(serverVersion) || StringUtils.isBlank(editorVersion)) {
304 319
            throw new CdmSourceException("cdmlib-services server or editor version is empty");
305 320
        }
......
325 340
        }
326 341
        // at this point major, minor and patch versions are matching
327 342

  
328
        if(StringUtils.isBlank(cdmlibServicesLastModified) || StringUtils.isBlank(CdmApplicationState.getCdmlibLastModified())) {
343
        if(StringUtils.isBlank(serverCdmlibLastModified) || StringUtils.isBlank(editorCdmlibLastModified)) {
329 344
            throw new CdmSourceException("cdmlib-services server or editor version is empty");
330 345
        }
331 346

  
332 347
        String cdmServerIgnoreVersion = System.getProperty("cdm.server.version.lm.ignore");
333 348
        if(StringUtils.isBlank(cdmServerIgnoreVersion) || !cdmServerIgnoreVersion.equals("true")) {
334
            Long serverLastModified = Long.valueOf(cdmlibServicesLastModified);
335
            Long editorLastModified = Long.valueOf(CdmApplicationState.getCdmlibLastModified());
349
            Long serverLastModified = Long.valueOf(serverCdmlibLastModified);
350
            Long editorLastModified = Long.valueOf(editorCdmlibLastModified);
336 351
            return serverLastModified.compareTo(editorLastModified);
337 352
        }
338 353

  
339 354
        return 0;
340

  
341 355
    }
342 356

  
357

  
358

  
343 359
    public static List<CdmServerInfo> getCdmServers() {
344 360
        if(cdmServerInfoList == null) {
345 361
            cdmServerInfoList = new ArrayList<CdmServerInfo>();
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/RemotingLoginDialog.java
84 84
    private final static String STATUS_NOT_COMPATIBLE = "Not Compatible";
85 85

  
86 86
    private final static String MESG_COMPATIBLE_EDITOR_OLD = "Please update the Taxonomic Editor (Help->Check for Updates) or choose a compatible cdm-server";
87
    private final static String MESG_COMPATIBLE_SERVER_OLD = "Please update the chosen cdm-server or choose a compatible cdm-server";
87
    private final static String MESG_COMPATIBLE_SERVER_OLD = "Please choose a compatible cdm-server or update the chosen cdm-server";
88 88

  
89 89
    private final static String STORE_PREFERENCES_NODE = "eu.etaxonomy.taxeditor.store";
90 90

  
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/ui/dialogs/CdmServerInfoTest.java
16 16
import org.junit.Test;
17 17
import org.unitils.UnitilsJUnit4;
18 18

  
19
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
20
import eu.etaxonomy.cdm.config.CdmSourceException;
19 21
import eu.etaxonomy.taxeditor.remoting.server.CDMServerException;
20 22
import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo;
21 23
import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo.CdmInstanceInfo;
......
73 75
        Assert.assertTrue(instances != null && !instances.isEmpty());
74 76
    }
75 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

  
76 119
    @Test
77 120
    public void convertToServerConfigTest() {
78 121

  

Also available in: Unified diff