diff --git a/src/main/java/de/thm/arsnova/config/ExtraConfig.java b/src/main/java/de/thm/arsnova/config/ExtraConfig.java index 4f02a379fb8348d1b6953eccc3fc725aa5953dbc..3295ed67e44a1ab788c6f61946fc34f769017367 100644 --- a/src/main/java/de/thm/arsnova/config/ExtraConfig.java +++ b/src/main/java/de/thm/arsnova/config/ExtraConfig.java @@ -1,8 +1,12 @@ package de.thm.arsnova.config; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.core.env.Environment; import org.springframework.core.io.ClassPathResource; @@ -11,13 +15,22 @@ import org.springframework.core.io.Resource; import de.thm.arsnova.connector.client.ConnectorClient; import de.thm.arsnova.connector.client.ConnectorClientImpl; +import de.thm.arsnova.socket.ARSnovaSocketIOServer; @Configuration public class ExtraConfig { + private final Logger LOGGER = LoggerFactory.getLogger(ExtraConfig.class); + @Autowired private Environment env; + @Value(value = "${socketio.ip}") private String socketIp; + @Value(value = "${socketio.port}") private int socketPort; + @Value(value = "${security.ssl}") private boolean socketUseSll; + @Value(value = "${security.keystore}") private String socketKeystore; + @Value(value = "${security.storepass}") private String socketStorepass; + @Bean public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer(); @@ -32,7 +45,7 @@ public class ExtraConfig { @Bean(name = "connectorClient") public ConnectorClient connectorClient() { - if (! "true".equals(env.getProperty("connector.enable"))) { + if (!"true".equals(env.getProperty("connector.enable"))) { return null; } @@ -42,4 +55,28 @@ public class ExtraConfig { connectorClient.setPassword(env.getProperty("connector.password")); return connectorClient; } + + @Profile("!test") + @Bean(name = "socketServer", initMethod = "startServer", destroyMethod = "stopServer") + public ARSnovaSocketIOServer socketServer() { + ARSnovaSocketIOServer socketServer = new ARSnovaSocketIOServer(); + socketServer.setHostIp(socketIp); + socketServer.setPortNumber(socketPort); + socketServer.setUseSSL(socketUseSll); + socketServer.setKeystore(socketKeystore); + socketServer.setStorepass(socketStorepass); + return socketServer; + } + + @Profile("test") + @Bean(name = "socketServer", initMethod = "startServer", destroyMethod = "stopServer") + public ARSnovaSocketIOServer socketTestServer() { + ARSnovaSocketIOServer socketServer = new ARSnovaSocketIOServer(); + socketServer.setHostIp(socketIp); + socketServer.setPortNumber(socketPort + 1234); + socketServer.setUseSSL(socketUseSll); + socketServer.setKeystore(socketKeystore); + socketServer.setStorepass(socketStorepass); + return socketServer; + } } diff --git a/src/main/webapp/WEB-INF/spring/spring-main.xml b/src/main/webapp/WEB-INF/spring/spring-main.xml index 31686a7ec970729b40b5f2063b216bb598ef45a5..d096984dd0b7ef10f52d8a19c0a18859e092bb23 100644 --- a/src/main/webapp/WEB-INF/spring/spring-main.xml +++ b/src/main/webapp/WEB-INF/spring/spring-main.xml @@ -33,11 +33,6 @@ <aop:include name="userSessionAspect" /> </aop:aspectj-autoproxy> - <bean id="socketServer" class="de.thm.arsnova.socket.ARSnovaSocketIOServer" - init-method="startServer" destroy-method="stopServer" scope="singleton" - p:portNumber="${socketio.port}" p:hostIp="${socketio.ip}" p:useSSL="${security.ssl}" - p:keystore="${security.keystore}" p:storepass="${security.storepass}" /> - <bean id="userSessionAspect" class="de.thm.arsnova.aop.UserSessionAspect" /> <bean id="userService" scope="singleton" class="de.thm.arsnova.services.UserService" /> diff --git a/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java b/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java index 091d39d795f659eef0190e511d473584e725e62d..671a7898c8ec41cb51ebfaef8e636db592d24e22 100644 --- a/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java +++ b/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java @@ -27,6 +27,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -42,6 +43,7 @@ import de.thm.arsnova.exceptions.NotFoundException; "file:src/main/webapp/WEB-INF/spring/spring-security.xml", "file:src/test/resources/test-config.xml" }) +@ActiveProfiles("test") public class FeedbackServiceTest { @Autowired @@ -75,7 +77,6 @@ public class FeedbackServiceTest { feedbackService.saveFeedback("87654321", 3, new TestUser("testuser36")); feedbackService.saveFeedback("87654321", 3, new TestUser("testuser37")); - feedbackService.saveFeedback("18273645", 0, new TestUser("testuser01")); feedbackService.saveFeedback("18273645", 0, new TestUser("testuser02")); feedbackService.saveFeedback("18273645", 1, new TestUser("testuser11")); diff --git a/src/test/java/de/thm/arsnova/services/QuestionServiceTest.java b/src/test/java/de/thm/arsnova/services/QuestionServiceTest.java index eefc6893b008b8af9f8d8b446d1374251c2a886a..64f8832bf9a9dc8f76cd656fa031550734eac0b0 100644 --- a/src/test/java/de/thm/arsnova/services/QuestionServiceTest.java +++ b/src/test/java/de/thm/arsnova/services/QuestionServiceTest.java @@ -34,6 +34,7 @@ import org.springframework.security.authentication.AuthenticationCredentialsNotF import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -50,6 +51,7 @@ import de.thm.arsnova.exceptions.NotFoundException; "file:src/main/webapp/WEB-INF/spring/spring-security.xml", "file:src/test/resources/test-config.xml" }) +@ActiveProfiles("test") public class QuestionServiceTest { @Autowired diff --git a/src/test/java/de/thm/arsnova/services/SessionServiceTest.java b/src/test/java/de/thm/arsnova/services/SessionServiceTest.java index 986a54f0134233d68aa4eac62b73afde1cedac7a..a01f239f73b591389fcfe1bf3a463f165bb671f7 100644 --- a/src/test/java/de/thm/arsnova/services/SessionServiceTest.java +++ b/src/test/java/de/thm/arsnova/services/SessionServiceTest.java @@ -41,6 +41,7 @@ import org.springframework.security.authentication.AuthenticationCredentialsNotF import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.util.ReflectionTestUtils; @@ -59,6 +60,7 @@ import de.thm.arsnova.exceptions.NotFoundException; "file:src/main/webapp/WEB-INF/spring/spring-security.xml", "file:src/test/resources/test-config.xml" }) +@ActiveProfiles("test") public class SessionServiceTest { @Autowired diff --git a/src/test/java/de/thm/arsnova/services/StatisticsServiceTest.java b/src/test/java/de/thm/arsnova/services/StatisticsServiceTest.java index aca18022ed34e7689481c67d3f15ca08ae4f0219..0e253786dc2bf70f46678b9f57990f7fdfba731f 100644 --- a/src/test/java/de/thm/arsnova/services/StatisticsServiceTest.java +++ b/src/test/java/de/thm/arsnova/services/StatisticsServiceTest.java @@ -11,6 +11,7 @@ import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -24,6 +25,7 @@ import de.thm.arsnova.entities.Statistics; "file:src/main/webapp/WEB-INF/spring/spring-security.xml", "file:src/test/resources/test-config.xml" }) +@ActiveProfiles("test") public class StatisticsServiceTest { @InjectMocks diff --git a/src/test/java/de/thm/arsnova/services/UserServiceTest.java b/src/test/java/de/thm/arsnova/services/UserServiceTest.java index 687e51cff33d70df1c7b99a77b73e0e5fad17733..e9b349ac539ffc2ecf14d6e9f71ca916b5130e56 100644 --- a/src/test/java/de/thm/arsnova/services/UserServiceTest.java +++ b/src/test/java/de/thm/arsnova/services/UserServiceTest.java @@ -24,10 +24,12 @@ import org.springframework.security.authentication.AnonymousAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.test.context.ActiveProfiles; import de.thm.arsnova.entities.User; @RunWith(BlockJUnit4ClassRunner.class) +@ActiveProfiles("test") public class UserServiceTest { private static final ConcurrentHashMap<UUID, User> socketid2user = new ConcurrentHashMap<UUID, User>();