56 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			56 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')
 | 
