mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 08:58:59 +00:00
adding states/debconfmod unit test case
This commit is contained in:
parent
04078927e1
commit
0e5f4a7087
93
tests/unit/states/debconfmod_test.py
Normal file
93
tests/unit/states/debconfmod_test.py
Normal file
@ -0,0 +1,93 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
'''
|
||||
:codeauthor: :email:`Jayesh Kariya <jayeshk@saltstack.com>`
|
||||
'''
|
||||
# Import Python libs
|
||||
from __future__ import absolute_import
|
||||
|
||||
# Import Salt Testing Libs
|
||||
from salttesting import skipIf, TestCase
|
||||
from salttesting.mock import (
|
||||
NO_MOCK,
|
||||
NO_MOCK_REASON,
|
||||
MagicMock,
|
||||
patch)
|
||||
|
||||
from salttesting.helpers import ensure_in_syspath
|
||||
|
||||
ensure_in_syspath('../../')
|
||||
|
||||
# Import Salt Libs
|
||||
from salt.states import debconfmod
|
||||
|
||||
debconfmod.__salt__ = {}
|
||||
debconfmod.__opts__ = {}
|
||||
|
||||
|
||||
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
||||
class DebconfmodTestCase(TestCase):
|
||||
'''
|
||||
Test cases for salt.states.debconfmod
|
||||
'''
|
||||
# 'set_file' function tests: 1
|
||||
|
||||
def test_set_file(self):
|
||||
'''
|
||||
Test to set debconf selections from a file or a template
|
||||
'''
|
||||
name = 'nullmailer'
|
||||
source = 'salt://pathto/pkg.selections'
|
||||
|
||||
ret = {'name': name, 'result': False, 'comment': '', 'changes': {}}
|
||||
|
||||
comt = ('Context must be formed as a dict')
|
||||
ret.update({'comment': comt})
|
||||
self.assertDictEqual(debconfmod.set_file(name, source, context='salt'),
|
||||
ret)
|
||||
|
||||
comt = ('Defaults must be formed as a dict')
|
||||
ret.update({'comment': comt})
|
||||
self.assertDictEqual(debconfmod.set_file(name, source, defaults='salt'),
|
||||
ret)
|
||||
|
||||
with patch.dict(debconfmod.__opts__, {'test': True}):
|
||||
comt = ('Debconf selections would have been set.')
|
||||
ret.update({'comment': comt, 'result': None})
|
||||
self.assertDictEqual(debconfmod.set_file(name, source), ret)
|
||||
|
||||
with patch.dict(debconfmod.__opts__, {'test': False}):
|
||||
mock = MagicMock(return_value=True)
|
||||
with patch.dict(debconfmod.__salt__,
|
||||
{'debconf.set_file': mock}):
|
||||
comt = ('Debconf selections were set.')
|
||||
ret.update({'comment': comt, 'result': True})
|
||||
self.assertDictEqual(debconfmod.set_file(name, source),
|
||||
ret)
|
||||
|
||||
# 'set' function tests: 1
|
||||
|
||||
def test_set(self):
|
||||
'''
|
||||
Test to set debconf selections
|
||||
'''
|
||||
name = 'nullmailer'
|
||||
data = {'shared/mailname': {'type': 'string',
|
||||
'value': 'server.domain.tld'},
|
||||
'nullmailer/relayhost': {'type': 'string',
|
||||
'value': 'mail.domain.tld'}}
|
||||
|
||||
ret = {'name': name, 'result': None, 'comment': '', 'changes': {}}
|
||||
|
||||
changes = {'nullmailer/relayhost': 'New value: mail.domain.tld',
|
||||
'shared/mailname': 'New value: server.domain.tld'}
|
||||
|
||||
mock = MagicMock(return_value=None)
|
||||
with patch.dict(debconfmod.__salt__, {'debconf.show': mock}):
|
||||
with patch.dict(debconfmod.__opts__, {'test': True}):
|
||||
ret.update({'changes': changes})
|
||||
self.assertDictEqual(debconfmod.set(name, data), ret)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
from integration import run_tests
|
||||
run_tests(DebconfmodTestCase, needs_daemon=False)
|
Loading…
Reference in New Issue
Block a user