From 745646fc2c0ccf564d338cdcca7b6579c036624a Mon Sep 17 00:00:00 2001 From: Christoph Thelen <christoph.thelen@mni.thm.de> Date: Wed, 5 Jun 2019 13:32:27 +0200 Subject: [PATCH] Fix #41: Use test specific properties file --- .../java/de/thm/arsnova/config/AppConfigTest.java | 14 ++++++++++++++ .../java/de/thm/arsnova/config/TestAppConfig.java | 5 ++--- .../controller/JsonViewControllerAdviceTest.java | 10 +++++----- ...ies.example => arsnova.test.properties.example} | 2 +- 4 files changed, 22 insertions(+), 9 deletions(-) rename src/test/resources/{arsnova.properties.example => arsnova.test.properties.example} (99%) diff --git a/src/test/java/de/thm/arsnova/config/AppConfigTest.java b/src/test/java/de/thm/arsnova/config/AppConfigTest.java index 8c82e1ec3..fc210c35a 100644 --- a/src/test/java/de/thm/arsnova/config/AppConfigTest.java +++ b/src/test/java/de/thm/arsnova/config/AppConfigTest.java @@ -21,12 +21,17 @@ import de.thm.arsnova.connector.client.ConnectorClient; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; +import java.util.Arrays; +import java.util.List; + +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; @RunWith(SpringJUnit4ClassRunner.class) @@ -43,9 +48,18 @@ public class AppConfigTest extends AbstractJUnit4SpringContextTests { @Autowired(required = false) private ConnectorClient connectorClient; + @Value("${security.admin-accounts}") private String[] adminAccounts; + @Test public void testShouldNotLoadConnectorClientByDefault() { assertNull(connectorClient); } + @Test + public void testShouldUseAdminAccountFromTestPropertiesFile() { + List<String> expected = Arrays.asList("TestAdmin"); + List<String> actual = Arrays.asList(adminAccounts); + + assertEquals("Configuration did not load correct property file", expected, actual); + } } diff --git a/src/test/java/de/thm/arsnova/config/TestAppConfig.java b/src/test/java/de/thm/arsnova/config/TestAppConfig.java index 6d735cae0..036464233 100644 --- a/src/test/java/de/thm/arsnova/config/TestAppConfig.java +++ b/src/test/java/de/thm/arsnova/config/TestAppConfig.java @@ -59,9 +59,8 @@ import org.springframework.web.servlet.config.annotation.EnableWebMvc; @EnableSpringConfigured @EnableWebMvc @PropertySource( - value = {"classpath:arsnova.properties.example", "file:/etc/arsnova/arsnova.properties"}, - ignoreResourceNotFound = true, - encoding = "UTF-8" + value = "classpath:arsnova.test.properties.example", + encoding = "UTF-8" ) @Profile("test") public class TestAppConfig { diff --git a/src/test/java/de/thm/arsnova/controller/JsonViewControllerAdviceTest.java b/src/test/java/de/thm/arsnova/controller/JsonViewControllerAdviceTest.java index aefcfab55..18673cd53 100644 --- a/src/test/java/de/thm/arsnova/controller/JsonViewControllerAdviceTest.java +++ b/src/test/java/de/thm/arsnova/controller/JsonViewControllerAdviceTest.java @@ -98,7 +98,7 @@ public class JsonViewControllerAdviceTest { } @Test - @WithMockUser("Admin") + @WithMockUser("TestAdmin") public void testShouldSerializeAdminViewForAdmin() throws Exception { logger.info("Auth: {}", SecurityContextHolder.getContext().getAuthentication()); mockMvc.perform(get("/dummy/1?view=admin").accept(MediaType.APPLICATION_JSON)) @@ -107,7 +107,7 @@ public class JsonViewControllerAdviceTest { } @Test - @WithMockUser("Admin") + @WithMockUser("TestAdmin") public void testShouldSerializeOwnerViewForAdmin() throws Exception { logger.info("Auth: {}", SecurityContextHolder.getContext().getAuthentication()); mockMvc.perform(get("/dummy/1?view=owner").accept(MediaType.APPLICATION_JSON)) @@ -116,7 +116,7 @@ public class JsonViewControllerAdviceTest { } @Test - @WithMockUser("Admin") + @WithMockUser("TestAdmin") public void testAdminViewShouldContainAdminProperties() throws Exception { logger.info("Auth: {}", SecurityContextHolder.getContext().getAuthentication()); mockMvc.perform(get("/dummy/1?view=admin").accept(MediaType.APPLICATION_JSON)) @@ -127,7 +127,7 @@ public class JsonViewControllerAdviceTest { } @Test - @WithMockUser("Admin") + @WithMockUser("TestAdmin") public void testOwnerViewShouldContainOwnerProperties() throws Exception { logger.info("Auth: {}", SecurityContextHolder.getContext().getAuthentication()); mockMvc.perform(get("/dummy/1?view=owner").accept(MediaType.APPLICATION_JSON)) @@ -138,7 +138,7 @@ public class JsonViewControllerAdviceTest { } @Test - @WithMockUser("Admin") + @WithMockUser("TestAdmin") public void testDefaultViewShouldContainPublicProperties() throws Exception { logger.info("Auth: {}", SecurityContextHolder.getContext().getAuthentication()); mockMvc.perform(get("/dummy/1").accept(MediaType.APPLICATION_JSON)) diff --git a/src/test/resources/arsnova.properties.example b/src/test/resources/arsnova.test.properties.example similarity index 99% rename from src/test/resources/arsnova.properties.example rename to src/test/resources/arsnova.test.properties.example index b3d12297e..af4450aec 100644 --- a/src/test/resources/arsnova.properties.example +++ b/src/test/resources/arsnova.test.properties.example @@ -30,7 +30,7 @@ socketio.port=8090 # Admin accounts # Usernames of the accounts which are allowed to manage global messages of the # day. Multiple accounts are separated by commas. -security.admin-accounts=Admin +security.admin-accounts=TestAdmin ################################################################################ -- GitLab