From 6f8dcf070ae6950f3b36fe011daadfa4e74a2c6f Mon Sep 17 00:00:00 2001 From: Benjamin Barth Date: Tue, 16 Apr 2019 11:47:56 +0200 Subject: [PATCH] Improved stability of Igtimi tests by ensuring proper set up and tear down of the global Activator instance --- .../domain/igtimiadapter/oauth/SignInTest.java | 6 ++++++ .../test/AbstractTestWithIgtimiConnection.java | 11 +++++++---- .../igtimiadapter/test/IgtimiFixTrackTest.java | 6 +----- .../igtimiadapter/websocket/WebSocketTest.java | 15 +++++++++++++++ 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/oauth/SignInTest.java b/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/oauth/SignInTest.java index e77d3b11ed2..53f5ac133d2 100755 --- a/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/oauth/SignInTest.java +++ b/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/oauth/SignInTest.java @@ -11,6 +11,7 @@ import javax.xml.parsers.ParserConfigurationException; import org.apache.http.client.ClientProtocolException; import org.json.simple.parser.ParseException; +import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -38,6 +39,11 @@ public class SignInTest { Activator.getInstance().setSecurityService(SecurityServiceMockFactory.mockSecurityService()); } + @After + public void tearDown() throws Exception { + Activator.getInstance().setSecurityService(null); + } + @Test public void testSimpleSignIn() throws ClientProtocolException, IOException, IllegalStateException, ParserConfigurationException, SAXException, ClassNotFoundException, InstantiationException, diff --git a/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/test/AbstractTestWithIgtimiConnection.java b/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/test/AbstractTestWithIgtimiConnection.java index 1aac328723f..1f0b12360ac 100755 --- a/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/test/AbstractTestWithIgtimiConnection.java +++ b/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/test/AbstractTestWithIgtimiConnection.java @@ -1,8 +1,6 @@ package com.sap.sailing.domain.igtimiadapter.test; -import java.io.IOException; - -import org.apache.http.client.ClientProtocolException; +import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.rules.Timeout; @@ -22,11 +20,16 @@ public class AbstractTestWithIgtimiConnection { @Before - public void setUp() throws ClientProtocolException, IOException, org.json.simple.parser.ParseException { + public void setUp() throws Exception { Activator.getInstance().setSecurityService(SecurityServiceMockFactory.mockSecurityService()); final IgtimiConnectionFactory connectionFactory = Activator.getInstance().getConnectionFactory(); Account account = connectionFactory.registerAccountForWhichClientIsAuthorized("admin", "9fded995cf21c8ed91ddaec13b220e8d5e44c65808d22ec2b1b7c32261121f26"); connection = connectionFactory.connect(account); } + @After + public void tearDown() throws Exception { + Activator.getInstance().setSecurityService(null); + } + } diff --git a/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/test/IgtimiFixTrackTest.java b/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/test/IgtimiFixTrackTest.java index 1ac7ea51531..213924237e3 100755 --- a/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/test/IgtimiFixTrackTest.java +++ b/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/test/IgtimiFixTrackTest.java @@ -4,8 +4,6 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import java.io.IOException; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.HashSet; import java.util.Locale; @@ -13,7 +11,6 @@ import java.util.Map; import java.util.Set; import java.util.logging.Logger; -import org.apache.http.client.ClientProtocolException; import org.junit.Test; import com.sap.sailing.domain.common.Wind; @@ -41,8 +38,7 @@ public class IgtimiFixTrackTest extends AbstractTestWithIgtimiConnection { private static final Logger logger = Logger.getLogger(IgtimiFixTrackTest.class.getName()); @Test - public void testFetchFixesIntoTracks() throws ParseException, ClientProtocolException, IllegalStateException, IOException, org.json.simple.parser.ParseException { - setUp(); + public void testFetchFixesIntoTracks() throws Exception { final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX", Locale.GERMAN); TimePoint start = new MillisecondsTimePoint(dateFormat.parse("2013-11-09T07:00:00Z")); TimePoint end = new MillisecondsTimePoint(dateFormat.parse("2013-11-09T07:10:00Z")); diff --git a/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/websocket/WebSocketTest.java b/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/websocket/WebSocketTest.java index e037987c24c..61d16c2e709 100755 --- a/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/websocket/WebSocketTest.java +++ b/java/com.sap.sailing.domain.igtimiadapter.test/src/com/sap/sailing/domain/igtimiadapter/websocket/WebSocketTest.java @@ -19,6 +19,7 @@ import java.util.concurrent.TimeoutException; import java.util.logging.Level; import java.util.logging.Logger; +import org.apache.http.client.ClientProtocolException; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.StatusCode; import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose; @@ -28,6 +29,8 @@ import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage; import org.eclipse.jetty.websocket.api.annotations.WebSocket; import org.eclipse.jetty.websocket.client.ClientUpgradeRequest; import org.eclipse.jetty.websocket.client.WebSocketClient; +import org.junit.After; +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.Timeout; @@ -39,12 +42,14 @@ import com.sap.sailing.domain.igtimiadapter.IgtimiConnection; import com.sap.sailing.domain.igtimiadapter.IgtimiConnectionFactory; import com.sap.sailing.domain.igtimiadapter.LiveDataConnection; import com.sap.sailing.domain.igtimiadapter.datatypes.Fix; +import com.sap.sailing.domain.igtimiadapter.impl.Activator; import com.sap.sailing.domain.igtimiadapter.impl.ClientImpl; import com.sap.sailing.domain.igtimiadapter.impl.IgtimiConnectionFactoryImpl; import com.sap.sailing.domain.igtimiadapter.persistence.PersistenceFactory; import com.sap.sse.common.Util; import com.sap.sse.mongodb.MongoDBConfiguration; import com.sap.sse.mongodb.MongoDBService; +import com.sap.sse.security.testsupport.SecurityServiceMockFactory; public class WebSocketTest { private static final Logger logger = Logger.getLogger(WebSocketTest.class.getName()); @@ -116,6 +121,16 @@ public class WebSocketTest { } } + @Before + public void setUp() throws ClientProtocolException, IOException, org.json.simple.parser.ParseException { + Activator.getInstance().setSecurityService(SecurityServiceMockFactory.mockSecurityService()); + } + + @After + public void tearDown() throws Exception { + Activator.getInstance().setSecurityService(null); + } + @Test public void simpleWebSocketEchoTest() throws Exception { String destUri = "ws://echo.websocket.org"; // wss currently doesn't seem to work with Jetty 9.0.4 WebSocket implementation