示例#1
0
文件: orders.py 项目: gluegl/barbican
    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)
示例#2
0
    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)
示例#3
0
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
示例#4
0
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
示例#5
0
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
示例#6
0
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
示例#7
0
    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)
示例#8
0
    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)
示例#9
0
 def __init__(self):
     self.order_repo = rep.get_order_repository()
示例#10
0
# 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):
示例#11
0
文件: orders.py 项目: gluegl/barbican
 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)
示例#13
0
 def __init__(self):
     self.order_repo = rep.get_order_repository()
示例#14
0
 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()
示例#15
0
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