diff --git a/tests/test_command_line_parse.py b/tests/test_command_line_parse.py
new file mode 100755
index 0000000000000000000000000000000000000000..9461f92c082738576e71e6eb61d5c275d779d56a
--- /dev/null
+++ b/tests/test_command_line_parse.py
@@ -0,0 +1,114 @@
+#!/usr/bin/env python
+
+"""
+test_pacman-mirrors
+----------------------------------
+
+Tests for `pacman-mirrors` module.
+"""
+
+import unittest
+from unittest.mock import patch
+
+from pacman_mirrors.httpfn import HttpFn
+from pacman_mirrors.pacman_mirrors import PacmanMirrors
+from pacman_mirrors.mirrorfn import MirrorFn
+
+
+class TestCommandLineParse(unittest.TestCase):
+    """Pacman Mirrors Test suite"""
+    def setUp(self):
+        """Setup tests"""
+        pass
+
+    @patch("os.getuid")
+    def test_args_branch_unstable(self, mock_os_getuid):
+        """TEST: config[branch] from arg -b unstable"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-b", "unstable"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            app.command_line_parse()
+            assert app.config["branch"] == "unstable"
+
+    @patch("os.getuid")
+    def test_args_branch_testing(self, mock_os_getuid):
+        """TEST: config[branch] from arg -b testing"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-b", "testing"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            app.command_line_parse()
+            assert app.config["branch"] == "testing"
+
+    @patch("os.getuid")
+    def test_args_method(self, mock_os_getuid):
+        """TEST: config[method] from arg -m random"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-m", "random"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            app.command_line_parse()
+            assert app.config["method"] == "random"
+
+    @patch("os.getuid")
+    def test_args_mirrordir(self, mock_os_getuid):
+        """TEST: config[mirror_dir] from arg -d /another/dir"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-d", "/another/dir/"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            app.command_line_parse()
+            assert app.config["mirror_dir"] == "/another/dir/"
+
+    @patch("os.getuid")
+    def test_args_mirrorlist(self, mock_os_getuid):
+        """TEST: config[mirror_list] from arg -o /another/list"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-o", "/another/list"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            app.command_line_parse()
+            assert app.config["mirror_list"] == "/another/list"
+
+    @patch("os.getuid")
+    def test_args_onlycountry(self, mock_os_getuid):
+        """TEST: config[only_country] from arg -c France,Germany"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-c", "France,Germany"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            app.command_line_parse()
+            assert app.config["only_country"] == ["France", "Germany"]
+
+    @patch("os.getuid")
+    def test_args_geoip(self, mock_os_getuid):
+        """TEST: self.geoip from arg --geoip"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "--geoip"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            app.command_line_parse()
+            assert app.geoip is True
+
+    def tearDown(self):
+        """Tear down"""
+        pass
+
+
+if __name__ == "__main__":
+    unittest.main()
diff --git a/tests/test_default_config.py b/tests/test_default_config.py
new file mode 100755
index 0000000000000000000000000000000000000000..0f30acf844b225aa4b2b317da89c2339f7e313a6
--- /dev/null
+++ b/tests/test_default_config.py
@@ -0,0 +1,107 @@
+#!/usr/bin/env python
+
+"""
+test_pacman-mirrors
+----------------------------------
+
+Tests for `pacman-mirrors` module.
+"""
+
+import unittest
+from unittest.mock import patch
+
+from pacman_mirrors.httpfn import HttpFn
+from pacman_mirrors.pacman_mirrors import PacmanMirrors
+from pacman_mirrors.mirrorfn import MirrorFn
+
+
+class TestDefaultConfig(unittest.TestCase):
+    """Pacman Mirrors Test suite"""
+    def setUp(self):
+        """Setup tests"""
+        pass
+
+    @patch("os.getuid")
+    def test_default_branch(self, mock_os_getuid):
+        """TEST: config[branch] = stable"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-g"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            assert app.config["branch"] == "stable"
+
+    @patch("os.getuid")
+    def test_default_method(self, mock_os_getuid):
+        """TEST: config[method] = rank"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-g"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            assert app.config["method"] == "rank"
+
+    @patch("os.getuid")
+    def test_default_mirrordir(self, mock_os_getuid):
+        """TEST: config[mirror_dir] = mock/var/"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-g"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            assert app.config["mirror_dir"] == "mock/var/"
+
+    @patch("os.getuid")
+    def test_default_mirrorfile(self, mock_os_getuid):
+        """TEST: config[mirror_file] = mock/var/mirrors.json"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-g"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            assert app.config["mirror_file"] == "mock/var/mirrors.json"
+
+    @patch("os.getuid")
+    def test_default_mirrorlist(self, mock_os_getuid):
+        """TEST: config[mirror_list] = mock/etc/mirrorlist"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-g"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            assert app.config["mirror_list"] == "mock/etc/mirrorlist"
+
+    @patch("os.getuid")
+    def test_default_noupdate(self, mock_os_getuid):
+        """TEST: config[no_update] = False"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-g"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            assert app.config["no_update"] is False
+
+    @patch("os.getuid")
+    def test_default_onlycountry(self, mock_os_getuid):
+        """TEST: config[only_country] = []"""
+        mock_os_getuid.return_value = 0
+        with unittest.mock.patch("sys.argv",
+                                 ["pacman-mirrors",
+                                  "-g"]):
+            app = PacmanMirrors()
+            app.config = app.build_config()
+            assert app.config["only_country"] == []
+
+    def tearDown(self):
+        """Tear down"""
+        pass
+
+
+if __name__ == "__main__":
+    unittest.main()
diff --git a/tests/test_pacman_mirrors.py b/tests/test_pacman_mirrors.py
index 2bfe826b094c57923564d511bad69d981039a63e..44c52a1e5e6cd5aef25b61d5fb04dd68d4f3fa96 100755
--- a/tests/test_pacman_mirrors.py
+++ b/tests/test_pacman_mirrors.py
@@ -12,6 +12,7 @@ from unittest.mock import patch
 
 from pacman_mirrors.httpfn import HttpFn
 from pacman_mirrors.pacman_mirrors import PacmanMirrors
+from pacman_mirrors.mirrorfn import MirrorFn
 
 
 class TestPacmanMirrors(unittest.TestCase):
@@ -22,16 +23,16 @@ class TestPacmanMirrors(unittest.TestCase):
 
     @patch("os.getuid")
     def test_run(self, mock_os_getuid):
-        """Run pacman-mirrors"""
+        """TEST: pacman-mirrors -qc all -m random"""
         mock_os_getuid.return_value = 0
         with unittest.mock.patch("sys.argv",
                                  ["pacman-mirrors",
-                                  "-g",
-                                  "-c", "all",
+                                  "-qc", "all",
                                   "-m", "random"]):
             app = PacmanMirrors()
             app.config = app.build_config()
             app.command_line_parse()
+            # app.network = HttpFn.update_mirrors()
             app.load_all_mirrors()
             # actual generation
             if app.fasttrack:
@@ -44,23 +45,20 @@ class TestPacmanMirrors(unittest.TestCase):
 
     @patch("os.getuid")
     def test_run_country(self, mock_os_getuid):
-        """Single country from argument -c"""
+        """pacman-mirrors -c Germany"""
         mock_os_getuid.return_value = 0
         with unittest.mock.patch("sys.argv",
                                  ["pacman-mirrors",
-                                  "-g",
                                   "-c", "Germany"]):
             app = PacmanMirrors()
             app.config = app.build_config()
             app.command_line_parse()
-            app.network = HttpFn.update_mirrors()
             app.load_all_mirrors()
-
             assert app.config["only_country"] == ["Germany"]
 
     # @patch("os.getuid")
     # @patch.object(HttpFn, "get_geoip_country")
-    # def test_geoip_is_available(self, mock_geoip, mock_os_getuid):
+    # def test_geoip_available(self, mock_geoip, mock_os_getuid):
     #     """Geoip mirror country IS avaiable"""
     #     mock_os_getuid.return_value = 0
     #     mock_geoip.return_value = "France"
@@ -70,10 +68,10 @@ class TestPacmanMirrors(unittest.TestCase):
     #         app = PacmanMirrors()
     #         app.config = app.build_config()
     #         app.command_line_parse()
-    #         app.load_all_mirrors()
-    #
-    #         assert app.selected_countries == ["France"]
     #
+    #         country = HttpFn.get_geoip_country()
+    #         assert country == "Denmark"
+
     # @patch("os.getuid")
     # @patch.object(HttpFn, "get_geoip_country")
     # def test_geoip_not_available(self, mock_geoip, mock_os_getuid):