From 59662cc3adc8cf6f44e2ee521f373490fe7d3e89 Mon Sep 17 00:00:00 2001
From: tobias <thinkdifferent055@gmail.com>
Date: Sat, 4 May 2019 20:34:39 +0200
Subject: [PATCH] #431 - switch to test folder for integration tests

---
 pom.xml                                       |  4 ++
 .../de/deadlocker8/budgetmaster/Main.java     | 51 ++++++++++++++-----
 .../de/deadlocker8/budgetmaster/RunMode.java  | 10 ++++
 .../budgetmaster/integration/ImportTest.java  |  2 +-
 4 files changed, 52 insertions(+), 15 deletions(-)
 create mode 100644 src/main/java/de/deadlocker8/budgetmaster/RunMode.java

diff --git a/pom.xml b/pom.xml
index bdfab3184..1ee44018f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -272,6 +272,10 @@
                 <configuration>
                     <junitArtifactName>junit:junit</junitArtifactName>
                     <argLine>-Dfile.encoding=UTF-8</argLine>
+
+                    <systemPropertyVariables>
+                        <test>true</test>
+                    </systemPropertyVariables>
                 </configuration>
             </plugin>
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/Main.java b/src/main/java/de/deadlocker8/budgetmaster/Main.java
index 4a059ba5a..09258d734 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/Main.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/Main.java
@@ -83,13 +83,29 @@ public class Main extends SpringBootServletInitializer implements ApplicationRun
 
 	public static Path getApplicationSupportFolder()
 	{
-		if(ProgramArgs.isDebug())
+		if(System.getProperties().contains("test"))
 		{
-			LOGGER.info("Starting in DEBUG Mode");
-			return SystemUtils.getApplicationSupportDirectoryPath(Localization.getString("folder"), "debug");
+			RunMode.currentRunMode = RunMode.TEST;
+		}
+		else if(ProgramArgs.isDebug())
+		{
+			RunMode.currentRunMode = RunMode.DEBUG;
 		}
 
-		return SystemUtils.getApplicationSupportDirectoryPath(Localization.getString("folder"));
+		switch(RunMode.currentRunMode)
+		{
+			case NORMAL:
+				LOGGER.info("Starting in NORMAL Mode");
+				return SystemUtils.getApplicationSupportDirectoryPath(Localization.getString("folder"));
+			case DEBUG:
+				LOGGER.info("Starting in DEBUG Mode");
+				return SystemUtils.getApplicationSupportDirectoryPath(Localization.getString("folder"), "debug");
+			case TEST:
+				LOGGER.info("Starting in TEST Mode");
+				return SystemUtils.getApplicationSupportDirectoryPath(Localization.getString("folder"), "test");
+			default:
+				return null;
+		}
 	}
 
 	public static void main(String[] args)
@@ -115,17 +131,24 @@ public class Main extends SpringBootServletInitializer implements ApplicationRun
 	{
 		Build build = Build.getInstance();
 		logAppInfo(build.getAppName(), build.getVersionName(), build.getVersionCode(), build.getVersionDate());
-		if(ProgramArgs.isDebug())
-		{
-			LOGGER.info("==================================");
-			LOGGER.info("+++ BUDGETMASTER DEBUG STARTED +++");
-			LOGGER.info("==================================");
-		}
-		else
+
+		switch(RunMode.currentRunMode)
 		{
-			LOGGER.info("=============================");
-			LOGGER.info("+++ BUDGETMASTER STARTED +++");
-			LOGGER.info("=============================");
+			case NORMAL:
+				LOGGER.info("=============================");
+				LOGGER.info("+++ BUDGETMASTER STARTED +++");
+				LOGGER.info("=============================");
+				break;
+			case DEBUG:
+				LOGGER.info("==================================");
+				LOGGER.info("+++ BUDGETMASTER DEBUG STARTED +++");
+				LOGGER.info("==================================");
+				break;
+			case TEST:
+				LOGGER.info("=================================");
+				LOGGER.info("+++ BUDGETMASTER TEST STARTED +++");
+				LOGGER.info("=================================");
+				break;
 		}
 	}
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/RunMode.java b/src/main/java/de/deadlocker8/budgetmaster/RunMode.java
new file mode 100644
index 000000000..94defc81d
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/RunMode.java
@@ -0,0 +1,10 @@
+package de.deadlocker8.budgetmaster;
+
+public enum RunMode
+{
+	NORMAL,
+	DEBUG,
+	TEST;
+
+	public static RunMode currentRunMode = NORMAL;
+}
diff --git a/src/test/java/de/deadlocker8/budgetmaster/integration/ImportTest.java b/src/test/java/de/deadlocker8/budgetmaster/integration/ImportTest.java
index 81c7d3509..80310361d 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/integration/ImportTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/integration/ImportTest.java
@@ -29,7 +29,7 @@ public class ImportTest
 	@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
 	@Autowired
 	private WebDriver driver;
-	private final static String BASE_URL = "https://localhost:";
+	private final static String BASE_URL = "http://localhost:";
 	private String url;
 
 	@LocalServerPort
-- 
GitLab