def __init__(self, queue_resource=None): LOG.debug('Creating OrdersController') self.order_repo = repo.get_order_repository() self.queue = queue_resource or async_client.TaskClient() self.type_order_validator = validators.TypeOrderValidator() self.quota_enforcer = quota.QuotaEnforcer('orders', self.order_repo)
def create_order(project=None, session=None): if not project: project = create_project(session=session) order = models.Order() order.project_id = project.id order_repo = repositories.get_order_repository() order_repo.create_from(order, session=session) return order
def create_order(project=None, session=None, secret=None, container=None): if not project: project = create_project(session=session) order = models.Order() order.project_id = project.id if secret: order.secret_id = secret.id if container: order.container_id = container.id order_repo = repositories.get_order_repository() order_repo.create_from(order, session=session) return order
def test_process_bogus_update_type_order_should_not_rollback(self): order_id = self.order.id self.order.type = 'bogus-type' # Force error out of business logic. # Invoke process, including the transactional decorator that terminates # the session when it is done. Hence we must re-retrieve the order for # verification afterwards. self.server.update_order(None, self.order.id, self.external_id, None) order_repo = repositories.get_order_repository() order_result = order_repo.get(order_id, self.external_id) self.assertEqual(models.States.ERROR, order_result.status) self.assertEqual( six.u('Update Order failure seen - ' 'please contact site administrator.'), order_result.error_reason) self.assertEqual(six.u('500'), order_result.error_status_code)
def test_process_bogus_update_type_order_should_not_rollback(self): order_id = self.order.id self.order.type = 'bogus-type' # Force error out of business logic. # Invoke process, including the transactional decorator that terminates # the session when it is done. Hence we must re-retrieve the order for # verification afterwards. self.server.update_order( None, self.order.id, self.external_id, None, self.request_id) order_repo = repositories.get_order_repository() order_result = order_repo.get(order_id, self.external_id) self.assertEqual(models.States.ERROR, order_result.status) self.assertEqual( six.u( 'Update Order failure seen - ' 'please contact site administrator.'), order_result.error_reason) self.assertEqual( six.u('500'), order_result.error_status_code)
def __init__(self): self.order_repo = rep.get_order_repository()
# implied. # See the License for the specific language governing permissions and # limitations under the License. import os import uuid import mock from barbican.common import resources from barbican.model import models from barbican.model import repositories from barbican.tests.api.controllers import test_acls from barbican.tests.api import test_resources_policy as test_policy from barbican.tests import utils order_repo = repositories.get_order_repository() project_repo = repositories.get_project_repository() ca_repo = repositories.get_ca_repository() project_ca_repo = repositories.get_project_ca_repository() container_repo = repositories.get_container_repository() generic_key_meta = { 'name': 'secretname', 'algorithm': 'AES', 'bit_length': 256, 'mode': 'cbc', 'payload_content_type': 'application/octet-stream' } class WhenCreatingOrdersUsingOrdersResource(utils.BarbicanAPIBaseTestCase):
def __init__(self, order, queue_resource=None): self.order = order self.order_repo = repo.get_order_repository() self.queue = queue_resource or async_client.TaskClient() self.type_order_validator = validators.TypeOrderValidator()
from barbican.model import models from barbican.model import repositories from barbican.plugin.interface import certificate_manager as cert_man from barbican.plugin.interface import secret_store from barbican.tasks import certificate_resources as cert_res from barbican.tasks import common from barbican.tests import database_utils from barbican.tests import utils container_repo = repositories.get_container_repository() secret_repo = repositories.get_secret_repository() ca_repo = repositories.get_ca_repository() project_ca_repo = repositories.get_project_ca_repository() preferred_ca_repo = repositories.get_preferred_ca_repository() project_repo = repositories.get_project_repository() order_repo = repositories.get_order_repository() class WhenPerformingPrivateOperations(utils.BaseTestCase, utils.MockModelRepositoryMixin): """Tests private methods within certificate_resources.py.""" def setUp(self): super(WhenPerformingPrivateOperations, self).setUp() self.order_plugin_meta_repo = mock.MagicMock() self.setup_order_plugin_meta_repository_mock( self.order_plugin_meta_repo) self.order_barbican_meta_repo = mock.MagicMock() self.setup_order_barbican_meta_repository_mock( self.order_barbican_meta_repo)
class Order(base.BarbicanObject, base.BarbicanPersistentObject, object_base.VersionedObjectDictCompat): """This class represents Order object""" fields = { 'type': fields.StringField(default='key'), 'project_id': fields.StringField(), 'error_status_code': fields.StringField(nullable=True, default=None), 'error_reason': fields.StringField(nullable=True, default=None), 'meta': fields.JsonField(nullable=True, default=None), 'secret_id': fields.StringField(nullable=True, default=None), 'container_id': fields.StringField(nullable=True, default=None), 'sub_status': fields.StringField(nullable=True, default=None), 'sub_status_message': fields.StringField(nullable=True, default=None), 'creator_id': fields.StringField(nullable=True, default=None), 'order_plugin_metadata': fields.DictOfObjectsField('OrderPluginMetadatum', nullable=True, default=dict()), 'order_barbican_metadata': fields.DictOfObjectsField('OrderBarbicanMetadatum', nullable=True, default=dict()) } db_model = models.Order db_repo = repos.get_order_repository() synthetic_fields = ['order_plugin_metadata', 'order_barbican_metadata'] @classmethod def get_by_create_date(cls, external_project_id, offset_arg=None, limit_arg=None, meta_arg=None, suppress_exception=False, session=None): """Returns a list of orders The list is ordered by the date they were created at and paged based on the offset and limit fields. :param external_project_id: The keystone id for the project. :param offset_arg: The entity number where the query result should start. :param limit_arg: The maximum amount of entities in the result set. :param meta_arg: Optional meta field used to filter results. :param suppress_exception: Whether NoResultFound exceptions should be suppressed. :param session: SQLAlchemy session object. :returns: Tuple consisting of (list_of_entities, offset, limit, total). """ entities_db, offset, limit, total = cls.db_repo.get_by_create_date( external_project_id, offset_arg=offset_arg, limit_arg=limit_arg, meta_arg=meta_arg, suppress_exception=suppress_exception, session=session) entities = [ cls()._from_db_object(entity_db) for entity_db in entities_db ] return entities, offset, limit, total