diff --git a/tests/de/deadlocker8/budgetmaster/tests/resources/export.json b/tests/de/deadlocker8/budgetmaster/tests/resources/export.json index 891fd819f7e706e6c1f25a47076dafdba1d06fea..73b25d2749c63d8c4f581b686e66c233fd0e2e9a 100644 --- a/tests/de/deadlocker8/budgetmaster/tests/resources/export.json +++ b/tests/de/deadlocker8/budgetmaster/tests/resources/export.json @@ -1 +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": 3, "amount": -10012, "date": "2017-06-01", "categoryID": 1, "name": "Test Repeating", "description": "Lorem Ipsum" } ]} \ No newline at end of file +{"categories":[{"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}},{"ID":4,"name":"123 Tü+?est Category","color":{"red":0.9411765,"green":0.972549,"blue":1.0,"opacity":1.0}}],"normalPayments":[],"repeatingPayments":[]} \ 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/DatabaseExportTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseExportTest.java new file mode 100644 index 0000000000000000000000000000000000000000..04722b374764fbbfb7c74a89020fde77ab4df878 --- /dev/null +++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseExportTest.java @@ -0,0 +1,60 @@ +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 org.junit.BeforeClass; +import org.junit.Test; + +import com.google.gson.Gson; + +import de.deadlocker8.budgetmasterserver.logic.DatabaseExporter; +import de.deadlocker8.budgetmasterserver.logic.Settings; +import de.deadlocker8.budgetmasterserver.logic.Utils; + +public class DatabaseExportTest +{ + private static Settings settings; + + @BeforeClass + public static void init() + { + try + { + //init + settings = Utils.loadSettings(); + } + catch(IOException | URISyntaxException e) + { + fail(e.getMessage()); + } + } + + @Test + public void testExport() + { + try + { + File 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/database/DatabaseImportTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportTest.java index e07bcf7b99d8bd4f9eaedbfe4cee0ca302d4f94b..c4c2dce82554b96ec962925925f001e2b6297947 100644 --- a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportTest.java +++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportTest.java @@ -49,7 +49,7 @@ public class DatabaseImportTest { try { - File file = Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/export.json").toFile(); + 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);