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):