Removed FakeInstance and introduced stubout for DB. Code clean-up
This commit is contained in:
		
							
								
								
									
										33
									
								
								nova/tests/xenapi/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								nova/tests/xenapi/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | |||||||
|  | # vim: tabstop=4 shiftwidth=4 softtabstop=4 | ||||||
|  |  | ||||||
|  | # Copyright (c) 2010 Citrix Systems, Inc. | ||||||
|  | # | ||||||
|  | #    Licensed under the Apache License, Version 2.0 (the "License"); you may | ||||||
|  | #    not use this file except in compliance with the License. You may obtain | ||||||
|  | #    a copy of the License at | ||||||
|  | # | ||||||
|  | #         http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | # | ||||||
|  | #    Unless required by applicable law or agreed to in writing, software | ||||||
|  | #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||||
|  | #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||||||
|  | #    License for the specific language governing permissions and limitations | ||||||
|  | #    under the License. | ||||||
|  |  | ||||||
|  | # vim: tabstop=4 shiftwidth=4 softtabstop=4 | ||||||
|  | # | ||||||
|  | #    Copyright (c) 2010 Citrix Systems, Inc. | ||||||
|  | # | ||||||
|  | #    Licensed under the Apache License, Version 2.0 (the "License"); you may | ||||||
|  | #    not use this file except in compliance with the License. You may obtain | ||||||
|  | #    a copy of the License at | ||||||
|  | # | ||||||
|  | #         http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | # | ||||||
|  | #    Unless required by applicable law or agreed to in writing, software | ||||||
|  | #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||||
|  | #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||||||
|  | #    License for the specific language governing permissions and limitations | ||||||
|  | #    under the License. | ||||||
|  |  | ||||||
|  | """Stubouts, mocks and fixtures for the test suite""" | ||||||
							
								
								
									
										98
									
								
								nova/tests/xenapi/stubs.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								nova/tests/xenapi/stubs.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,98 @@ | |||||||
