def test_create(self, mock_db_create, mock_notify, mock_notify_action): obj = objects.InstanceGroup(context=self.context) obj.uuid = _DB_UUID obj.name = _INST_GROUP_DB['name'] obj.user_id = _INST_GROUP_DB['user_id'] obj.project_id = _INST_GROUP_DB['project_id'] obj.members = _INST_GROUP_DB['members'] obj.policies = _INST_GROUP_DB['policies'] obj.updated_at = _TS_NOW obj.created_at = _TS_NOW obj.deleted_at = None obj.deleted = False obj.create() mock_db_create.assert_called_once_with( self.context, { 'uuid': _DB_UUID, 'name': _INST_GROUP_DB['name'], 'user_id': _INST_GROUP_DB['user_id'], 'project_id': _INST_GROUP_DB['project_id'], 'created_at': _TS_NOW, 'updated_at': _TS_NOW, 'deleted_at': None, 'deleted': False, }, members=_INST_GROUP_DB['members'], policies=_INST_GROUP_DB['policies']) mock_notify.assert_called_once_with( self.context, "create", { 'uuid': _DB_UUID, 'name': _INST_GROUP_DB['name'], 'user_id': _INST_GROUP_DB['user_id'], 'project_id': _INST_GROUP_DB['project_id'], 'created_at': _TS_NOW, 'updated_at': _TS_NOW, 'deleted_at': None, 'deleted': False, 'members': _INST_GROUP_DB['members'], 'policies': _INST_GROUP_DB['policies'], 'server_group_id': _DB_UUID }) def _group_matcher(group): """Custom mock call matcher method.""" return (group.uuid == _DB_UUID and group.name == _INST_GROUP_DB['name'] and group.user_id == _INST_GROUP_DB['user_id'] and group.project_id == _INST_GROUP_DB['project_id'] and group.created_at == _TS_NOW and group.updated_at == _TS_NOW and group.deleted_at is None and group.deleted is False and group.members == _INST_GROUP_DB['members'] and group.policies == _INST_GROUP_DB['policies'] and group.id == 1) group_matcher = test_utils.CustomMockCallMatcher(_group_matcher) self.assertRaises(exception.ObjectActionError, obj.create) mock_notify_action.assert_called_once_with(context=self.context, group=group_matcher, action='create')
def test_destroy(self, mock_db_delete, mock_notify, mock_notify_action): obj = objects.InstanceGroup(context=self.context) obj.uuid = _DB_UUID obj.destroy() group_matcher = test_utils.CustomMockCallMatcher( lambda group: group.uuid == _DB_UUID) mock_notify_action.assert_called_once_with(context=obj._context, group=group_matcher, action='delete') mock_db_delete.assert_called_once_with(self.context, _DB_UUID) mock_notify.assert_called_once_with(self.context, "delete", {'server_group_id': _DB_UUID})
def test_success(self, mock_notify): self.keypair_api.delete_key_pair(self.ctxt, self.ctxt.user_id, self.existing_key_name) self.assertRaises(exception.KeypairNotFound, self.keypair_api.get_key_pair, self.ctxt, self.ctxt.user_id, self.existing_key_name) match_by_name = test_utils.CustomMockCallMatcher( lambda keypair: keypair['name'] == self.existing_key_name) mock_notify.assert_has_calls([ mock.call(context=self.ctxt, keypair=match_by_name, action='delete', phase='start'), mock.call(context=self.ctxt, keypair=match_by_name, action='delete', phase='end') ]) self._check_notifications(action='delete', key_name=self.existing_key_name)