Esempio n. 1
0
def test_call_apt_with_kwargs():
    """
    Call apt with the optinal keyword arguments.
    :return:
    """
    with patch.dict(
            aptpkg.__salt__,
        {
            "cmd.run_all": MagicMock(),
            "config.get": MagicMock(return_value=False)
        },
    ):
        aptpkg._call_apt(
            ["dpkg", "-l", "python"],
            python_shell=True,
            output_loglevel="quiet",
            ignore_retcode=False,
            username="******",
        )  # pylint: disable=W0106
        aptpkg.__salt__["cmd.run_all"].assert_called_once_with(
            ["dpkg", "-l", "python"],
            env={},
            ignore_retcode=False,
            output_loglevel="quiet",
            python_shell=True,
            username="******",
        )
Esempio n. 2
0
def test_call_apt_in_scope():
    """
    Call apt within the scope.
    :return:
    """
    with patch.dict(
            aptpkg.__salt__,
        {
            "cmd.run_all": MagicMock(),
            "config.get": MagicMock(return_value=True)
        },
    ):
        aptpkg._call_apt(["apt-get", "purge", "vim"])  # pylint: disable=W0106
        aptpkg.__salt__["cmd.run_all"].assert_called_once_with(
            [
                "systemd-run",
                "--scope",
                "--description",
                '"salt.modules.aptpkg"',
                "apt-get",
                "purge",
                "vim",
            ],
            env={},
            output_loglevel="trace",
            python_shell=False,
        )
Esempio n. 3
0
def test_call_apt_dpkg_lock():
    """
    Call apt and ensure the dpkg locking is handled
    :return:
    """
    cmd_side_effect = [
        {
            "stderr": "Could not get lock"
        },
        {
            "stderr": "Could not get lock"
        },
        {
            "stderr": "Could not get lock"
        },
        {
            "stderr": "Could not get lock"
        },
        {
            "stderr": "",
            "stdout": ""
        },
    ]

    cmd_mock = MagicMock(side_effect=cmd_side_effect)
    cmd_call = (call(
        ["dpkg", "-l", "python"],
        env={},
        ignore_retcode=False,
        output_loglevel="quiet",
        python_shell=True,
        username="******",
    ), )
    expected_calls = [cmd_call * 5]

    with patch.dict(
            aptpkg.__salt__,
        {
            "cmd.run_all": cmd_mock,
            "config.get": MagicMock(return_value=False)
        },
    ):
        with patch("salt.modules.aptpkg.time.sleep",
                   MagicMock()) as sleep_mock:
            aptpkg._call_apt(
                ["dpkg", "-l", "python"],
                python_shell=True,
                output_loglevel="quiet",
                ignore_retcode=False,
                username="******",
            )  # pylint: disable=W0106

            # We should have sleept at least 4 times
            assert sleep_mock.call_count >= 4

            # We should attempt to call the cmd 5 times
            assert cmd_mock.call_count == 5
            cmd_mock.has_calls(expected_calls)
Esempio n. 4
0
 def test_call_apt_in_scope(self):
     '''
     Call apt within the scope.
     :return:
     '''
     with patch.dict(aptpkg.__salt__, {'cmd.run_all': MagicMock(), 'config.get': MagicMock(return_value=True)}):
         aptpkg._call_apt(['apt-get', 'purge', 'vim'])  # pylint: disable=W0106
         aptpkg.__salt__['cmd.run_all'].assert_called_once_with(
             ['systemd-run', '--scope', '--description', '"salt.modules.aptpkg"', 'apt-get', 'purge', 'vim'], env={},
             output_loglevel='trace', python_shell=False)
Esempio n. 5
0
 def test_call_apt_default(self):
     '''
     Call default apt.
     :return:
     '''
     with patch.dict(aptpkg.__salt__, {'cmd.run_all': MagicMock(), 'config.get': MagicMock(return_value=False)}):
         aptpkg._call_apt(['apt-get', 'install', 'emacs'])  # pylint: disable=W0106
         aptpkg.__salt__['cmd.run_all'].assert_called_once_with(
             ['apt-get', 'install', 'emacs'], env={},
             output_loglevel='trace', python_shell=False)
Esempio n. 6
0
 def test_call_apt_with_kwargs(self):
     '''
     Call apt with the optinal keyword arguments.
     :return:
     '''
     with patch.dict(aptpkg.__salt__, {'cmd.run_all': MagicMock(), 'config.get': MagicMock(return_value=False)}):
         aptpkg._call_apt(['dpkg', '-l', 'python'],
                          python_shell=True, output_loglevel='quiet', ignore_retcode=False,
                          username='******')  # pylint: disable=W0106
         aptpkg.__salt__['cmd.run_all'].assert_called_once_with(
             ['dpkg', '-l', 'python'], env={}, ignore_retcode=False,
             output_loglevel='quiet', python_shell=True, username='******')
Esempio n. 7
0
 def test_call_apt_default(self):
     """
     Call default apt.
     :return:
     """
     with patch.dict(
         aptpkg.__salt__,
         {"cmd.run_all": MagicMock(), "config.get": MagicMock(return_value=False)},
     ):
         aptpkg._call_apt(["apt-get", "install", "emacs"])  # pylint: disable=W0106
         aptpkg.__salt__["cmd.run_all"].assert_called_once_with(
             ["apt-get", "install", "emacs"],
             env={},
             output_loglevel="trace",
             python_shell=False,
         )