Skip to content
Snippets Groups Projects
test_pacman_mirrors.py 1.5 KiB
Newer Older
FH's avatar
FH committed
#!/usr/bin/env python

"""
test_pacman-mirrors
----------------------------------

Tests for `pacman-mirrors` module.
"""

import unittest
from unittest.mock import patch

FH's avatar
FH committed
from pacman_mirrors.httpfn import HttpFn
from pacman_mirrors.pacman_mirrors import PacmanMirrors
from pacman_mirrors.configfn import ConfigFn
FH's avatar
FH committed
from pacman_mirrors.filefn import FileFn
FH's avatar
FH committed


class TestPacmanMirrors(unittest.TestCase):
    """Pacman Mirrors Test suite"""
    def setUp(self):
FH's avatar
FH committed
        """Setup tests"""
FH's avatar
FH committed
        pass

FH's avatar
FH committed
    @patch("os.getuid")
    def test_run(self, mock_os_getuid):
FH's avatar
FH committed
        """TEST: pacman-mirrors -qc all -m random"""
FH's avatar
FH committed
        mock_os_getuid.return_value = 0
        with unittest.mock.patch("sys.argv",
                                 ["pacman-mirrors",
FH's avatar
FH committed
                                  "-qc", "all",
FH's avatar
FH committed
                                  "-m", "random"]):
            app = PacmanMirrors()
            app.config = ConfigFn.build_config()
FH's avatar
FH committed
            app.command_line_parse()
FH's avatar
FH committed
            FileFn.dir_must_exist(app.config["mirror_dir"])
FH's avatar
FH committed
            app.network = HttpFn.update_mirrors()
FH's avatar
FH committed
            app.load_all_mirrors()
            # actual generation
            if app.fasttrack:
                app.build_fasttrack_mirror_list(app.fasttrack)
            else:
                if app.interactive:
                    app.build_interactive_mirror_list()
                else:
                    app.build_common_mirror_list()
FH's avatar
FH committed

FH's avatar
FH committed
    def tearDown(self):
FH's avatar
FH committed
        """Tear down"""
FH's avatar
FH committed
        pass


if __name__ == "__main__":
    unittest.main()