test_extarq.py (openstack-cyborg-8.0.0) | : | test_extarq.py (openstack-cyborg-9.0.0) | ||
---|---|---|---|---|
skipping to change at line 24 | skipping to change at line 24 | |||
# under the License. | # under the License. | |||
from unittest import mock | from unittest import mock | |||
from testtools.matchers import HasLength | from testtools.matchers import HasLength | |||
from cyborg.common import constants | from cyborg.common import constants | |||
from cyborg.common import exception | from cyborg.common import exception | |||
from cyborg import objects | from cyborg import objects | |||
from cyborg.tests.unit.db import base | from cyborg.tests.unit.db import base | |||
from cyborg.tests.unit import fake_attach_handle | ||||
from cyborg.tests.unit import fake_deployable | from cyborg.tests.unit import fake_deployable | |||
from cyborg.tests.unit import fake_device_profile | from cyborg.tests.unit import fake_device_profile | |||
from cyborg.tests.unit import fake_extarq | from cyborg.tests.unit import fake_extarq | |||
class TestExtARQObject(base.DbTestCase): | class TestExtARQObject(base.DbTestCase): | |||
def setUp(self): | def setUp(self): | |||
super(TestExtARQObject, self).setUp() | super(TestExtARQObject, self).setUp() | |||
self.fake_db_extarqs = fake_extarq.get_fake_db_extarqs() | self.fake_db_extarqs = fake_extarq.get_fake_db_extarqs() | |||
self.fake_obj_extarqs = fake_extarq.get_fake_extarq_objs() | self.fake_obj_extarqs = fake_extarq.get_fake_extarq_objs() | |||
self.fake_obj_fpga_extarqs = fake_extarq.get_fake_fpga_extarq_objs() | self.fake_obj_fpga_extarqs = fake_extarq.get_fake_fpga_extarq_objs() | |||
self.fake_obj_ahs = fake_attach_handle.get_fake_attach_handle_objs() | ||||
self.deployable_uuids = ['0acbf8d6-e02a-4394-aae3-57557d209498'] | self.deployable_uuids = ['0acbf8d6-e02a-4394-aae3-57557d209498'] | |||
@mock.patch('cyborg.objects.ExtARQ._from_db_object') | @mock.patch('cyborg.objects.ExtARQ._from_db_object') | |||
def test_get(self, mock_from_db_obj): | def test_get(self, mock_from_db_obj): | |||
db_extarq = self.fake_db_extarqs[0] | db_extarq = self.fake_db_extarqs[0] | |||
uuid = db_extarq['uuid'] | uuid = db_extarq['uuid'] | |||
mock_from_db_obj.return_value = self.fake_obj_extarqs[0] | mock_from_db_obj.return_value = self.fake_obj_extarqs[0] | |||
with mock.patch.object(self.dbapi, 'extarq_get', | with mock.patch.object(self.dbapi, 'extarq_get', | |||
autospec=True) as mock_extarq_get: | autospec=True) as mock_extarq_get: | |||
mock_extarq_get.return_value = db_extarq | mock_extarq_get.return_value = db_extarq | |||
skipping to change at line 342 | skipping to change at line 344 | |||
msg = ("Failed to allocate attach handle for ARQ %s" | msg = ("Failed to allocate attach handle for ARQ %s" | |||
"from deployable %s. Reason: %s") | "from deployable %s. Reason: %s") | |||
mock_allocate.side_effect = e | mock_allocate.side_effect = e | |||
fake_dep = fake_deployable.fake_deployable_obj(self.context, | fake_dep = fake_deployable.fake_deployable_obj(self.context, | |||
uuid=dep_uuid) | uuid=dep_uuid) | |||
self.assertRaises( | self.assertRaises( | |||
exception.ResourceNotFound, | exception.ResourceNotFound, | |||
obj_extarq._allocate_attach_handle, self.context, fake_dep) | obj_extarq._allocate_attach_handle, self.context, fake_dep) | |||
mock_log.assert_called_once_with( | mock_log.assert_called_once_with( | |||
msg, obj_extarq.arq.uuid, fake_dep.uuid, str(e)) | msg, obj_extarq.arq.uuid, fake_dep.uuid, str(e)) | |||
mock_check_state.assert_called_once_with( | ||||
self.context, constants.ARQ_BIND_FAILED) | ||||
@mock.patch('cyborg.objects.ExtARQ.update_check_state') | ||||
@mock.patch('cyborg.objects.attach_handle.AttachHandle.get_by_id') | ||||
@mock.patch('cyborg.objects.attach_handle.AttachHandle.deallocate') | ||||
def test_deallocate_attach_handle( | ||||
self, mock_deallocate, mock_ah, mock_check_state): | ||||
obj_extarq = self.fake_obj_extarqs[0] | ||||
mock_ah.return_value = self.fake_obj_ahs[0] | ||||
obj_extarq._deallocate_attach_handle(self.context, mock_ah.id) | ||||
mock_check_state.assert_not_called() | ||||
@mock.patch('logging.LoggerAdapter.error') | ||||
@mock.patch('cyborg.objects.ExtARQ.update_check_state') | ||||
@mock.patch('cyborg.objects.attach_handle.AttachHandle.get_by_id') | ||||
@mock.patch('cyborg.objects.attach_handle.AttachHandle.deallocate') | ||||
def test_deallocate_attach_handle_with_error_log( | ||||
self, mock_ah, mock_deallocate, mock_check_state, mock_log): | ||||
obj_extarq = self.fake_obj_extarqs[0] | ||||
mock_ah.return_value = self.fake_obj_ahs[0] | ||||
e = exception.ResourceNotFound( | ||||
resource='AttachHandle', msg="Just for Test") | ||||
msg = ("Failed to deallocate attach handle %s for ARQ %s." | ||||
"Reason: %s") | ||||
mock_deallocate.side_effect = e | ||||
self.assertRaises( | ||||
exception.ResourceNotFound, | ||||
obj_extarq._deallocate_attach_handle, self.context, mock_ah.id) | ||||
mock_log.assert_called_once_with( | ||||
msg, mock_ah.id, obj_extarq.arq.uuid, str(e)) | ||||
mock_check_state.assert_called_once_with( | ||||
self.context, constants.ARQ_UNBIND_FAILED) | ||||
@mock.patch('cyborg.objects.ExtARQ.get') | @mock.patch('cyborg.objects.ExtARQ.get') | |||
@mock.patch('cyborg.objects.ExtARQ._from_db_object') | @mock.patch('cyborg.objects.ExtARQ._from_db_object') | |||
def test_save(self, mock_from_db_obj, mock_obj_extarq): | def test_save(self, mock_from_db_obj, mock_obj_extarq): | |||
db_extarq = self.fake_db_extarqs[0] | db_extarq = self.fake_db_extarqs[0] | |||
uuid = db_extarq['uuid'] | uuid = db_extarq['uuid'] | |||
mock_from_db_obj.return_value = db_extarq | mock_from_db_obj.return_value = db_extarq | |||
mock_obj_extarq.return_value = self.fake_obj_extarqs[0] | mock_obj_extarq.return_value = self.fake_obj_extarqs[0] | |||
with mock.patch.object(self.dbapi, 'extarq_update', | with mock.patch.object(self.dbapi, 'extarq_update', | |||
autospec=True) as mock_extarq_update: | autospec=True) as mock_extarq_update: | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 35 lines changed or added |