def test_wait_for_event(self): """ Test to watch Salt's event bus and block until a condition is met """ name = "state" tgt = "minion1" comt = "Timeout value reached." ret = {"name": name, "changes": {}, "result": False, "comment": comt} class Mockevent: """ Mock event class """ flag = None def __init__(self): self.full = None def get_event(self, full): """ Mock get_event method """ self.full = full if self.flag: return {"tag": name, "data": {}} return None def __enter__(self): return self def __exit__(self, *args): pass with patch.object( salt.utils.event, "get_event", MagicMock(return_value=Mockevent()) ): with patch.dict(saltmod.__opts__, {"sock_dir": True, "transport": True}): with patch( "salt.states.saltmod.time.time", MagicMock(return_value=1.0) ): self.assertDictEqual( saltmod.wait_for_event(name, "salt", timeout=-1.0), ret ) Mockevent.flag = True ret.update( {"comment": "All events seen in 0.0 seconds.", "result": True} ) self.assertDictEqual(saltmod.wait_for_event(name, ""), ret) ret.update({"comment": "Timeout value reached.", "result": False}) self.assertDictEqual( saltmod.wait_for_event(name, tgt, timeout=-1.0), ret )
def test_wait_for_event(self): ''' Test to watch Salt's event bus and block until a condition is met ''' name = 'state' tgt = 'minion1' comt = ('Timeout value reached.') ret = {'name': name, 'changes': {}, 'result': False, 'comment': comt} class Mockevent(object): ''' Mock event class ''' flag = None def __init__(self): self.full = None def get_event(self, full): ''' Mock get_event method ''' self.full = full if self.flag: return {'tag': name, 'data': {}} return None with patch.object(salt.utils.event, 'get_event', MagicMock(return_value=Mockevent())): with patch.dict(saltmod.__opts__, { 'sock_dir': True, 'transport': True }): with patch.object(time, 'time', MagicMock(return_value=1.0)): self.assertDictEqual( saltmod.wait_for_event(name, 'salt', timeout=-1.0), ret) Mockevent.flag = True ret.update({ 'comment': 'All events seen in 0.0 seconds.', 'result': True }) self.assertDictEqual(saltmod.wait_for_event(name, ''), ret) ret.update({ 'comment': 'Timeout value reached.', 'result': False }) self.assertDictEqual( saltmod.wait_for_event(name, tgt, timeout=-1.0), ret)
def test_wait_for_event(self): ''' Test to watch Salt's event bus and block until a condition is met ''' name = 'state' tgt = 'minion1' comt = ('Timeout value reached.') ret = {'name': name, 'changes': {}, 'result': False, 'comment': comt} class Mockevent(object): ''' Mock event class ''' flag = None def __init__(self): self.full = None def get_event(self, full): ''' Mock get_event method ''' self.full = full if self.flag: return {'tag': name, 'data': {}} return None with patch.object(salt.utils.event, 'get_event', MagicMock(return_value=Mockevent())): with patch.dict(saltmod.__opts__, {'sock_dir': True, 'transport': True}): with patch.object(time, 'time', MagicMock(return_value=1.0)): self.assertDictEqual(saltmod.wait_for_event(name, 'salt', timeout=-1.0), ret) Mockevent.flag = True ret.update({'comment': 'All events seen in 0.0 seconds.', 'result': True}) self.assertDictEqual(saltmod.wait_for_event(name, ''), ret) ret.update({'comment': 'Timeout value reached.', 'result': False}) self.assertDictEqual(saltmod.wait_for_event(name, tgt, timeout=-1.0), ret)