salt/tests/unit/modules/test_dpkg_lowpkg.py
Daniel Wallace 33bb5bfe69
fix use of virtualname
Make sure that the virtualname is included in the actual filename of
core modules.  This will help speed up loading of modules that need to
use the virtualname, so that we hit @depends decorators less.
2019-02-19 13:16:06 -06:00

105 lines
3.6 KiB
Python

# -*- coding: utf-8 -*-
'''
:codeauthor: Jayesh Kariya <jayeshk@saltstack.com>
'''
# Import Python libs
from __future__ import absolute_import, print_function, unicode_literals
# Import Salt Testing Libs
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.unit import TestCase, skipIf
from tests.support.mock import (
MagicMock,
patch,
NO_MOCK,
NO_MOCK_REASON
)
# Import Salt Libs
import salt.modules.dpkg_lowpkg as dpkg
@skipIf(NO_MOCK, NO_MOCK_REASON)
class DpkgTestCase(TestCase, LoaderModuleMockMixin):
'''
Test cases for salt.modules.dpkg
'''
def setup_loader_modules(self):
return {dpkg: {}}
# 'unpurge' function tests: 2
def test_unpurge(self):
'''
Test if it change package selection for each package
specified to 'install'
'''
mock = MagicMock(return_value=[])
with patch.dict(dpkg.__salt__, {'pkg.list_pkgs': mock,
'cmd.run': mock}):
self.assertDictEqual(dpkg.unpurge('curl'), {})
def test_unpurge_empty_package(self):
'''
Test if it change package selection for each package
specified to 'install'
'''
self.assertDictEqual(dpkg.unpurge(), {})
# 'list_pkgs' function tests: 1
def test_list_pkgs(self):
'''
Test if it lists the packages currently installed
'''
mock = MagicMock(return_value={'retcode': 0,
'stderr': '',
'stdout': 'Salt'})
with patch.dict(dpkg.__salt__, {'cmd.run_all': mock}):
self.assertDictEqual(dpkg.list_pkgs('httpd'), {})
mock = MagicMock(return_value={'retcode': 1,
'stderr': 'error',
'stdout': 'Salt'})
with patch.dict(dpkg.__salt__, {'cmd.run_all': mock}):
self.assertEqual(dpkg.list_pkgs('httpd'), 'Error: error')
# 'file_list' function tests: 1
def test_file_list(self):
'''
Test if it lists the files that belong to a package.
'''
mock = MagicMock(return_value={'retcode': 0,
'stderr': '',
'stdout': 'Salt'})
with patch.dict(dpkg.__salt__, {'cmd.run_all': mock}):
self.assertDictEqual(dpkg.file_list('httpd'),
{'errors': [], 'files': []})
mock = MagicMock(return_value={'retcode': 1,
'stderr': 'error',
'stdout': 'Salt'})
with patch.dict(dpkg.__salt__, {'cmd.run_all': mock}):
self.assertEqual(dpkg.file_list('httpd'), 'Error: error')
# 'file_dict' function tests: 1
def test_file_dict(self):
'''
Test if it lists the files that belong to a package, grouped by package
'''
mock = MagicMock(return_value={'retcode': 0,
'stderr': '',
'stdout': 'Salt'})
with patch.dict(dpkg.__salt__, {'cmd.run_all': mock}):
self.assertDictEqual(dpkg.file_dict('httpd'),
{'errors': [], 'packages': {}})
mock = MagicMock(return_value={'retcode': 1,
'stderr': 'error',
'stdout': 'Salt'})
with patch.dict(dpkg.__salt__, {'cmd.run_all': mock}):
self.assertEqual(dpkg.file_dict('httpd'), 'Error: error')