Re-gen executors with proper arguments

This commit is contained in:
Daniel A. Wozniak 2019-09-06 21:27:00 +00:00
parent 4071dcb917
commit 144a6008bd
No known key found for this signature in database
GPG Key ID: 166B9D2C06C82D61
2 changed files with 22 additions and 1 deletions

View File

@ -456,7 +456,7 @@ class MinionBase(object):
# self.matcher = Matcher(self.opts, self.functions)
self.matchers = salt.loader.matchers(self.opts)
self.functions['sys.reload_modules'] = self.gen_modules
self.executors = salt.loader.executors(self.opts)
self.executors = salt.loader.executors(self.opts, self.functions)
@staticmethod
def process_schedule(minion, loop_interval):

View File

@ -293,6 +293,27 @@ class MinionTestCase(TestCase, AdaptedConfigurationTestCaseMixin):
self.assertRaises(SaltMasterUnresolvableError,
salt.minion.resolve_dns, __opts__)
def test_gen_modules_executors(self):
'''
Ensure gen_modules is called with the correct arguments #54429
'''
mock_opts = self.get_config('minion', from_scratch=True)
mock_opts['master_uri'] = 'master' #, 'tcp://master:9090'
io_loop = tornado.ioloop.IOLoop()
io_loop.make_current()
minion = salt.minion.Minion(mock_opts, io_loop=io_loop)
class MockPillarCompiler():
def compile_pillar(self):
return {}
try:
with patch('salt.pillar.get_pillar', return_value=MockPillarCompiler()):
with patch('salt.loader.executors') as execmock:
minion.gen_modules()
assert execmock.called_with(minion.opts, minion.functions)
finally:
minion.destroy()
@skipIf(NO_MOCK, NO_MOCK_REASON)
class MinionAsyncTestCase(TestCase, AdaptedConfigurationTestCaseMixin, tornado.testing.AsyncTestCase):