Skip to content

Commit

Permalink
Merge pull request #54576 from garethgreenaway/2019_2_1_port_52933
Browse files Browse the repository at this point in the history
[master] Porting #52933 to master
  • Loading branch information
dwoz authored Nov 15, 2019
2 parents 00791c5 + 183bfa4 commit 9edcfab
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
4 changes: 4 additions & 0 deletions salt/beacons/inotify.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,10 @@ def validate(config):
if 'files' not in _config:
return False, 'Configuration for inotify beacon must include files.'
else:
if not isinstance(_config['files'], dict):
return False, ('Configuration for inotify beacon invalid, '
'files must be a dict.')

for path in _config.get('files'):

if not isinstance(_config['files'][path], dict):
Expand Down
27 changes: 25 additions & 2 deletions tests/unit/beacons/test_inotify.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,33 @@ def setUp(self):
def tearDown(self):
shutil.rmtree(self.tmpdir, ignore_errors=True)

def test_non_list_config(self):
config = {}

ret = inotify.validate(config)

self.assertEqual(ret, (False, 'Configuration for inotify beacon must'
' be a list.'))

def test_empty_config(self):
config = [{}]
ret = inotify.beacon(config)
self.assertEqual(ret, [])
ret = inotify.validate(config)
_expected = (False, 'Configuration for inotify beacon must include files.')
self.assertEqual(ret, _expected)

def test_files_none_config(self):
config = [{'files': None}]
ret = inotify.validate(config)
_expected = (False, 'Configuration for inotify beacon invalid, '
'files must be a dict.')
self.assertEqual(ret, _expected)

def test_files_list_config(self):
config = [{'files': [{u'/importantfile': {u'mask': [u'modify']}}]}]
ret = inotify.validate(config)
_expected = (False, 'Configuration for inotify beacon invalid, '
'files must be a dict.')
self.assertEqual(ret, _expected)

def test_file_open(self):
path = os.path.realpath(__file__)
Expand Down

0 comments on commit 9edcfab

Please sign in to comment.