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..891fd819f7e706e6c1f25a47076dafdba1d06fea
--- /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": 3,      "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
index 138ca8a250ccf7627e9a76fbaf0e45d7c5454a58..55f27edd0d5ff22be3426c1efd9fa458a60c9a35 100644
--- a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java
+++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java
@@ -30,6 +30,7 @@ public class DatabaseHandlerTest
 		{
 			//init
 			Settings settings = Utils.loadSettings();
+			System.out.println(settings);
 			DatabaseHandler handler = new DatabaseHandler(settings);
 			handler.deleteDatabase();
 			handler = new DatabaseHandler(settings);			
diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..e07bcf7b99d8bd4f9eaedbfe4cee0ca302d4f94b
--- /dev/null
+++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportTest.java
@@ -0,0 +1,93 @@
+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.Paths;
+import java.util.ArrayList;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+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.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 DatabaseImportTest
+{			
+	private static DatabaseHandler databaseHandler;
+	
+	@BeforeClass
+	public static void init()
+	{
+		try
+		{
+			//init
+			Settings 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/export.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());
+		}		
+	}
+}
\ No newline at end of file