def test_do_spawn_and_publish_error(self, mc_run_ans, mc_grc): mc_grc.side_effect = ConnectionError() terminate_vm(self.opts, self.terminate_pb_path, 0, self.vm_name, self.vm_ip) assert mc_run_ans.called expected_cmd = '-c ssh {} --extra-vars=\'{{"copr_task": {{"vm_name": "{}", "ip": "{}"}}}}\''.format( self.terminate_pb_path, self.vm_name, self.vm_ip) assert expected_cmd == mc_run_ans.call_args[:-1][0][0] assert mc_grc.called
def test_do_spawn_and_publish_ok(self, mc_run_ans, mc_grc): mc_rc = mock.MagicMock() mc_grc.return_value = mc_rc terminate_vm(self.opts, self.terminate_pb_path, 0, self.vm_name, self.vm_ip) assert mc_run_ans.called expected_cmd = '-c ssh {} --extra-vars=\'{{"copr_task": {{"vm_name": "{}", "ip": "{}"}}}}\''.format( self.terminate_pb_path, self.vm_name, self.vm_ip) assert expected_cmd == mc_run_ans.call_args[:-1][0][0] assert mc_grc.called assert mc_rc.publish.called expected_call = mock.call( 'copr:backend:vm:pubsub::', '{"vm_ip": "127.0.0.1", "vm_name": "localhost", ' '"topic": "vm_terminated", "group": 0, "result": "OK"}') assert mc_rc.publish.call_args == expected_call
def test_terminate_vm_on_error(self, mc_run_ans): mc_run_ans.side_effect = CalledProcessError(0, cmd=["ls"]) # doesn't raise an error terminate_vm(self.opts, self.terminate_pb_path, 0, self.vm_name, self.vm_ip)