2 * Copyright (C) 2014 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
9 package eu
.etaxonomy
.taxeditor
.httpinvoker
;
11 import org
.apache
.log4j
.Logger
;
12 import org
.junit
.Assert
;
13 import org
.junit
.Ignore
;
14 import org
.junit
.Test
;
15 import org
.springframework
.remoting
.RemoteAccessException
;
16 import org
.springframework
.security
.core
.context
.SecurityContext
;
17 import org
.springframework
.security
.core
.context
.SecurityContextHolder
;
19 import eu
.etaxonomy
.cdm
.api
.application
.CdmApplicationState
;
20 import eu
.etaxonomy
.cdm
.api
.service
.ITestService
;
21 import eu
.etaxonomy
.cdm
.config
.CdmSourceException
;
22 import eu
.etaxonomy
.cdm
.model
.description
.PolytomousKey
;
25 * Class to test the HttpInvoker services exposed by the CDM Sever
28 public class HttpInvokerServicesTest
extends BaseRemotingTest
{
29 private static final Logger logger
= Logger
.getLogger(HttpInvokerServicesTest
.class);
31 ITestService testService
= getRemoteApplicationController().getTestService();
34 public void whenCallingMethodsOnRemoteServicesThenSucceed() {
37 //getRemoteApplicationController().getDatabaseService();
38 String dbSchemaVersion
= getRemoteApplicationController().getDatabaseService().getDbSchemaVersion();
39 logger
.info("dbSchemaVersion is " + dbSchemaVersion
);
42 } catch (CdmSourceException e
) {
43 Assert
.fail("pinging database service on active cdm server should not have thrown CdmSourceException");
46 getRemoteApplicationController().getPolytomousKeyService().list(PolytomousKey
.class, null, null, null, null);
52 public void whenCallingMethodsOnRemoteServicesThenFailIfNotAuthenticated() {
54 SecurityContext context
= SecurityContextHolder
.getContext();
56 CdmApplicationState
.setCurrentSecurityContext(null);
58 getRemoteApplicationController().getPolytomousKeyService().list(PolytomousKey
.class, null, null, null, null);
59 Assert
.fail("service call should fail as it is not authenticated");
60 }catch (RemoteAccessException rae
) {
64 CdmApplicationState
.setCurrentSecurityContext(context
);
68 // should be kept at ignore and only used for manual testing
69 // otherwise tests will take too much time
72 public void testDisableReadTimeout() throws InterruptedException
{
73 testService
.waitFor((long) 120000.0);