Project

General

Profile

Download (5.87 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * Copyright (C) 2015 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.ui.dialogs;
10

    
11
import java.util.List;
12

    
13
import org.junit.Assert;
14
import org.junit.Ignore;
15
import org.junit.Test;
16
import org.unitils.UnitilsJUnit4;
17

    
18
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
19
import eu.etaxonomy.cdm.config.CdmSourceException;
20
import eu.etaxonomy.taxeditor.remoting.server.CdmServerException;
21
import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo;
22
import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo.CdmInstanceInfo;
23
import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfoConfig;
24

    
25
/**
26
 * @author cmathew
27
 * @date 26 Jan 2015
28
 */
29
public class CdmServerInfoTest extends UnitilsJUnit4 {
30

    
31
    @Test
32
    public void pingServersTest() {
33
        List<CdmServerInfo> servers = CdmServerInfo.getCdmServers(false);
34
        for(CdmServerInfo server : servers) {
35
            if(server.getServer().equals("localhost")){
36
                //no need to test ping localhost
37
                continue;
38
            }
39
            try {
40
                server.pingServer();
41
            } catch (Exception e) {
42
                System.out.println();
43
                throw new RuntimeException("Pinging server " + server.getServer() + " was not successful.", e);
44
            }
45
        }
46
    }
47

    
48
    @Ignore // this should be targeting integration or production
49
    @Test
50
    public void pingInstancesTest() {
51
        CdmServerInfo csii = new CdmServerInfo(new CdmServerInfoConfig("edit-test", "test.e-taxonomy.eu", 8080, "cdmserver/", false));
52
        try {
53
            csii.refreshInstances();
54
            List<CdmInstanceInfo> instances = csii.getInstances();
55
            for(CdmInstanceInfo instance : instances) {
56
                Assert.assertTrue(csii.pingInstance(instance, 8080));
57
            }
58
        } catch (CdmServerException e) {
59
            Assert.fail("Execption should not be thrown here");
60
        }
61
    }
62

    
63
    @Test
64
    public void refreshWrongInstancesTest() {
65
        CdmServerInfo wrongCsii = new CdmServerInfo(new CdmServerInfoConfig("local", "local", 8080, "noserver", false));
66
        try {
67
            wrongCsii.refreshInstances();
68
            List<CdmInstanceInfo> instances = wrongCsii.getInstances();
69
            Assert.fail("Execption should be thrown here");
70
        } catch (CdmServerException e) {
71

    
72
        }
73
    }
74

    
75
    @Ignore // this should be targeting integration or production
76
    @Test
77
    public void refreshInstancesTest() throws CdmServerException {
78
        CdmServerInfo cdmServerInfo = new CdmServerInfo(new CdmServerInfoConfig("edit-test", "test.e-taxonomy.eu", 8080, "cdmserver/", false));
79
        cdmServerInfo.refreshInstances();
80
        List<CdmInstanceInfo> instances = cdmServerInfo.getInstances();
81
        Assert.assertTrue(instances != null && !instances.isEmpty());
82
    }
83

    
84
    @Test
85
    public void compareCdmlibServicesVersionTest() throws CdmSourceException {
86
        String editorVersion = CdmApplicationState.getCdmlibVersion();
87
        String editorCdmlibLastModified = CdmApplicationState.getCdmlibLastModified();
88
        Long editorCdmlibLastModifiedLong = Long.valueOf(editorCdmlibLastModified);
89

    
90
        String[] editorVersionSplit = editorVersion.split("\\.");
91

    
92
        Assert.assertEquals(0, CdmServerInfo.compareCdmlibServicesVersion(editorVersion, editorCdmlibLastModified));
93

    
94

    
95
        int editorVersionMajor = Integer.valueOf(editorVersionSplit[0]);
96
        int editorVersionMinor = Integer.valueOf(editorVersionSplit[1]);
97
        int editorVersionPatch = Integer.valueOf(editorVersionSplit[2]);
98

    
99
        String serverVersionMajorNew = String.valueOf(editorVersionMajor+1) + "." + String.valueOf(editorVersionMinor) + "." +  String.valueOf(editorVersionPatch);
100
        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMajorNew, editorCdmlibLastModified) > 0);
101

    
102
        String serverVersionMinorNew = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor+1) + "." + String.valueOf(editorVersionPatch);
103
        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMinorNew, editorCdmlibLastModified) > 0);
104

    
105
        String serverVersionPatchNew = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch+1);
106
        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionPatchNew, editorCdmlibLastModified) > 0);
107

    
108
        String serverVersionMajorOld = String.valueOf(editorVersionMajor-1) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch);
109
        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMajorOld, editorCdmlibLastModified) < 0);
110

    
111
        String serverVersionMinorOld = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor-1) + "." + String.valueOf(editorVersionPatch);
112
        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMinorOld, editorCdmlibLastModified) < 0);
113

    
114
        String serverVersionPatchOld = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch-1);
115
        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionPatchOld, editorCdmlibLastModified) < 0);
116

    
117
        String serverCdmlibLastModifiedNew = String.valueOf(editorCdmlibLastModifiedLong+1);
118
        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(editorVersion, serverCdmlibLastModifiedNew) > 0);
119

    
120
        String serverCdmlibLastModifiedOld = String.valueOf(editorCdmlibLastModifiedLong-1);
121
        Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(editorVersion, serverCdmlibLastModifiedOld) < 0);
122

    
123
    }
124

    
125
    @Test
126
    public void convertToServerConfigTest() {
127

    
128

    
129
    }
130
}
(1-1/2)