def test_execute_tasks_task_wait(self, _add_tasks_mock, _get_task_mock, _get_results_mock): """Execute tasks waiting for a task to finish.""" task_1 = Mock() task_1.uuid = 'test_task_1' task_2 = Mock() task_2.uuid = 'test_task_2' _add_tasks_mock.return_value = [task_1, task_2] task_3 = Mock() task_3.state = 'success' task_4 = Mock() task_4.state = 'started' task_5 = Mock() task_5.state = 'success' _get_task_mock.side_effect = [task_3, task_4, task_5] result1 = Mock() result1.tag = json.dumps('test_result_1') result2 = Mock() result2.tag = json.dumps('test_result_2') _get_results_mock.side_effect = [[result1], [result2]] tasks = [snowfloat.task.Task( operation='test_operation_1', task_filter={'layer_uuid_exact': 'test_layer_1'}), snowfloat.task.Task( operation='test_operation_2', task_filter={'layer_uuid_exact': 'test_layer_2'})] res = self.client.execute_tasks(tasks, interval=0.1) self.assertListEqual(res, [['test_result_1',], ['test_result_2',]]) self.execute_tasks_add_tasks_helper(_add_tasks_mock) self.assertEqual(_get_task_mock.call_args_list, [call(task_1.uuid), call(task_2.uuid), call(task_2.uuid)]) self.assertEqual(_get_results_mock.call_args_list, [call(task_1.uuid), call(task_2.uuid)])
def test_execute_tasks_task_request_error(self, _add_tasks_mock, _get_task_mock, _get_results_mock): """Execute tasks with request failing.""" task_1 = Mock() task_1.uuid = 'test_task_1' task_2 = Mock() task_2.uuid = 'test_task_2' _add_tasks_mock.return_value = [task_1, task_2] task_3 = Mock() task_3.state = 'success' _get_task_mock.side_effect = [task_3, snowfloat.errors.RequestError(500, 0, '', '')] result1 = Mock() result1.tag = json.dumps('test_result_1') result2 = Mock() result2.tag = json.dumps('test_result_2') _get_results_mock.side_effect = [[result1], [result2]] tasks = [snowfloat.task.Task( operation='test_operation_1', task_filter={'layer_uuid_exact': 'test_layer_1'}), snowfloat.task.Task( operation='test_operation_2', task_filter={'layer_uuid_exact': 'test_layer_2'})] res = self.client.execute_tasks(tasks) self.assertListEqual(res, [['test_result_1',], None]) self.execute_tasks_add_tasks_helper(_add_tasks_mock) self.assertEqual(_get_task_mock.call_args_list, [call(task_1.uuid), call(task_2.uuid)]) self.assertEqual(_get_results_mock.call_args_list, [call(task_1.uuid),])
def test_execute_tasks(self, _add_tasks_mock, _get_task_mock, _get_results_mock): """Execute asynchronous tasks.""" task_1 = Mock() task_1.uuid = 'test_task_1' task_2 = Mock() task_2.uuid = 'test_task_2' _add_tasks_mock.return_value = [task_1, task_2] task_3 = Mock() task_3.state = 'success' task_4 = Mock() task_4.state = 'success' _get_task_mock.side_effect = [task_3, task_4] result1 = Mock() result1.tag = json.dumps('test_result_1') result2 = Mock() result2.tag = json.dumps('test_result_2') _get_results_mock.side_effect = [[result1], [result2]] tasks = [snowfloat.task.Task( operation='test_operation_1', task_filter={'layer_uuid_exact': 'test_layer_1'}), snowfloat.task.Task( operation='test_operation_2', task_filter={'layer_uuid_exact': 'test_layer_2'})] res = self.client.execute_tasks(tasks) self.assertListEqual(res, [['test_result_1',], ['test_result_2',]]) self.execute_tasks_add_tasks_helper(_add_tasks_mock)
def test_cancel(self, agent, context, mock_factory): consumer = {'id': 'xyz'} mock_consumer_manager = Mock() mock_consumer_manager.get_consumer = Mock(return_value=consumer) mock_factory.consumer_manager = Mock( return_value=mock_consumer_manager) mock_context = Mock() mock_context.uuid = 'test-uuid' mock_context.url = 'http://broker.com' context.return_value = mock_context mock_agent = Mock() agent.return_value = mock_agent # test manager task_id = '1234' agent_manager = AgentManager() consumer_id = 'abc' agent_manager.cancel_request(consumer_id, task_id) # validations mock_agent.cancel.assert_called_with(mock_context, task_id)
def test_collection(self): """Same as src; looking for collection{,_id,_uuid} in request.""" b = self.get_button() assert b.collection is None self.request.GET['collection_uuid'] = 'aa' b = self.get_button() assert b.collection == 'aa' self.request.GET['collection_id'] = 'bb' b = self.get_button() assert b.collection == 'bb' self.request.GET['collection'] = 'cc' b = self.get_button() assert b.collection == 'cc' self.context['collection'] = 'dd' b = self.get_button() assert b.collection == 'dd' b = self.get_button(collection='ee') assert b.collection == 'ee' c = Mock() c.uuid = 'ff' b = self.get_button(collection=c) assert b.collection == 'ff'
def setUp(self): self.resource = create_autospec(ResourceInfo) self.resource.ResourceModelName = 'VMwarev Center' self.resource.ResourceAttributes = {'User': '******', 'Password': '******', 'Default dvSwitch': 'switch1', 'Holding Network': 'anetwork', 'Default Port Group Location': 'Quali', 'VM Cluster': 'Quali', 'VM Location': 'Quali', 'VM Resource Pool': 'Quali', 'VM Storage': 'Quali', 'Shutdown Method': 'hard', 'OVF Tool Path': 'C\\program files\ovf', 'Execution Server Selector': '', 'Reserved Networks': 'vlan65', 'Default Datacenter': 'QualiSB' } self.context = Mock() session = Mock() remote_resource = Mock() remote_resource.fullname = 'this is full name of the remote resource' remote_resource.uuid = 'this is full uuis of the remote resource' self.connection_details = Mock() self.context.resource = self.resource self.context.remote_endpoints = [self.resource] self.command_orchestrator = CommandOrchestrator() self.command_orchestrator.command_wrapper.execute_command_with_connection = Mock(return_value=True) self.command_orchestrator.cs_helper = Mock() self.command_orchestrator.cs_helper.get_session = Mock(return_value=session) self.command_orchestrator.cs_helper.get_connection_details = Mock(return_value=self.connection_details) self.ports = [Mock()] self.command_orchestrator._parse_remote_model = Mock(return_value=remote_resource)
def test_collection(self): """Same as src; looking for collection{,_id,_uuid} in request.""" b = self.get_button() eq_(b.collection, None) self.request.GET["collection_uuid"] = "aa" b = self.get_button() eq_(b.collection, "aa") self.request.GET["collection_id"] = "bb" b = self.get_button() eq_(b.collection, "bb") self.request.GET["collection"] = "cc" b = self.get_button() eq_(b.collection, "cc") self.context["collection"] = "dd" b = self.get_button() eq_(b.collection, "dd") b = self.get_button(collection="ee") eq_(b.collection, "ee") c = Mock() c.uuid = "ff" b = self.get_button(collection=c) eq_(b.collection, "ff")
def test_collection(self): """Same as src; looking for collection{,_id,_uuid} in request.""" b = self.get_button() eq_(b.collection, None) self.request.GET['collection_uuid'] = 'aa' b = self.get_button() eq_(b.collection, 'aa') self.request.GET['collection_id'] = 'bb' b = self.get_button() eq_(b.collection, 'bb') self.request.GET['collection'] = 'cc' b = self.get_button() eq_(b.collection, 'cc') self.context['collection'] = 'dd' b = self.get_button() eq_(b.collection, 'dd') b = self.get_button(collection='ee') eq_(b.collection, 'ee') c = Mock() c.uuid = 'ff' b = self.get_button(collection=c) eq_(b.collection, 'ff')
def vnc_vm(): vnc_vm = Mock() vnc_vm.uuid = 'vm-uuid' vnc_vm.name = 'vm-name' vnc_vm.id_perms = Mock() vnc_vm.id_perms.creator = 'vcenter-manager' vnc_vm.get_virtual_machine_interface_back_refs.return_value = [{u'uuid': u'vmi-uuid'}] return vnc_vm
def vmi_model(): vmi = Mock() vmi.uuid = 'fe71b44d-0654-36aa-9841-ab9b78d628c5' vmi.vm_model.uuid = '502789bb-240a-841f-e24c-1564537218f7' vmi.vn_model.uuid = 'f94fe52e-cf19-48dd-9697-8c2085e7cbee' vmi.vcenter_port.vlan_id = 7 vmi.vnc_instance_ip.instance_ip_address = '192.168.200.5' vmi.ip_address = '192.168.200.5' return vmi
def test_cache_is_obsoleted_by_new_identity(self): temp_cache_dir = tempfile.mkdtemp() self.addCleanup(shutil.rmtree, temp_cache_dir) self.cache.CACHE_FILE = os.path.join(temp_cache_dir, 'supported_resources.json') with open(self.cache.CACHE_FILE, 'w') as cache_file: cache_file.write(self.MOCK_CACHE_FILE_CONTENT) mock_uep = Mock() mock_uep.get_supported_resources = Mock(return_value=self.MOCK_SUPPORTED_RESOURCES_RESPONSE) mock_identity = Mock() mock_identity.uuid = 'f0000000-aaaa-bbbb-bbbb-5771946d56d8' data = self.cache.read_data(uep=mock_uep, identity=mock_identity) self.assertEqual(data, self.MOCK_SUPPORTED_RESOURCES_RESPONSE)
def test_successful_bonafide_auth_should_return_the_user_authentication_object(self): auth = Authenticator(self._leap_provider) mock_bonafide_session = Mock() mock_srp_auth = Mock() mock_srp_auth.token = 'some_token' mock_srp_auth.uuid = 'some_uuid' mock_bonafide_session.authenticate = Mock(return_value=mock_srp_auth) with patch('pixelated.authentication.Session', return_value=mock_srp_auth): resulting_auth = yield auth.authenticate('*****@*****.**', 'password') self.assertIsInstance(resulting_auth, Authentication) self.assertEquals('username', resulting_auth.username) self.assertEquals('some_token', resulting_auth.token) self.assertEquals('some_uuid', resulting_auth.uuid)
def test_update_button_disabled(self): # Need an unregistered consumer object: unregistered_consumer = Mock() unregistered_consumer.uuid = None unregistered_consumer.name = None dialog = factsgui.SystemFactsDialog(self.uep, unregistered_consumer, self.stub_facts) dialog.show() enabled = dialog.update_button.get_property('sensitive') self.assertFalse(enabled)
def test_fix_link(self): b = self.get_button() eq_(b.fix_link("foo.com"), "foo.com") b = self.get_button(src="src") eq_(b.fix_link("foo.com"), "foo.com?src=src") collection = Mock() collection.uuid = "xxx" b = self.get_button(collection=collection) eq_(b.fix_link("foo.com"), "foo.com?collection_id=xxx") b = self.get_button(collection=collection, src="src") eq_(b.fix_link("foo.com"), "foo.com?src=src&collection_id=xxx")
def test_fix_link(self): b = self.get_button() eq_(b.fix_link('foo.com'), 'foo.com') b = self.get_button(src='src') eq_(b.fix_link('foo.com'), 'foo.com?src=src') collection = Mock() collection.uuid = 'xxx' b = self.get_button(collection=collection) eq_(b.fix_link('foo.com'), 'foo.com?collection_id=xxx') b = self.get_button(collection=collection, src='src') eq_(b.fix_link('foo.com'), 'foo.com?src=src&collection_id=xxx')
def test_fix_link(self): b = self.get_button() assert b.fix_link('foo.com') == 'foo.com' b = self.get_button(src='src') assert b.fix_link('foo.com') == 'foo.com?src=src' collection = Mock() collection.uuid = 'xxx' b = self.get_button(collection=collection) assert b.fix_link('foo.com') == 'foo.com?collection_id=xxx' b = self.get_button(collection=collection, src='src') self.assertUrlEqual(b.fix_link('foo.com'), 'foo.com?src=src&collection_id=xxx')
def test_cache_is_obsoleted_by_timeout(self): old_timeout = self.cache.TIMEOUT self.cache.TIMEOUT = 1 temp_cache_dir = tempfile.mkdtemp() self.addCleanup(shutil.rmtree, temp_cache_dir) self.cache.CACHE_FILE = os.path.join(temp_cache_dir, 'supported_resources.json') with open(self.cache.CACHE_FILE, 'w') as cache_file: cache_file.write(self.MOCK_CACHE_FILE_CONTENT) mock_uep = Mock() mock_uep.get_supported_resources = Mock(return_value=self.MOCK_SUPPORTED_RESOURCES_RESPONSE) mock_identity = Mock() mock_identity.uuid = 'a3f43883-315b-4cc4-bfb5-5771946d56d7' time.sleep(2) data = self.cache.read_data(uep=mock_uep, identity=mock_identity) self.assertEqual(data, self.MOCK_SUPPORTED_RESOURCES_RESPONSE) self.cache.TIMEOUT = old_timeout
def test_update_button_disabled(self): # Need an unregistered consumer object: id_mock = Mock() id_mock.name = None id_mock.uuid = None def new_identity(): return id_mock provide(IDENTITY, new_identity) dialog = factsgui.SystemFactsDialog(self.backend, self.stub_facts) dialog.show() enabled = dialog.update_button.get_property('sensitive') self.assertFalse(enabled)
def setUp(self): self._service_factory = Mock() self._provider = Mock() self._user_bootstrap = BootstrapUserServices(self._service_factory, self._provider) username = '******' password = '******' self.username = username self.password = password user_auth = Mock() user_auth.username = username self.uuid = 'some_user_uuid' user_auth.uuid = self.uuid self.user_auth = user_auth leap_session = Mock() leap_session.user_auth = user_auth leap_session.fresh_account = False self.leap_session = leap_session
def setUp(self): expected_facts = {'fact1': 'one', 'fact2': 'two', 'system': 'Unknown', 'system.uuid': 'MOCKUUID'} self.expected_facts = expected_facts self.stub_facts = StubFacts(expected_facts) self.backend = StubBackend() id_mock = Mock() id_mock.name = 'system' id_mock.uuid = 'Random UUID' id_mock.exists_and_valid = Mock(return_value=True) provide(IDENTITY, id_mock) sys.stderr = MockStderr sys.stdout = MockStdout
def setUp(self): self.resource = Mock() self.context = Mock() session = Mock() remote_resource = Mock() remote_resource.fullname = 'this is full name of the remote resource' remote_resource.uuid = 'this is full uuis of the remote resource' self.connection_details = TestCredentials() self.context.resource = self.resource self.context.remote_endpoints = [self.resource] self.command_orchestrator = CommandOrchestrator(self.context) self.command_orchestrator.cs_helper = Mock() self.command_orchestrator.cs_helper.get_session = Mock(return_value=session) self.command_orchestrator.cs_helper.get_connection_details = Mock(return_value=self.connection_details) self.command_orchestrator.vc_data_model.default_dvswitch = 'QualiSB\\dvSwitch' self.command_orchestrator.vc_data_model.holding_network = 'QualiSB/anetwork' self.ports = Mock() self.command_orchestrator._parse_remote_model = Mock(return_value=remote_resource) self.command_orchestrator.connection_orchestrator.disconnector.default_network = \ self.command_orchestrator.vc_data_model.holding_network
def setUp(self): expected_facts = { 'fact1': 'one', 'fact2': 'two', 'system': 'Unknown', 'system.uuid': 'MOCKUUID' } self.expected_facts = expected_facts self.stub_facts = StubFacts(expected_facts) self.backend = StubBackend() id_mock = Mock() id_mock.name = 'system' id_mock.uuid = 'Random UUID' id_mock.exists_and_valid = Mock(return_value=True) provide(IDENTITY, id_mock) sys.stderr = MockStderr sys.stdout = MockStdout
def setUp(self): self.resource = create_autospec(ResourceInfo) self.resource.ResourceModelName = 'VMwarev Center' self.resource.ResourceAttributes = { 'User': '******', 'Password': '******', 'Default dvSwitch': 'switch1', 'Holding Network': 'anetwork', 'Default Port Group Location': 'Quali', 'VM Cluster': 'Quali', 'VM Location': 'Quali', 'VM Resource Pool': 'Quali', 'VM Storage': 'Quali', 'Shutdown Method': 'hard', 'OVF Tool Path': 'C\\program files\ovf', 'Execution Server Selector': '', 'Reserved Networks': 'vlan65', 'Default Datacenter': 'QualiSB' } self.context = Mock() session = Mock() remote_resource = Mock() remote_resource.fullname = 'this is full name of the remote resource' remote_resource.uuid = 'this is full uuis of the remote resource' self.connection_details = Mock() self.context.resource = self.resource self.context.remote_endpoints = [self.resource] self.command_orchestrator = CommandOrchestrator() self.command_orchestrator.command_wrapper.execute_command_with_connection = Mock( return_value=True) self.command_orchestrator.cs_helper = Mock() self.command_orchestrator.cs_helper.get_session = Mock( return_value=session) self.command_orchestrator.cs_helper.get_connection_details = Mock( return_value=self.connection_details) self.ports = [Mock()] self.command_orchestrator._parse_remote_model = Mock( return_value=remote_resource)
def test_cancel(self, agent, context, mock_factory): consumer = {'id': 'xyz'} mock_consumer_manager = Mock() mock_consumer_manager.get_consumer = Mock(return_value=consumer) mock_factory.consumer_manager = Mock(return_value=mock_consumer_manager) mock_context = Mock() mock_context.uuid = 'test-uuid' mock_context.url = 'http://broker.com' context.return_value = mock_context mock_agent = Mock() agent.return_value = mock_agent # test manager task_id = '1234' agent_manager = AgentManager() consumer_id = 'abc' agent_manager.cancel_request(consumer_id, task_id) # validations mock_agent.cancel.assert_called_with(mock_context, task_id)
def setUp(self): self.deploy_action = DeployApp() self.deploy_action.actionId = '0a21384c-5620-4e6a-b162-c726681865a9' self.deploy_action.actionParams = DeployAppParams() self.deploy_action.actionParams.appName = 'myApp' self.deploy_action.actionParams.appResource = AppResourceInfo() self.deploy_action.actionParams.appResource.attributes = { "Public IP": "", "Password": "******", "User": "******" } self.deploy_action.actionParams.deployment = DeployAppDeploymentInfo() self.deploy_action.actionParams.deployment.deploymentPath = 'deployment model name' self.deploy_action.actionParams.deployment.attributes = { "Default Datacenter": "", "Auto Power Off": "True", "Auto Power On": "True", "Wait for IP": "True", "VM Cluster": "", "VM Location": "", "VM Storage": "", "VM Resource Pool": "", "vCenter Image": "c:\\tinyvm1.ova", "vCenter Image Arguments": "", "IP Regex": "", "Refresh IP Timeout": "600", "Auto Delete": "True", "Autoload": "True", "VCenter VM": "sds", "VCenter VM Snapshot": "sds", "VCenter Template": "dsds", "Behavior during save": "Powered Off" } self.resource = create_autospec(ResourceInfo) self.resource.name = 'Cloud1' self.resource.ResourceModelName = 'VMwarev Center' self.resource.ResourceAttributes = { 'User': '******', 'Password': '******', 'Default dvSwitch': 'switch1', 'Holding Network': 'anetwork', 'Default Port Group Location': 'Quali', 'VM Cluster': 'Quali', 'VM Location': 'Quali', 'VM Resource Pool': 'Quali', 'VM Storage': 'Quali', 'Shutdown Method': 'hard', 'OVF Tool Path': 'C\\program files\ovf', 'Execution Server Selector': '', 'Reserved Networks': 'vlan65', 'Default Datacenter': 'QualiSB' } self.context = Mock() session = Mock() remote_resource = Mock() remote_resource.fullname = 'this is full name of the remote resource' remote_resource.uuid = 'this is full uuis of the remote resource' self.connection_details = Mock() self.context.resource = self.resource self.context.resource.app_context = Mock() self.context.remote_endpoints = Mock() self.context.remote_endpoints = [self.resource] self.command_orchestrator = CommandOrchestrator() self.command_orchestrator.command_wrapper.execute_command_with_connection = Mock( return_value=DeployAppResult()) self.ports = [Mock()] self.command_orchestrator._parse_remote_model = Mock( return_value=remote_resource)
def gen_mock_socket(uuid): soc = Mock() soc.uuid = uuid return soc
def vnc_vn_1(): vnc_vn = Mock() vnc_vn.get_fq_name.return_value = ['domain', 'project', 'vnc-vn-1'] vnc_vn.name = 'vnc-vn-1-name' vnc_vn.uuid = 'vnc-vn-uuid-1' return vnc_vn