def test_deploy_template(self): # arrange cred = TestCredentials() pv_service = pyVmomiService(SmartConnect, Disconnect) si = pv_service.connect(cred.host, cred.username, cred.password) deployer = VirtualMachineDeployer(pv_service, generate_unique_name) # vm = pv_service.find_vm_by_name(si, 'QualiSB/Raz', '2') deploy_params = DeployDataHolder({ "template_model": { "vCenter_resource_name": "QualiSB", "vm_folder": "QualiSB/Raz", "template_name": "2" }, "vm_cluster_model": { "cluster_name": "QualiSB Cluster", "resource_pool": "IT" }, "datastore_name": "eric ds cluster", "power_on": False }) deploy_command = DeployFromTemplateCommand(deployer) # act result = deploy_command.execute_deploy_from_template(si, deploy_params) # assert self.assertIsNotNone(result)
def deploy_from_template(self): # get command parameters from the environment deployment_params = self.qualipy_helpers.get_user_param('DEPLOY_DATA') data = self.serializer.decode(deployment_params) data_holder = DeployDataHolder(data) # prepare for execute command connection_details = self.connection_retriever.connection_details() # execute command result = self.command_wrapper.execute_command_with_connection( connection_details, self.deployFromTemplateCommand.execute_deploy_from_template, data_holder) set_command_result(result=result, unpicklable=False)
def test_vm_deployer(self): name = 'name' uuid = 'uuid' name_gen = Mock(return_value=name) pv_service = Mock() si = Mock() clone_parmas = Mock() clone_res = Mock() clone_res.error = None clone_res.vm = Mock() clone_res.vm.summary = Mock() clone_res.vm.summary.config = Mock() clone_res.vm.summary.config.uuid = uuid pv_service.CloneVmParameters = Mock(return_value=clone_parmas) pv_service.clone_vm = Mock(return_value=clone_res) params = DeployDataHolder({ "resource_context": None, "template_model": { "vCenter_resource_name": "vcenter_resource_name", "vm_folder": "vfolder_name", "template_name": "template_name" }, "vm_cluster_model": { "cluster_name": "cluster_name", "resource_pool": "resource_pool" }, "datastore_name": "datastore_name", "power_on": False }) deployer = VirtualMachineDeployer(pv_service, name_gen) res = deployer.deploy_from_template(si, params) self.assertEqual(res.vm_name, name) self.assertEqual(res.vm_uuid, uuid) self.assertEqual(res.cloud_provider_resource_name, params.template_model.vCenter_resource_name) self.assertTrue(pv_service.CloneVmParameters.called)