62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
# -*- coding: utf-8; -*-
|
|
|
|
from unittest import TestCase
|
|
from unittest.mock import patch, MagicMock
|
|
|
|
from wuttamess import apt as mod
|
|
|
|
|
|
class TestDistUpgrade(TestCase):
|
|
|
|
def test_basic(self):
|
|
c = MagicMock()
|
|
with patch.object(mod, "update") as update:
|
|
with patch.object(mod, "upgrade") as upgrade:
|
|
mod.dist_upgrade(c, frontend="whatever")
|
|
update.assert_called_once_with(c)
|
|
upgrade.assert_called_once_with(
|
|
c, dist_upgrade=True, frontend="whatever"
|
|
)
|
|
|
|
|
|
class TestInstall(TestCase):
|
|
|
|
def test_basic(self):
|
|
c = MagicMock()
|
|
mod.install(c, "postfix")
|
|
c.run.assert_called_once_with(
|
|
"DEBIAN_FRONTEND=noninteractive apt-get --assume-yes install postfix"
|
|
)
|
|
|
|
|
|
class TestIsInstalled(TestCase):
|
|
|
|
def test_already_installed(self):
|
|
c = MagicMock()
|
|
c.run.return_value.ok = True
|
|
self.assertTrue(mod.is_installed(c, "postfix"))
|
|
c.run.assert_called_once_with("dpkg-query -s postfix", warn=True)
|
|
|
|
def test_not_installed(self):
|
|
c = MagicMock()
|
|
c.run.return_value.ok = False
|
|
self.assertFalse(mod.is_installed(c, "postfix"))
|
|
c.run.assert_called_once_with("dpkg-query -s postfix", warn=True)
|
|
|
|
|
|
class TestUpdate(TestCase):
|
|
|
|
def test_basic(self):
|
|
c = MagicMock()
|
|
mod.update(c)
|
|
c.run.assert_called_once_with("apt-get update")
|
|
|
|
|
|
class TestUpgrade(TestCase):
|
|
|
|
def test_basic(self):
|
|
c = MagicMock()
|
|
mod.upgrade(c)
|
|
c.run.assert_called_once_with(
|
|
'DEBIAN_FRONTEND=noninteractive apt-get --assume-yes --option Dpkg::Options::="--force-confdef" --option Dpkg::Options::="--force-confold" upgrade'
|
|
)
|