|  | # vim: tabstop=4 shiftwidth=4 softtabstop=4 | ||||||
|  |  | ||||||
|  | # Copyright (c) 2010 Citrix Systems, Inc. | ||||||
|  | # | ||||||
|  | #    Licensed under the Apache License, Version 2.0 (the "License"); you may | ||||||
|  | #    not use this file except in compliance with the License. You may obtain | ||||||
|  | #    a copy of the License at | ||||||
|  | # | ||||||
|  | #         http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | # | ||||||
|  | #    Unless required by applicable law or agreed to in writing, software | ||||||
|  | #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||||
|  | #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||||||
|  | #    License for the specific language governing permissions and limitations | ||||||
|  | #    under the License. | ||||||
|  |  | ||||||
|  | """Stubouts, mocks and fixtures for the test suite""" | ||||||
|  |  | ||||||
|  | from nova.virt import xenapi_conn | ||||||
|  | from nova.virt.xenapi import fake | ||||||
|  |  | ||||||
|  |  | ||||||
|  | def stubout_session(stubs, cls): | ||||||
|  |     """ Stubs out two methods from XenAPISession """ | ||||||
|  |     def fake_import(self): | ||||||
|  |         """ Stubs out get_imported_xenapi of XenAPISession """ | ||||||
|  |         fake_module = 'nova.virt.xenapi.fake' | ||||||
|  |         from_list = ['fake'] | ||||||
|  |         return __import__(fake_module, globals(), locals(), from_list, -1) | ||||||
|  |  | ||||||
|  |     stubs.Set(xenapi_conn.XenAPISession, '_create_session', | ||||||
|  |                        lambda s, url: cls(url)) | ||||||
|  |     stubs.Set(xenapi_conn.XenAPISession, 'get_imported_xenapi', | ||||||
|  |                        fake_import) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class FakeSessionForVMTests(fake.SessionBase): | ||||||
|  |     """ Stubs out a XenAPISession for VM tests """ | ||||||
|  |     def __init__(self, uri): | ||||||
|  |         super(FakeSessionForVMTests, self).__init__(uri) | ||||||
|  |  | ||||||
|  |     def network_get_all_records_where(self, _1, _2): | ||||||
|  |         return self.xenapi.network.get_all_records() | ||||||
|  |  | ||||||
|  |     def host_call_plugin(self, _1, _2, _3, _4, _5): | ||||||
|  |         return '' | ||||||
|  |  | ||||||
|  |     def VM_start(self, _1, ref, _2, _3): | ||||||
|  |         vm = fake.get_record('VM', ref) | ||||||
|  |         if vm['power_state'] != 'Halted': | ||||||
|  |             raise fake.Failure(['VM_BAD_POWER_STATE', ref, 'Halted', | ||||||
|  |                                   vm['power_state']]) | ||||||
|  |         vm['power_state'] = 'Running' | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class FakeSessionForVolumeTests(fake.SessionBase): | ||||||
|  |     """ Stubs out a XenAPISession for Volume tests """ | ||||||
|  |     def __init__(self, uri): | ||||||
|  |         super(FakeSessionForVolumeTests, self).__init__(uri) | ||||||
|  |  | ||||||
|  |     def VBD_plug(self, _1, _2): | ||||||
|  |         #FIXME(armando):make proper plug | ||||||
|  |         pass | ||||||
|  |  | ||||||
|  |     def PBD_unplug(self, _1, _2): | ||||||
|  |         #FIXME(armando):make proper unplug | ||||||
|  |         pass | ||||||
|  |  | ||||||
|  |     def SR_forget(self, _1, _2): | ||||||
|  |         #FIXME(armando):make proper forget | ||||||
|  |         pass | ||||||
|  |  | ||||||
|  |     def VDI_introduce(self, _1, uuid, _2, _3, _4, _5, | ||||||
|  |                       _6, _7, _8, _9, _10, _11): | ||||||
|  |         #FIXME(armando):make proper introduce | ||||||
|  |         valid_vdi = False | ||||||
|  |         refs = fake.get_all('VDI') | ||||||
|  |         for ref in refs: | ||||||
|  |             rec = fake.get_record('VDI', ref) | ||||||
|  |             if rec['uuid'] == uuid: | ||||||
|  |                 valid_vdi = True | ||||||
|  |         if not valid_vdi: | ||||||
|  |             raise fake.Failure([['INVALID_VDI', 'session', self._session]]) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class FakeSessionForVolumeFailedTests(FakeSessionForVolumeTests): | ||||||
|  |     """ Stubs out a XenAPISession for Volume tests: it injects failures """ | ||||||
|  |     def __init__(self, uri): | ||||||
|  |         super(FakeSessionForVolumeFailedTests, self).__init__(uri) | ||||||
|  |  | ||||||
|  |     def VDI_introduce(self, _1, uuid, _2, _3, _4, _5, | ||||||
|  |                       _6, _7, _8, _9, _10, _11): | ||||||
|  |         # This is for testing failure | ||||||
|  |         raise fake.Failure([['INVALID_VDI', 'session', self._session]]) | ||||||
|  |  | ||||||
|  |     def VBD_plug(self, _1, _2): | ||||||
|  |         # This is for testing failure | ||||||
|  |         raise fake.Failure([['INVALID_VBD', 'session', self._session]]) | ||||||
| @@ -14,32 +14,14 @@ | |||||||
| #    License for the specific language governing permissions and limitations | #    License for the specific language governing permissions and limitations | ||||||
| #    under the License. | #    under the License. | ||||||
|  |  | ||||||
| # vim: tabstop=4 shiftwidth=4 softtabstop=4 | """ | ||||||
| # | Test suite for XenAPI | ||||||
| #    Copyright (c) 2010 Citrix Systems, Inc. | """ | ||||||
| # |  | ||||||
| #    Licensed under the Apache License, Version 2.0 (the "License"); you may |  | ||||||
| #    not use this file except in compliance with the License. You may obtain |  | ||||||
| #    a copy of the License at |  | ||||||
| # |  | ||||||
| #         http://www.apache.org/licenses/LICENSE-2.0 |  | ||||||
| # |  | ||||||
| #    Unless required by applicable law or agreed to in writing, software |  | ||||||
| #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |  | ||||||
| #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |  | ||||||
| #    License for the specific language governing permissions and limitations |  | ||||||
| #    under the License. |  | ||||||
|  |  | ||||||
|  |  | ||||||
| import stubout | import stubout | ||||||
| import uuid |  | ||||||
|  |  | ||||||
| from twisted.internet import defer |  | ||||||
| from twisted.internet import threads |  | ||||||
|  |  | ||||||
| from nova import db | from nova import db | ||||||
| from nova import context | from nova import context | ||||||
| from nova import exception |  | ||||||
| from nova import flags | from nova import flags | ||||||
| from nova import test | from nova import test | ||||||
| from nova import utils | from nova import utils | ||||||
| @@ -49,28 +31,15 @@ from nova.compute import power_state | |||||||
| from nova.virt import xenapi_conn | from nova.virt import xenapi_conn | ||||||
| from nova.virt.xenapi import fake | from nova.virt.xenapi import fake | ||||||
| from nova.virt.xenapi import volume_utils | from nova.virt.xenapi import volume_utils | ||||||
| from nova.virt.xenapi import vm_utils | from nova.tests.db import fakes | ||||||
| from nova.virt.xenapi import volumeops | from nova.tests.xenapi import stubs | ||||||
| from boto.ec2.volume import Volume |  | ||||||
|  |  | ||||||
| FLAGS = flags.FLAGS | FLAGS = flags.FLAGS | ||||||
|  |  | ||||||
|  |  | ||||||
| def stubout_session(stubs, cls): |  | ||||||
|     def fake_import(self): |  | ||||||
|         fake_module = 'nova.virt.xenapi.fake' |  | ||||||
|         from_list = ['fake'] |  | ||||||
|         return __import__(fake_module, globals(), locals(), from_list, -1) |  | ||||||
|  |  | ||||||
|     stubs.Set(xenapi_conn.XenAPISession, '_create_session', |  | ||||||
|                        lambda s, url: cls(url)) |  | ||||||
|     stubs.Set(xenapi_conn.XenAPISession, 'get_imported_xenapi', |  | ||||||
|                        fake_import) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class XenAPIVolumeTestCase(test.TrialTestCase): | class XenAPIVolumeTestCase(test.TrialTestCase): | ||||||
|     """ |     """ | ||||||
|     Unit tests for VM operations |     Unit tests for Volume operations | ||||||
|     """ |     """ | ||||||
|     def setUp(self): |     def setUp(self): | ||||||
|         super(XenAPIVolumeTestCase, self).setUp() |         super(XenAPIVolumeTestCase, self).setUp() | ||||||
| @@ -78,7 +47,17 @@ class XenAPIVolumeTestCase(test.TrialTestCase): | |||||||
|         FLAGS.target_host = '127.0.0.1' |         FLAGS.target_host = '127.0.0.1' | ||||||
|         FLAGS.xenapi_connection_url = 'test_url' |         FLAGS.xenapi_connection_url = 'test_url' | ||||||
|         FLAGS.xenapi_connection_password = 'test_pass' |         FLAGS.xenapi_connection_password = 'test_pass' | ||||||
|  |         fakes.stub_out_db_instance_api(self.stubs) | ||||||
|         fake.reset() |         fake.reset() | ||||||
|  |         self.values = {'name': 1, | ||||||
|  |                   'project_id': 'fake', | ||||||
|  |                   'user_id': 'fake', | ||||||
|  |                   'image_id': 1, | ||||||
|  |                   'kernel_id': 2, | ||||||
|  |                   'ramdisk_id': 3, | ||||||
|  |                   'instance_type': 'm1.large', | ||||||
|  |                   'mac_address': 'aa:bb:cc:dd:ee:ff', | ||||||
|  |                   } | ||||||
|  |  | ||||||
|     def _create_volume(self, size='0'): |     def _create_volume(self, size='0'): | ||||||
|         """Create a volume object.""" |         """Create a volume object.""" | ||||||
| @@ -94,7 +73,7 @@ class XenAPIVolumeTestCase(test.TrialTestCase): | |||||||
|  |  | ||||||
|     def test_create_iscsi_storage(self): |     def test_create_iscsi_storage(self): | ||||||
|         """ This shows how to test helper classes' methods """ |         """ This shows how to test helper classes' methods """ | ||||||
|         stubout_session(self.stubs, FakeSessionForVolumeTests) |         stubs.stubout_session(self.stubs, stubs.FakeSessionForVolumeTests) | ||||||
|         session = xenapi_conn.XenAPISession('test_url', 'root', 'test_pass') |         session = xenapi_conn.XenAPISession('test_url', 'root', 'test_pass') | ||||||
|         helper = volume_utils.VolumeHelper |         helper = volume_utils.VolumeHelper | ||||||
|         helper.XenAPI = session.get_imported_xenapi() |         helper.XenAPI = session.get_imported_xenapi() | ||||||
| @@ -106,11 +85,13 @@ class XenAPIVolumeTestCase(test.TrialTestCase): | |||||||
|                                                       info, |                                                       info, | ||||||
|                                                       label, |                                                       label, | ||||||
|                                                       description) |                                                       description) | ||||||
|  |         srs = fake.get_all('SR') | ||||||
|  |         self.assertEqual(sr_ref, srs[0]) | ||||||
|         db.volume_destroy(context.get_admin_context(), vol['id']) |         db.volume_destroy(context.get_admin_context(), vol['id']) | ||||||
|  |  | ||||||
|     def test_parse_volume_info_raise_exception(self): |     def test_parse_volume_info_raise_exception(self): | ||||||
|         """ This shows how to test helper classes' methods """ |         """ This shows how to test helper classes' methods """ | ||||||
|         stubout_session(self.stubs, FakeSessionForVolumeTests) |         stubs.stubout_session(self.stubs, stubs.FakeSessionForVolumeTests) | ||||||
|         session = xenapi_conn.XenAPISession('test_url', 'root', 'test_pass') |         session = xenapi_conn.XenAPISession('test_url', 'root', 'test_pass') | ||||||
|         helper = volume_utils.VolumeHelper |         helper = volume_utils.VolumeHelper | ||||||
|         helper.XenAPI = session.get_imported_xenapi() |         helper.XenAPI = session.get_imported_xenapi() | ||||||
| @@ -119,6 +100,7 @@ class XenAPIVolumeTestCase(test.TrialTestCase): | |||||||
|         info = helper.parse_volume_info(vol['ec2_id'], '/dev/sd') |         info = helper.parse_volume_info(vol['ec2_id'], '/dev/sd') | ||||||
|  |  | ||||||
|         def check(exc): |         def check(exc): | ||||||
|  |             """ handler """ | ||||||
|             self.assertIsInstance(exc.value, volume_utils.StorageError) |             self.assertIsInstance(exc.value, volume_utils.StorageError) | ||||||
|  |  | ||||||
|         info.addErrback(check) |         info.addErrback(check) | ||||||
| @@ -126,16 +108,16 @@ class XenAPIVolumeTestCase(test.TrialTestCase): | |||||||
|  |  | ||||||
|     def test_attach_volume(self): |     def test_attach_volume(self): | ||||||
|         """ This shows how to test Ops classes' methods """ |         """ This shows how to test Ops classes' methods """ | ||||||
|         stubout_session(self.stubs, FakeSessionForVolumeTests) |         stubs.stubout_session(self.stubs, stubs.FakeSessionForVolumeTests) | ||||||
|         conn = xenapi_conn.get_connection(False) |         conn = xenapi_conn.get_connection(False) | ||||||
|         volume = self._create_volume() |         volume = self._create_volume() | ||||||
|         instance = FakeInstance(1, 'fake', 'fake', 1, 2, 3, |         instance = db.instance_create(self.values) | ||||||
|                                 'm1.large', 'aa:bb:cc:dd:ee:ff') |  | ||||||
|         fake.create_vm(instance.name, 'Running') |         fake.create_vm(instance.name, 'Running') | ||||||
|         result = conn.attach_volume(instance.name, volume['ec2_id'], |         result = conn.attach_volume(instance.name, volume['ec2_id'], | ||||||
|                                     '/dev/sdc') |                                     '/dev/sdc') | ||||||
|  |  | ||||||
|         def check(_): |         def check(_): | ||||||
|  |             """ handler """ | ||||||
|             # check that the VM has a VBD attached to it |             # check that the VM has a VBD attached to it | ||||||
|             # Get XenAPI reference for the VM |             # Get XenAPI reference for the VM | ||||||
|             vms = fake.get_all('VM') |             vms = fake.get_all('VM') | ||||||
| @@ -150,16 +132,17 @@ class XenAPIVolumeTestCase(test.TrialTestCase): | |||||||
|  |  | ||||||
|     def test_attach_volume_raise_exception(self): |     def test_attach_volume_raise_exception(self): | ||||||
|         """ This shows how to test when exceptions are raised """ |         """ This shows how to test when exceptions are raised """ | ||||||
|         stubout_session(self.stubs, FakeSessionForVolumeFailedTests) |         stubs.stubout_session(self.stubs, | ||||||
|  |                               stubs.FakeSessionForVolumeFailedTests) | ||||||
|         conn = xenapi_conn.get_connection(False) |         conn = xenapi_conn.get_connection(False) | ||||||
|         volume = self._create_volume() |         volume = self._create_volume() | ||||||
|         instance = FakeInstance(1, 'fake', 'fake', 1, 2, 3, |         instance = db.instance_create(self.values) | ||||||
|                                 'm1.large', 'aa:bb:cc:dd:ee:ff') |  | ||||||
|         fake.create_vm(instance.name, 'Running') |         fake.create_vm(instance.name, 'Running') | ||||||
|         result = conn.attach_volume(instance.name, volume['ec2_id'], |         result = conn.attach_volume(instance.name, volume['ec2_id'], | ||||||
|                                     '/dev/sdc') |                                     '/dev/sdc') | ||||||
|  |  | ||||||
|         def check(exc): |         def check(exc): | ||||||
|  |             """ handler """ | ||||||
|             if exc: |             if exc: | ||||||
|                 pass |                 pass | ||||||
|             else: |             else: | ||||||
| @@ -188,22 +171,32 @@ class XenAPIVMTestCase(test.TrialTestCase): | |||||||
|         FLAGS.xenapi_connection_url = 'test_url' |         FLAGS.xenapi_connection_url = 'test_url' | ||||||
|         FLAGS.xenapi_connection_password = 'test_pass' |         FLAGS.xenapi_connection_password = 'test_pass' | ||||||
|         fake.reset() |         fake.reset() | ||||||
|  |         fakes.stub_out_db_instance_api(self.stubs) | ||||||
|         fake.create_network('fake', FLAGS.flat_network_bridge) |         fake.create_network('fake', FLAGS.flat_network_bridge) | ||||||
|  |  | ||||||
|     def test_list_instances_0(self): |     def test_list_instances_0(self): | ||||||
|         stubout_session(self.stubs, FakeSessionForVMTests) |         stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) | ||||||
|         conn = xenapi_conn.get_connection(False) |         conn = xenapi_conn.get_connection(False) | ||||||
|         instances = conn.list_instances() |         instances = conn.list_instances() | ||||||
|         self.assertEquals(instances, []) |         self.assertEquals(instances, []) | ||||||
|  |  | ||||||
|     def test_spawn(self): |     def test_spawn(self): | ||||||
|         stubout_session(self.stubs, FakeSessionForVMTests) |         stubs.stubout_session(self.stubs, stubs.FakeSessionForVMTests) | ||||||
|  |         values = {'name': 1, | ||||||
|  |                   'project_id': self.project.id, | ||||||
|  |                   'user_id': self.user.id, | ||||||
|  |                   'image_id': 1, | ||||||
|  |                   'kernel_id': 2, | ||||||
|  |                   'ramdisk_id': 3, | ||||||
|  |                   'instance_type': 'm1.large', | ||||||
|  |                   'mac_address': 'aa:bb:cc:dd:ee:ff', | ||||||
|  |                   } | ||||||
|         conn = xenapi_conn.get_connection(False) |         conn = xenapi_conn.get_connection(False) | ||||||
|         instance = FakeInstance(1, self.project.id, self.user.id, 1, 2, 3, |         instance = db.instance_create(values) | ||||||
|                                 'm1.large', 'aa:bb:cc:dd:ee:ff') |  | ||||||
|         result = conn.spawn(instance) |         result = conn.spawn(instance) | ||||||
|  |  | ||||||
|         def check(_): |         def check(_): | ||||||
|  |             """ handler """ | ||||||
|             instances = conn.list_instances() |             instances = conn.list_instances() | ||||||
|             self.assertEquals(instances, [1]) |             self.assertEquals(instances, [1]) | ||||||
|  |  | ||||||
| @@ -241,77 +234,3 @@ class XenAPIVMTestCase(test.TrialTestCase): | |||||||
|         self.manager.delete_project(self.project) |         self.manager.delete_project(self.project) | ||||||
|         self.manager.delete_user(self.user) |         self.manager.delete_user(self.user) | ||||||
|         self.stubs.UnsetAll() |         self.stubs.UnsetAll() | ||||||
|  |  | ||||||
|  |  | ||||||
| class FakeInstance(): |  | ||||||
|     def __init__(self, name, project_id, user_id, image_id, kernel_id, |  | ||||||
|                  ramdisk_id, instance_type, mac_address): |  | ||||||
|         self.name = name |  | ||||||
|         self.project_id = project_id |  | ||||||
|         self.user_id = user_id |  | ||||||
|         self.image_id = image_id |  | ||||||
|         self.kernel_id = kernel_id |  | ||||||
|         self.ramdisk_id = ramdisk_id |  | ||||||
|         self.instance_type = instance_type |  | ||||||
|         self.mac_address = mac_address |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class FakeSessionForVMTests(fake.SessionBase): |  | ||||||
|     def __init__(self, uri): |  | ||||||
|         super(FakeSessionForVMTests, self).__init__(uri) |  | ||||||
|  |  | ||||||
|     def network_get_all_records_where(self, _1, _2): |  | ||||||
|         return self.xenapi.network.get_all_records() |  | ||||||
|  |  | ||||||
|     def host_call_plugin(self, _1, _2, _3, _4, _5): |  | ||||||
|         return '' |  | ||||||
|  |  | ||||||
|     def VM_start(self, _1, ref, _2, _3): |  | ||||||
|         vm = fake.get_record('VM', ref) |  | ||||||
|         if vm['power_state'] != 'Halted': |  | ||||||
|             raise fake.Failure(['VM_BAD_POWER_STATE', ref, 'Halted', |  | ||||||
|                                   vm['power_state']]) |  | ||||||
|         vm['power_state'] = 'Running' |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class FakeSessionForVolumeTests(fake.SessionBase): |  | ||||||
|     def __init__(self, uri): |  | ||||||
|         super(FakeSessionForVolumeTests, self).__init__(uri) |  | ||||||
|  |  | ||||||
|     def VBD_plug(self, _1, _2): |  | ||||||
|         #FIXME(armando):make proper plug |  | ||||||
|         pass |  | ||||||
|  |  | ||||||
|     def PBD_unplug(self, _1, _2): |  | ||||||
|         #FIXME(armando):make proper unplug |  | ||||||
|         pass |  | ||||||
|  |  | ||||||
|     def SR_forget(self, _1, _2): |  | ||||||
|         #FIXME(armando):make proper forget |  | ||||||
|         pass |  | ||||||
|  |  | ||||||
|     def VDI_introduce(self, _1, uuid, _2, _3, _4, _5, |  | ||||||
|                       _6, _7, _8, _9, _10, _11): |  | ||||||
|         #FIXME(armando):make proper introduce |  | ||||||
|         valid_vdi = False |  | ||||||
|         refs = fake.get_all('VDI') |  | ||||||
|         for ref in refs: |  | ||||||
|             rec = fake.get_record('VDI', ref) |  | ||||||
|             if rec['uuid'] == uuid: |  | ||||||
|                 valid_vdi = True |  | ||||||
|         if not valid_vdi: |  | ||||||
|             raise fake.Failure([['INVALID_VDI', 'session', self._session]]) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class FakeSessionForVolumeFailedTests(FakeSessionForVolumeTests): |  | ||||||
|     def __init__(self, uri): |  | ||||||
|         super(FakeSessionForVolumeFailedTests, self).__init__(uri) |  | ||||||
|  |  | ||||||
|     def VDI_introduce(self, _1, uuid, _2, _3, _4, _5, |  | ||||||
|                       _6, _7, _8, _9, _10, _11): |  | ||||||
|         # test failure |  | ||||||
|         raise fake.Failure([['INVALID_VDI', 'session', self._session]]) |  | ||||||
|  |  | ||||||
|     def VBD_plug(self, _1, _2): |  | ||||||
|         # test failure |  | ||||||
|         raise fake.Failure([['INVALID_VBD', 'session', self._session]]) |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Armando Migliaccio
					Armando Migliaccio