diff --git a/.classpath b/.classpath index d67069e9013636f5559574bddc8949f675e64448..f23826173add7f3f88b8ef7616a953d76408e784 100644 --- a/.classpath +++ b/.classpath @@ -6,6 +6,7 @@ <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> + <classpathentry kind="src" path="tests"/> <classpathentry combineaccessrules="false" kind="src" path="/_Tools"/> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> @@ -13,5 +14,6 @@ </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> <classpathentry kind="output" path="target/classes"/> </classpath> diff --git a/src/de/deadlocker8/budgetmasterserver/logic/DatabaseHandler.java b/src/de/deadlocker8/budgetmasterserver/logic/DatabaseHandler.java index e8b733ed5eba88e667dccad5fcddebbadd1b58e8..df7127f7e30ab6ab2a7732b24f9375b07b4a7880 100644 --- a/src/de/deadlocker8/budgetmasterserver/logic/DatabaseHandler.java +++ b/src/de/deadlocker8/budgetmasterserver/logic/DatabaseHandler.java @@ -805,6 +805,7 @@ public class DatabaseHandler } catch(SQLException e) { + e.printStackTrace(); Logger.error(e); } finally diff --git a/src/de/deadlocker8/budgetmasterserver/logic/Settings.java b/src/de/deadlocker8/budgetmasterserver/logic/Settings.java index 121ba938b3b45f8ab641e1b267e2b896a5777491..821531725dcb7c8f81ddbd9061dd996d052f135e 100644 --- a/src/de/deadlocker8/budgetmasterserver/logic/Settings.java +++ b/src/de/deadlocker8/budgetmasterserver/logic/Settings.java @@ -6,60 +6,164 @@ public class Settings private String databaseName; private String databaseUsername; private String databasePassword; - private int serverPort; + private int serverPort; private String serverSecret; private String keystorePath; private String keystorePassword; - + public Settings() { - + } - + public String getDatabaseUrl() { return databaseUrl; } + public void setDatabaseUrl(String databaseUrl) + { + this.databaseUrl = databaseUrl; + } + public String getDatabaseName() { return databaseName; } + public void setDatabaseName(String databaseName) + { + this.databaseName = databaseName; + } + public String getDatabaseUsername() { return databaseUsername; } + public void setDatabaseUsername(String databaseUsername) + { + this.databaseUsername = databaseUsername; + } + public String getDatabasePassword() { return databasePassword; } + public void setDatabasePassword(String databasePassword) + { + this.databasePassword = databasePassword; + } + public int getServerPort() { return serverPort; } + public void setServerPort(int serverPort) + { + this.serverPort = serverPort; + } + public String getServerSecret() { return serverSecret; } + public void setServerSecret(String serverSecret) + { + this.serverSecret = serverSecret; + } + public String getKeystorePath() { return keystorePath; } + public void setKeystorePath(String keystorePath) + { + this.keystorePath = keystorePath; + } + public String getKeystorePassword() { return keystorePassword; } + public void setKeystorePassword(String keystorePassword) + { + this.keystorePassword = keystorePassword; + } + @Override public String toString() { return "Settings [databaseUrl=" + databaseUrl + ", databaseName=" + databaseName + ", databaseUsername=" + databaseUsername + ", databasePassword=" + databasePassword + ", serverPort=" + serverPort + ", serverSecret=" + serverSecret + ", keystorePath=" + keystorePath + ", keystorePassword=" + keystorePassword + "]"; } + + @Override + public boolean equals(Object obj) + { + if(this == obj) + return true; + if(obj == null) + return false; + if(getClass() != obj.getClass()) + return false; + Settings other = (Settings)obj; + if(databaseName == null) + { + if(other.databaseName != null) + return false; + } + else if(!databaseName.equals(other.databaseName)) + return false; + if(databasePassword == null) + { + if(other.databasePassword != null) + return false; + } + else if(!databasePassword.equals(other.databasePassword)) + return false; + if(databaseUrl == null) + { + if(other.databaseUrl != null) + return false; + } + else if(!databaseUrl.equals(other.databaseUrl)) + return false; + if(databaseUsername == null) + { + if(other.databaseUsername != null) + return false; + } + else if(!databaseUsername.equals(other.databaseUsername)) + return false; + if(keystorePassword == null) + { + if(other.keystorePassword != null) + return false; + } + else if(!keystorePassword.equals(other.keystorePassword)) + return false; + if(keystorePath == null) + { + if(other.keystorePath != null) + return false; + } + else if(!keystorePath.equals(other.keystorePath)) + return false; + if(serverPort != other.serverPort) + return false; + if(serverSecret == null) + { + if(other.serverSecret != null) + return false; + } + else if(!serverSecret.equals(other.serverSecret)) + return false; + return true; + } } \ No newline at end of file diff --git a/tests/de/deadlocker8/budgetmaster/tests/resources/export.json b/tests/de/deadlocker8/budgetmaster/tests/resources/export.json new file mode 100644 index 0000000000000000000000000000000000000000..12515b0b63822774520696258cc0d14ecb525eff --- /dev/null +++ b/tests/de/deadlocker8/budgetmaster/tests/resources/export.json @@ -0,0 +1 @@ +{"categories":[{"ID":1,"name":"NONE","color":{"red":1.0,"green":1.0,"blue":1.0,"opacity":1.0}},{"ID":2,"name":"Übertrag","color":{"red":1.0,"green":1.0,"blue":0.0,"opacity":1.0}},{"ID":3,"name":"123 Tü+?est Category","color":{"red":0.9411765,"green":0.972549,"blue":1.0,"opacity":1.0}}],"normalPayments":[{"ID":1,"amount":23,"date":"2017-06-02","categoryID":0,"name":"Test Normal","description":"Lorem Ipsum"}],"repeatingPayments":[{"repeatInterval":7,"repeatEndDate":"2017-06-30","repeatMonthDay":0,"ID":1,"amount":-10012,"date":"2017-06-01","categoryID":1,"name":"Test Repeating","description":"Lorem Ipsum"}]} \ No newline at end of file diff --git a/tests/de/deadlocker8/budgetmaster/tests/resources/import.json b/tests/de/deadlocker8/budgetmaster/tests/resources/import.json new file mode 100644 index 0000000000000000000000000000000000000000..12515b0b63822774520696258cc0d14ecb525eff --- /dev/null +++ b/tests/de/deadlocker8/budgetmaster/tests/resources/import.json @@ -0,0 +1 @@ +{"categories":[{"ID":1,"name":"NONE","color":{"red":1.0,"green":1.0,"blue":1.0,"opacity":1.0}},{"ID":2,"name":"Übertrag","color":{"red":1.0,"green":1.0,"blue":0.0,"opacity":1.0}},{"ID":3,"name":"123 Tü+?est Category","color":{"red":0.9411765,"green":0.972549,"blue":1.0,"opacity":1.0}}],"normalPayments":[{"ID":1,"amount":23,"date":"2017-06-02","categoryID":0,"name":"Test Normal","description":"Lorem Ipsum"}],"repeatingPayments":[{"repeatInterval":7,"repeatEndDate":"2017-06-30","repeatMonthDay":0,"ID":1,"amount":-10012,"date":"2017-06-01","categoryID":1,"name":"Test Repeating","description":"Lorem Ipsum"}]} \ No newline at end of file diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java new file mode 100644 index 0000000000000000000000000000000000000000..94bd4b2ae7bb367ba5674c5b06e574c2623891ab --- /dev/null +++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java @@ -0,0 +1,257 @@ +package de.deadlocker8.budgetmaster.tests.server.database; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.io.IOException; +import java.net.URISyntaxException; +import java.util.ArrayList; + +import org.junit.BeforeClass; +import org.junit.Test; + +import de.deadlocker8.budgetmaster.logic.Category; +import de.deadlocker8.budgetmaster.logic.LatestRepeatingPayment; +import de.deadlocker8.budgetmaster.logic.NormalPayment; +import de.deadlocker8.budgetmaster.logic.RepeatingPayment; +import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler; +import de.deadlocker8.budgetmasterserver.logic.Settings; +import de.deadlocker8.budgetmasterserver.logic.Utils; +import javafx.scene.paint.Color; + +public class DatabaseHandlerTest +{ + private static DatabaseHandler databaseHandler; + + @BeforeClass + public static void init() + { + try + { + //init + Settings settings = Utils.loadSettings(); + System.out.println(settings); + DatabaseHandler handler = new DatabaseHandler(settings); + handler.deleteDatabase(); + handler = new DatabaseHandler(settings); + databaseHandler = handler; + } + catch(IOException | URISyntaxException e) + { + fail(e.getMessage()); + } + } + + @Test + public void testLastInsertID() + { + Category expected = new Category("123 Tü+?est Category", Color.ALICEBLUE); + databaseHandler.addCategory(expected.getName(), expected.getColor()); + //3 because "NONE" and "Übertrag" has already been inserted at database creation + assertEquals(3, databaseHandler.getLastInsertID()); + } + + @Test + public void testCategory() + { + //add + Category expected = new Category("123 Tü+?est Category", Color.ALICEBLUE); + databaseHandler.addCategory(expected.getName(), expected.getColor()); + ArrayList<Category> categories = databaseHandler.getCategories(); + + //get + Category category = databaseHandler.getCategory(categories.get(categories.size()-1).getID()); + assertEquals(expected.getName(), category.getName()); + assertEquals(expected.getColor(), category.getColor()); + + //update + Category expectedUpdated = new Category(category.getID(), "456", Color.RED); + databaseHandler.updateCategory(expectedUpdated.getID(), expectedUpdated.getName(), expectedUpdated.getColor()); + category = databaseHandler.getCategory(expectedUpdated.getID()); + assertEquals(expectedUpdated.getName(), category.getName()); + assertEquals(expectedUpdated.getColor(), category.getColor()); + + //misc + category = databaseHandler.getCategory("NONE", Color.web("#FFFFFF")); + assertEquals(1, category.getID()); + + assertTrue(databaseHandler.categoryExists(1)); + } + + @Test + public void testDeleteCategory() + { + //add + Category expected = new Category("123 Tü+?est Category", Color.ALICEBLUE); + databaseHandler.addCategory(expected.getName(), expected.getColor()); + + int id = databaseHandler.getLastInsertID(); + + databaseHandler.deleteCategory(id); + Category category = databaseHandler.getCategory(id); + + assertNull(category); + } + + @Test + public void testNormalPayment() + { + //add + NormalPayment expectedPayment = new NormalPayment(1, 1000, "2017-03-01", 2, "Buchung", "Lorem Ipsum"); + + databaseHandler.addNormalPayment(expectedPayment.getAmount(), + expectedPayment.getDate(), + expectedPayment.getCategoryID(), + expectedPayment.getName(), + expectedPayment.getDescription()); + + int id = databaseHandler.getLastInsertID(); + + //get + NormalPayment payment = databaseHandler.getPayment(id); + + assertEquals(expectedPayment.getAmount(), payment.getAmount()); + assertEquals(expectedPayment.getDate(), payment.getDate()); + assertEquals(expectedPayment.getCategoryID(), payment.getCategoryID()); + assertEquals(expectedPayment.getName(), payment.getName()); + assertEquals(expectedPayment.getDescription(), payment.getDescription()); + + //update + NormalPayment expectedUpdated = new NormalPayment(id, 2000, "2017-03-02", 1, "Buchung 2", "Lorem Ipsum"); + databaseHandler.updateNormalPayment(expectedUpdated.getID(), + expectedUpdated.getAmount(), + expectedUpdated.getDate(), + expectedUpdated.getCategoryID(), + expectedUpdated.getName(), + expectedUpdated.getDescription()); + + payment = databaseHandler.getPayment(id); + + assertEquals(expectedUpdated.getAmount(), payment.getAmount()); + assertEquals(expectedUpdated.getDate(), payment.getDate()); + assertEquals(expectedUpdated.getCategoryID(), payment.getCategoryID()); + assertEquals(expectedUpdated.getName(), payment.getName()); + assertEquals(expectedUpdated.getDescription(), payment.getDescription()); + + //misc + assertEquals(1, databaseHandler.getPayments(2017, 03).size()); + assertEquals(0, databaseHandler.getPayments(2015, 03).size()); + + assertEquals(1, databaseHandler.getPaymentsBetween("2016-01-01", "2018-01-01").size()); + assertEquals(0, databaseHandler.getPaymentsBetween("2018-01-01", "2019-01-01").size()); + } + + @Test + public void testDeleteNormalPayment() + { + //add + NormalPayment expectedPayment = new NormalPayment(1, 1000, "2017-03-01", 2, "Buchung", "Lorem Ipsum"); + + databaseHandler.addNormalPayment(expectedPayment.getAmount(), + expectedPayment.getDate(), + expectedPayment.getCategoryID(), + expectedPayment.getName(), + expectedPayment.getDescription()); + + int id = databaseHandler.getLastInsertID(); + + databaseHandler.deletePayment(id); + NormalPayment payment = databaseHandler.getPayment(id); + + assertNull(payment); + } + + @Test + public void testRepeatingPayment() + { + //add + RepeatingPayment expectedPayment = new RepeatingPayment(1, 1000, "2017-03-01", 2, "Buchung", "Lorem Ipsum", 0, null, 15); + + databaseHandler.addRepeatingPayment(expectedPayment.getAmount(), + expectedPayment.getDate(), + expectedPayment.getCategoryID(), + expectedPayment.getName(), + expectedPayment.getDescription(), + expectedPayment.getRepeatInterval(), + expectedPayment.getRepeatEndDate(), + expectedPayment.getRepeatMonthDay()); + //get + RepeatingPayment payment = databaseHandler.getRepeatingPayment(databaseHandler.getLastInsertID()); + + assertEquals(expectedPayment.getAmount(), payment.getAmount()); + assertEquals(expectedPayment.getDate(), payment.getDate()); + assertEquals(expectedPayment.getCategoryID(), payment.getCategoryID()); + assertEquals(expectedPayment.getName(), payment.getName()); + assertEquals(expectedPayment.getDescription(), payment.getDescription()); + assertEquals(expectedPayment.getRepeatInterval(), payment.getRepeatInterval()); + assertEquals(expectedPayment.getRepeatEndDate(), payment.getRepeatEndDate()); + assertEquals(expectedPayment.getRepeatMonthDay(), payment.getRepeatMonthDay()); + + //RepeatingPaymentEntry + databaseHandler.addRepeatingPaymentEntry(expectedPayment.getID(), "2017-03-15"); + ArrayList<LatestRepeatingPayment> latestPayments = databaseHandler.getLatestRepeatingPaymentEntries(); + assertEquals(1, latestPayments.size()); + assertEquals(expectedPayment.getID(), latestPayments.get(0).getRepeatingPaymentID()); + assertEquals("2017-03-15", latestPayments.get(0).getLastDate()); + + //misc + assertEquals(1, databaseHandler.getRepeatingPayments(2017, 03).size()); + assertEquals(0, databaseHandler.getRepeatingPayments(2015, 03).size()); + + assertEquals(1, databaseHandler.getRepeatingPaymentsBetween("2016-01-01", "2018-01-01").size()); + assertEquals(0, databaseHandler.getRepeatingPaymentsBetween("2018-01-01", "2019-01-01").size()); + + assertEquals(1, databaseHandler.getAllRepeatingPayments().size()); + } + + @Test + public void testDeleteRepeatingPayment() + { + RepeatingPayment expectedPayment = new RepeatingPayment(1, 1000, "2017-03-01", 2, "Buchung", "Lorem Ipsum", 0, null, 15); + + databaseHandler.addRepeatingPayment(expectedPayment.getAmount(), + expectedPayment.getDate(), + expectedPayment.getCategoryID(), + expectedPayment.getName(), + expectedPayment.getDescription(), + expectedPayment.getRepeatInterval(), + expectedPayment.getRepeatEndDate(), + expectedPayment.getRepeatMonthDay()); + + int id = databaseHandler.getLastInsertID(); + + databaseHandler.deleteRepeatingPayment(id); + RepeatingPayment payment = databaseHandler.getRepeatingPayment(id); + + assertNull(payment); + } + + @Test + public void testRest() + { + //add payments for previous months + NormalPayment expectedPayment = new NormalPayment(1, 1000, "2017-03-01", 2, "Buchung", "Lorem Ipsum"); + databaseHandler.addNormalPayment(expectedPayment.getAmount(), + expectedPayment.getDate(), + expectedPayment.getCategoryID(), + expectedPayment.getName(), + expectedPayment.getDescription()); + int idPayment1 = databaseHandler.getLastInsertID(); + + expectedPayment = new NormalPayment(2, -800, "2017-02-01", 2, "Buchung", "Lorem Ipsum"); + databaseHandler.addNormalPayment(expectedPayment.getAmount(), + expectedPayment.getDate(), + expectedPayment.getCategoryID(), + expectedPayment.getName(), + expectedPayment.getDescription()); + int idPayment2 = databaseHandler.getLastInsertID(); + + assertEquals(1000, databaseHandler.getRest(2017, 3)); + assertEquals(200, databaseHandler.getRestForAllPreviousMonths(2017, 4)); + + databaseHandler.deletePayment(idPayment1); + databaseHandler.deletePayment(idPayment2); + } +} \ No newline at end of file diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java new file mode 100644 index 0000000000000000000000000000000000000000..21eb640fe951be51244ec4a57e0b1812418c1bc7 --- /dev/null +++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java @@ -0,0 +1,130 @@ +package de.deadlocker8.budgetmaster.tests.server.database; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.ArrayList; + +import org.junit.BeforeClass; +import org.junit.Test; + +import com.google.gson.Gson; + +import de.deadlocker8.budgetmaster.logic.Category; +import de.deadlocker8.budgetmaster.logic.NormalPayment; +import de.deadlocker8.budgetmaster.logic.RepeatingPayment; +import de.deadlocker8.budgetmasterserver.logic.Database; +import de.deadlocker8.budgetmasterserver.logic.DatabaseExporter; +import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler; +import de.deadlocker8.budgetmasterserver.logic.DatabaseImporter; +import de.deadlocker8.budgetmasterserver.logic.Settings; +import de.deadlocker8.budgetmasterserver.logic.Utils; +import javafx.scene.paint.Color; + +public class DatabaseImportExportTest +{ + private static Settings settings; + private static DatabaseHandler databaseHandler; + + @BeforeClass + public static void init() + { + try + { + //init + settings = Utils.loadSettings(); + DatabaseHandler handler = new DatabaseHandler(settings); + handler.deleteDatabase(); + handler = new DatabaseHandler(settings); + databaseHandler = handler; + } + catch(IOException | URISyntaxException e) + { + fail(e.getMessage()); + } + } + + @Test + public void testImport() + { + try + { + File file = Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/import.json").toFile(); + Database database = de.deadlocker8.budgetmaster.logic.Utils.loadDatabaseJSON(file); + + DatabaseImporter importer = new DatabaseImporter(databaseHandler); + importer.importDatabase(database); + + //test category + Category expectedCategory = new Category(3, "123 Tü+?est Category", Color.ALICEBLUE); + ArrayList<Category> categories = databaseHandler.getCategories(); + + Category category = databaseHandler.getCategory(categories.get(categories.size()-1).getID()); + assertEquals(expectedCategory.getName(), category.getName()); + assertEquals(expectedCategory.getColor(), category.getColor()); + + //test normal payment + NormalPayment expectedPayment = new NormalPayment(1, 23, "2017-06-02", 0, "Test Normal", "Lorem Ipsum"); + NormalPayment payment = databaseHandler.getPayment(1); + assertEquals(expectedPayment.getAmount(), payment.getAmount()); + assertEquals(expectedPayment.getDate(), payment.getDate()); + assertEquals(expectedPayment.getCategoryID(), payment.getCategoryID()); + assertEquals(expectedPayment.getName(), payment.getName()); + assertEquals(expectedPayment.getDescription(), payment.getDescription()); + + //test repeating payment + RepeatingPayment expectedRepeatingPayment = new RepeatingPayment(1, -10012, "2017-06-01", 1, "Test Repeating", "Lorem Ipsum", 7, "2017-06-30", 0); + RepeatingPayment repeatingPayment = databaseHandler.getRepeatingPayment(1); + assertEquals(expectedRepeatingPayment.getAmount(), repeatingPayment.getAmount()); + assertEquals(expectedRepeatingPayment.getDate(), repeatingPayment.getDate()); + assertEquals(expectedRepeatingPayment.getCategoryID(), repeatingPayment.getCategoryID()); + assertEquals(expectedRepeatingPayment.getName(), repeatingPayment.getName()); + assertEquals(expectedRepeatingPayment.getDescription(), repeatingPayment.getDescription()); + assertEquals(expectedRepeatingPayment.getRepeatInterval(), repeatingPayment.getRepeatInterval()); + assertEquals(expectedRepeatingPayment.getRepeatEndDate(), repeatingPayment.getRepeatEndDate()); + assertEquals(expectedRepeatingPayment.getRepeatMonthDay(), repeatingPayment.getRepeatMonthDay()); + } + catch(Exception e) + { + e.printStackTrace(); + fail(e.getMessage()); + } + } + + @Test + public void testExport() + { + try + { + databaseHandler.deleteDatabase(); + databaseHandler = new DatabaseHandler(settings); + + File file = Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/import.json").toFile(); + Database database = de.deadlocker8.budgetmaster.logic.Utils.loadDatabaseJSON(file); + + DatabaseImporter importer = new DatabaseImporter(databaseHandler); + importer.importDatabase(database); + + file = Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/export.json").toFile(); + DatabaseExporter exporter = new DatabaseExporter(settings); + Gson gson = new Gson(); + String databaseJSON = gson.toJson(exporter.exportDatabase()); + de.deadlocker8.budgetmaster.logic.Utils.saveDatabaseJSON(file, databaseJSON); + + String expectedJSON = new String(Files.readAllBytes(Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/import.json"))); + String exportedJSON = new String(Files.readAllBytes(Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/export.json"))); + + assertEquals(expectedJSON, exportedJSON); + } + catch(Exception e) + { + e.printStackTrace(); + fail(e.getMessage()); + } + } +} \ No newline at end of file diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/settings/SettingsTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/settings/SettingsTest.java new file mode 100644 index 0000000000000000000000000000000000000000..6136a4ca9d728627d118e7ca9a2c84dce306c7ea --- /dev/null +++ b/tests/de/deadlocker8/budgetmaster/tests/server/settings/SettingsTest.java @@ -0,0 +1,40 @@ +package de.deadlocker8.budgetmaster.tests.server.settings; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +import java.io.IOException; +import java.net.URISyntaxException; + +import org.junit.Test; + +import de.deadlocker8.budgetmasterserver.logic.Settings; +import de.deadlocker8.budgetmasterserver.logic.Utils; + +public class SettingsTest +{ + @Test + public void testRead() + { + try + { + Settings settings = Utils.loadSettings(); + + Settings expectedSettings = new Settings(); + expectedSettings.setDatabaseName("b"); + expectedSettings.setDatabaseUrl("jdbc:mysql://localhost:3306/"); + expectedSettings.setDatabaseUsername("root"); + expectedSettings.setDatabasePassword(""); + expectedSettings.setServerPort(9000); + expectedSettings.setServerSecret("geheim"); + expectedSettings.setKeystorePath("C:/Programmierung/eclipse/workspace/BudgetMaster/certs/keystore_self_signed.jks"); + expectedSettings.setKeystorePassword("geheim"); + + assertEquals(expectedSettings, settings); + } + catch(IOException | URISyntaxException e) + { + fail(e.getMessage()); + } + } +} \ No newline at end of file