def test_copy(self): """ Test if it copy scheduled job to another minion or minions. """ comm1 = "no servers answered the published schedule.add command" comm2 = "the following minions return False" comm3 = "Copied Job job1 from schedule to minion(s)." with patch.dict( schedule.__opts__, {"schedule": {"job1": JOB1}, "sock_dir": self.sock_dir} ): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): _ret_value = {"complete": True, "schedule": {"job1": {"job1": JOB1}}} with patch.object(SaltEvent, "get_event", return_value=_ret_value): mock = MagicMock(return_value={}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), {"comment": comm1, "result": True}, ) mock = MagicMock(return_value={"minion1": ""}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), {"comment": comm2, "minions": ["minion1"], "result": True}, ) mock = MagicMock(return_value={"minion1": "job1"}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), { "comment": comm3, "minions": ["minion1"], "result": True, }, ) self.assertDictEqual( schedule.copy("job3", "minion1"), {"comment": "Job job3 does not exist.", "result": False}, ) mock = MagicMock(side_effect=[{}, {"job1": {}}]) with patch.dict( schedule.__opts__, {"schedule": mock, "sock_dir": self.sock_dir} ): with patch.dict(schedule.__pillar__, {"schedule": {"job1": JOB1}}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): _ret_value = { "complete": True, "schedule": {"job1": {"job1": JOB1}}, } with patch.object(SaltEvent, "get_event", return_value=_ret_value): mock = MagicMock(return_value={}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), {"comment": comm1, "result": True}, ) mock = MagicMock(return_value={"minion1": ""}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), { "comment": comm2, "minions": ["minion1"], "result": True, }, ) mock = MagicMock(return_value={"minion1": "job1"}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), { "comment": comm3, "minions": ["minion1"], "result": True, }, )
def test_copy(self): ''' Test if it copy scheduled job to another minion or minions. ''' comm1 = 'no servers answered the published schedule.add command' comm2 = 'the following minions return False' comm3 = 'Copied Job job1 from schedule to minion(s).' with patch.dict(schedule.__opts__, {'schedule': {'job1': JOB1}, 'sock_dir': SOCK_DIR}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {'event.fire': mock}): _ret_value = {'complete': True, 'schedule': {'job1': {'job1': JOB1}}} with patch.object(SaltEvent, 'get_event', return_value=_ret_value): mock = MagicMock(return_value={}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): self.assertDictEqual(schedule.copy('job1', 'minion1'), {'comment': comm1, 'result': True}) mock = MagicMock(return_value={'minion1': ''}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): self.assertDictEqual(schedule.copy('job1', 'minion1'), {'comment': comm2, 'minions': ['minion1'], 'result': True}) mock = MagicMock(return_value={'minion1': 'job1'}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {'event.fire': mock}): self.assertDictEqual(schedule.copy('job1', 'minion1'), {'comment': comm3, 'minions': ['minion1'], 'result': True}) self.assertDictEqual(schedule.copy('job3', 'minion1'), {'comment': 'Job job3 does not exist.', 'result': False}) mock = MagicMock(side_effect=[{}, {'job1': {}}]) with patch.dict(schedule.__opts__, {'schedule': mock, 'sock_dir': SOCK_DIR}): with patch.dict(schedule.__pillar__, {'schedule': {'job1': JOB1}}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {'event.fire': mock}): _ret_value = {'complete': True, 'schedule': {'job1': {'job1': JOB1}}} with patch.object(SaltEvent, 'get_event', return_value=_ret_value): mock = MagicMock(return_value={}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): self.assertDictEqual(schedule.copy('job1', 'minion1'), {'comment': comm1, 'result': True}) mock = MagicMock(return_value={'minion1': ''}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): self.assertDictEqual(schedule.copy('job1', 'minion1'), {'comment': comm2, 'minions': ['minion1'], 'result': True}) mock = MagicMock(return_value={'minion1': 'job1'}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {'event.fire': mock}): self.assertDictEqual(schedule.copy('job1', 'minion1'), {'comment': comm3, 'minions': ['minion1'], 'result': True})
def test_copy(self): ''' Test if it copy scheduled job to another minion or minions. ''' comm1 = 'no servers answered the published schedule.add command' comm2 = 'the following minions return False' comm3 = 'Copied Job job1 from schedule to minion(s).' with patch.dict(schedule.__opts__, { 'schedule': { 'job1': JOB1 }, 'sock_dir': SOCK_DIR }): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {'event.fire': mock}): _ret_value = { 'complete': True, 'schedule': { 'job1': { 'job1': JOB1 } } } with patch.object(SaltEvent, 'get_event', return_value=_ret_value): mock = MagicMock(return_value={}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): self.assertDictEqual(schedule.copy('job1', 'minion1'), { 'comment': comm1, 'result': True }) mock = MagicMock(return_value={'minion1': ''}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): self.assertDictEqual( schedule.copy('job1', 'minion1'), { 'comment': comm2, 'minions': ['minion1'], 'result': True }) mock = MagicMock(return_value={'minion1': 'job1'}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {'event.fire': mock}): self.assertDictEqual( schedule.copy('job1', 'minion1'), { 'comment': comm3, 'minions': ['minion1'], 'result': True }) self.assertDictEqual(schedule.copy('job3', 'minion1'), { 'comment': 'Job job3 does not exist.', 'result': False }) mock = MagicMock(side_effect=[{}, {'job1': {}}]) with patch.dict(schedule.__opts__, { 'schedule': mock, 'sock_dir': SOCK_DIR }): with patch.dict(schedule.__pillar__, {'schedule': {'job1': JOB1}}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {'event.fire': mock}): _ret_value = { 'complete': True, 'schedule': { 'job1': { 'job1': JOB1 } } } with patch.object(SaltEvent, 'get_event', return_value=_ret_value): mock = MagicMock(return_value={}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): self.assertDictEqual( schedule.copy('job1', 'minion1'), { 'comment': comm1, 'result': True }) mock = MagicMock(return_value={'minion1': ''}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): self.assertDictEqual( schedule.copy('job1', 'minion1'), { 'comment': comm2, 'minions': ['minion1'], 'result': True }) mock = MagicMock(return_value={'minion1': 'job1'}) with patch.dict(schedule.__salt__, {'publish.publish': mock}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {'event.fire': mock}): self.assertDictEqual( schedule.copy('job1', 'minion1'), { 'comment': comm3, 'minions': ['minion1'], 'result': True })
def test_save(self): """ Test if it save all scheduled jobs on the minion. ''' comm1 = 'Schedule (non-pillar items) saved.' with patch.dict(schedule.__opts__, {'schedule': {}, 'default_include': '/tmp', 'sock_dir': self.sock_dir}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): _ret_value = {"complete": True, "schedule": {}} with patch.object(SaltEvent, "get_event", return_value=_ret_value): self.assertDictEqual( schedule.save(), {"comment": comm1, "result": True} ) # 'enable' function tests: 1 def test_enable(self): """ Test if it enable all scheduled jobs on the minion. """ self.assertDictEqual( schedule.enable(test=True), {"comment": "Schedule would be enabled.", "result": True}, ) # 'disable' function tests: 1 def test_disable(self): """ Test if it disable all scheduled jobs on the minion. """ self.assertDictEqual( schedule.disable(test=True), {"comment": "Schedule would be disabled.", "result": True}, ) # 'move' function tests: 1 @skipIf(True, "SLOWTEST skip") def test_move(self): """ Test if it move scheduled job to another minion or minions. ''' comm1 = 'no servers answered the published schedule.add command' comm2 = 'the following minions return False' comm3 = 'Moved Job job1 from schedule.' with patch.dict(schedule.__opts__, {'schedule': {'job1': JOB1}, 'sock_dir': self.sock_dir}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): _ret_value = {"complete": True, "schedule": {"job1": JOB1}} with patch.object(SaltEvent, "get_event", return_value=_ret_value): mock = MagicMock(return_value={}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.move("job1", "minion1"), {"comment": comm1, "result": True}, ) mock = MagicMock(return_value={"minion1": ""}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.move("job1", "minion1"), {"comment": comm2, "minions": ["minion1"], "result": True}, ) mock = MagicMock(return_value={"minion1": "job1"}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {'event.fire': mock}): self.assertDictEqual(schedule.move('job1', 'minion1'), {'comment': comm3, 'minions': ['minion1'], 'result': True}) self.assertDictEqual(schedule.move('job3', 'minion1'), {'comment': 'Job job3 does not exist.', 'result': False}) mock = MagicMock(side_effect=[{}, {'job1': {}}]) with patch.dict(schedule.__opts__, {'schedule': mock, 'sock_dir': self.sock_dir}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): _ret_value = {"complete": True, "schedule": {"job1": JOB1}} with patch.object(SaltEvent, "get_event", return_value=_ret_value): with patch.dict(schedule.__pillar__, {"schedule": {"job1": JOB1}}): mock = MagicMock(return_value={}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.move("job1", "minion1"), {"comment": comm1, "result": True}, ) mock = MagicMock(return_value={"minion1": ""}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.move("job1", "minion1"), { "comment": comm2, "minions": ["minion1"], "result": True, }, ) mock = MagicMock(return_value={"minion1": "job1"}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): self.assertDictEqual( schedule.move("job1", "minion1"), { "comment": comm3, "minions": ["minion1"], "result": True, }, ) # 'copy' function tests: 1 @skipIf(True, "SLOWTEST skip") def test_copy(self): """ Test if it copy scheduled job to another minion or minions. ''' comm1 = 'no servers answered the published schedule.add command' comm2 = 'the following minions return False' comm3 = 'Copied Job job1 from schedule to minion(s).' with patch.dict(schedule.__opts__, {'schedule': {'job1': JOB1}, 'sock_dir': self.sock_dir}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): _ret_value = {"complete": True, "schedule": {"job1": {"job1": JOB1}}} with patch.object(SaltEvent, "get_event", return_value=_ret_value): mock = MagicMock(return_value={}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), {"comment": comm1, "result": True}, ) mock = MagicMock(return_value={"minion1": ""}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), {"comment": comm2, "minions": ["minion1"], "result": True}, ) mock = MagicMock(return_value={"minion1": "job1"}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {'event.fire': mock}): self.assertDictEqual(schedule.copy('job1', 'minion1'), {'comment': comm3, 'minions': ['minion1'], 'result': True}) self.assertDictEqual(schedule.copy('job3', 'minion1'), {'comment': 'Job job3 does not exist.', 'result': False}) mock = MagicMock(side_effect=[{}, {'job1': {}}]) with patch.dict(schedule.__opts__, {'schedule': mock, 'sock_dir': self.sock_dir}): with patch.dict(schedule.__pillar__, {'schedule': {'job1': JOB1}}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): _ret_value = { "complete": True, "schedule": {"job1": {"job1": JOB1}}, } with patch.object(SaltEvent, "get_event", return_value=_ret_value): mock = MagicMock(return_value={}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), {"comment": comm1, "result": True}, ) mock = MagicMock(return_value={"minion1": ""}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), { "comment": comm2, "minions": ["minion1"], "result": True, }, ) mock = MagicMock(return_value={"minion1": "job1"}) with patch.dict(schedule.__salt__, {"publish.publish": mock}): mock = MagicMock(return_value=True) with patch.dict(schedule.__salt__, {"event.fire": mock}): self.assertDictEqual( schedule.copy("job1", "minion1"), { "comment": comm3, "minions": ["minion1"], "result": True, }, )