def test_run(self, sftp_put): ctxt_agent = CtxtAgent("/tmp/gen_data.json", "/tmp/vm_data.json") ctxt_agent.logger = self.logger ctxt_agent.contextualize_vm = MagicMock() ctxt_agent.contextualize_vm.return_value = { 'SSH_WAIT': True, 'OK': True, 'CHANGE_CREDS': True, 'basic': True } with open("/tmp/gen_data.json", "w+") as f: json.dump(self.gen_general_conf(), f) with open("/tmp/vm_data.json", "w+") as f: json.dump(self.gen_vm_conf(["basic"]), f) res = ctxt_agent.run(0) self.assertTrue(res) open("/tmp/ctxt_agent.log", 'a').close() res = ctxt_agent.run(1) self.assertTrue(res)
def test_70_contextualize_vm(self, sftp_put, execute, test_connectivity): CtxtAgent.logger = self.logger CtxtAgent.changeVMCredentials = MagicMock() CtxtAgent.changeVMCredentials.return_value = True CtxtAgent.LaunchAnsiblePlaybook = MagicMock() queue = MagicMock() queue.get.return_value = None, (0, []), None thread = MagicMock() thread.is_alive.return_value = False CtxtAgent.LaunchAnsiblePlaybook.return_value = (thread, queue) CtxtAgent.wait_winrm_access = MagicMock() CtxtAgent.wait_winrm_access.return_value = True CtxtAgent.wait_ssh_access = MagicMock() CtxtAgent.wait_ssh_access.return_value = True CtxtAgent.removeRequiretty = MagicMock() CtxtAgent.removeRequiretty.return_value = True CtxtAgent.VM_CONF_DATA_FILENAME = "/tmp/conf.dat" CtxtAgent.CONF_DATA_FILENAME = "/tmp/gconf.dat" execute.return_value = "1", 1, 1 ctxt_vm = None for vm in self.gen_general_conf()['vms']: if vm['id'] == self.gen_vm_conf(["basic"])['id']: ctxt_vm = vm with open("/tmp/ctxt_agent.out", 'w+') as f: f.write('{"OK": true}') res = CtxtAgent.contextualize_vm(self.gen_general_conf(), self.gen_vm_conf(["basic"]), ctxt_vm, 0) expected_res = { 'SSH_WAIT': True, 'OK': True, 'CHANGE_CREDS': True, 'basic': True } self.assertEqual(res, expected_res) res = CtxtAgent.contextualize_vm(self.gen_general_conf(), self.gen_vm_conf(["basic"]), ctxt_vm, 1) expected_res = { 'SSH_WAIT': True, 'OK': True, 'CHANGE_CREDS': True, 'basic': True } self.assertEqual(res, expected_res) ctxt_vm = None for vm in self.gen_general_conf()['vms']: if vm['id'] == self.gen_vm_conf(["main", "front"])['id']: ctxt_vm = vm res = CtxtAgent.contextualize_vm(self.gen_general_conf(), self.gen_vm_conf(["main", "front"]), ctxt_vm, 0) expected_res = {'OK': True, 'front': True, 'main': True} self.assertEqual(res, expected_res) res = CtxtAgent.contextualize_vm(self.gen_general_conf(), self.gen_vm_conf(["main", "front"]), ctxt_vm, 1) expected_res = {'OK': True, 'front': True, 'main': True} self.assertEqual(res, expected_res)
def test_contextualize_vm(self, from_private_key, sftp_put_dir, sftp_mkdir, sftp_put, execute, test_connectivity): ctxt_agent = CtxtAgent("/tmp/gconf.dat", "/tmp/conf.dat") ctxt_agent.logger = self.logger ctxt_agent.changeVMCredentials = MagicMock() ctxt_agent.changeVMCredentials.return_value = True ctxt_agent.LaunchAnsiblePlaybook = MagicMock() queue = MagicMock() queue.get.return_value = None, 0, None thread = MagicMock() thread.is_alive.return_value = False ctxt_agent.LaunchAnsiblePlaybook.return_value = (thread, queue) ctxt_agent.wait_winrm_access = MagicMock() ctxt_agent.wait_winrm_access.return_value = True ctxt_agent.wait_ssh_access = MagicMock() ctxt_agent.wait_ssh_access.return_value = True ctxt_agent.removeRequiretty = MagicMock() ctxt_agent.removeRequiretty.return_value = True execute.return_value = "1", 1, 1 ctxt_vm = None for vm in self.gen_general_conf()['vms']: if vm['id'] == self.gen_vm_conf(["basic"])['id']: ctxt_vm = vm with open("/tmp/ctxt_agent.out", 'w+') as f: f.write('{"OK": true}') res = ctxt_agent.contextualize_vm(self.gen_general_conf(), self.gen_vm_conf(["basic"]), ctxt_vm, 0) expected_res = { 'SSH_WAIT': True, 'OK': True, 'CHANGE_CREDS': True, 'basic': True } self.assertEqual(res, expected_res) res = ctxt_agent.contextualize_vm(self.gen_general_conf(), self.gen_vm_conf(["basic"]), ctxt_vm, 1) expected_res = {'SSH_WAIT': True, 'OK': True, 'basic': True} self.assertEqual(res, expected_res) ctxt_vm = None for vm in self.gen_general_conf()['vms']: if vm['id'] == self.gen_vm_conf(["main", "front"])['id']: ctxt_vm = vm res = ctxt_agent.contextualize_vm(self.gen_general_conf(), self.gen_vm_conf(["main", "front"]), ctxt_vm, 0) expected_res = {'OK': True, 'front': True, 'main': True} self.assertEqual(res, expected_res) res = ctxt_agent.contextualize_vm(self.gen_general_conf(), self.gen_vm_conf(["main", "front"]), ctxt_vm, 1) expected_res = {'OK': True, 'front': True, 'main': True} self.assertEqual(res, expected_res) res = ctxt_agent.contextualize_vm( self.gen_general_conf(), self.gen_vm_conf(["copy_facts_cache"]), ctxt_vm, 0) expected_res = {'OK': True, 'copy_facts_cache': True} self.assertEqual(res, expected_res)