mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Updating the swap function in the mount.swap function also check the device name when checking the fstab data. Updating tests to reflect new behavior.
This commit is contained in:
parent
3ffa3921b7
commit
b8ded8bf5f
2 changed files with 51 additions and 4 deletions
|
@ -764,7 +764,7 @@ def swap(name, persist=True, config='/etc/fstab'):
|
|||
else:
|
||||
fstab_data = __salt__['mount.fstab'](config)
|
||||
if __opts__['test']:
|
||||
if name not in fstab_data:
|
||||
if name not in fstab_data and name not in [fstab_data[item]['device'] for item in fstab_data]:
|
||||
ret['result'] = None
|
||||
if name in on_:
|
||||
ret['comment'] = ('Swap {0} is set to be added to the '
|
||||
|
|
|
@ -236,17 +236,64 @@ class MountTestCase(TestCase, LoaderModuleMockMixin):
|
|||
mock_swp = MagicMock(return_value=[name])
|
||||
mock_fs = MagicMock(return_value={'none': {'device': name,
|
||||
'fstype': 'xfs'}})
|
||||
mock_fs_diff = MagicMock(return_value={'none': {'device': 'something_else',
|
||||
'fstype': 'xfs'}})
|
||||
mock_aixfs = MagicMock(return_value={name: {'dev': name,
|
||||
'fstype': 'jfs2'}})
|
||||
mock_emt = MagicMock(return_value={})
|
||||
with patch.dict(mount.__grains__, {'os': 'test'}):
|
||||
with patch.dict(mount.__salt__, {'mount.swaps': mock_swp,
|
||||
'mount.fstab': mock_fs_diff,
|
||||
'file.is_link': mock_f}):
|
||||
with patch.dict(mount.__opts__, {'test': True}):
|
||||
comt = ('Swap {0} is set to be added to the '
|
||||
'fstab and to be activated'.format(name))
|
||||
ret.update({'comment': comt})
|
||||
self.assertDictEqual(mount.swap(name), ret)
|
||||
|
||||
with patch.dict(mount.__opts__, {'test': False}):
|
||||
comt = ('Swap {0} already active'.format(name))
|
||||
ret.update({'comment': comt, 'result': True})
|
||||
self.assertDictEqual(mount.swap(name, persist=False), ret)
|
||||
|
||||
with patch.dict(mount.__salt__, {'mount.fstab': mock_emt,
|
||||
'mount.set_fstab': mock}):
|
||||
comt = ('Swap {0} already active'.format(name))
|
||||
ret.update({'comment': comt, 'result': True})
|
||||
self.assertDictEqual(mount.swap(name), ret)
|
||||
|
||||
comt = ('Swap /mnt/sdb already active. '
|
||||
'Added new entry to the fstab.')
|
||||
ret.update({'comment': comt, 'result': True,
|
||||
'changes': {'persist': 'new'}})
|
||||
self.assertDictEqual(mount.swap(name), ret)
|
||||
|
||||
comt = ('Swap /mnt/sdb already active. '
|
||||
'Updated the entry in the fstab.')
|
||||
ret.update({'comment': comt, 'result': True,
|
||||
'changes': {'persist': 'update'}})
|
||||
self.assertDictEqual(mount.swap(name), ret)
|
||||
|
||||
comt = ('Swap /mnt/sdb already active. '
|
||||
'However, the fstab was not found.')
|
||||
ret.update({'comment': comt, 'result': False,
|
||||
'changes': {}})
|
||||
self.assertDictEqual(mount.swap(name), ret)
|
||||
|
||||
ret = {'name': name,
|
||||
'result': None,
|
||||
'comment': '',
|
||||
'changes': {}}
|
||||
|
||||
mock = MagicMock(side_effect=['present', 'new', 'change', 'bad config'])
|
||||
mock_emt = MagicMock(return_value={})
|
||||
with patch.dict(mount.__grains__, {'os': 'test'}):
|
||||
with patch.dict(mount.__salt__, {'mount.swaps': mock_swp,
|
||||
'mount.fstab': mock_fs,
|
||||
'file.is_link': mock_f}):
|
||||
with patch.dict(mount.__opts__, {'test': True}):
|
||||
comt = ('Swap {0} is set to be added to the '
|
||||
'fstab and to be activated'.format(name))
|
||||
ret.update({'comment': comt})
|
||||
comt = ('Swap {0} already active'.format(name))
|
||||
ret.update({'comment': comt, 'result': True})
|
||||
self.assertDictEqual(mount.swap(name), ret)
|
||||
|
||||
with patch.dict(mount.__opts__, {'test': False}):
|
||||
|
|
Loading…
Add table
Reference in a new issue