def setUp(self): super(WhenUsingKeystoneEventConsumer, self).setUp() self.kek_repo = rep.get_kek_datum_repository() self.project_repo = rep.get_project_repository() self.secret_meta_repo = rep.get_secret_meta_repository() self.secret_repo = rep.get_secret_repository() self.transport_key_repo = rep.get_transport_key_repository()
def create_transport_key(plugin_name="plugin", transport_key="tkey", session=None): transport_key = models.TransportKey(plugin_name, transport_key) transport_key_repo = repositories.get_transport_key_repository() transport_key_repo.create_from(transport_key, session=session) return transport_key
def __init__(self, secret): LOG.debug('=== Creating SecretController ===') super().__init__() self.secret = secret self.consumers = consumers.SecretConsumersController(secret) self.consumer_repo = repo.get_secret_consumer_repository() self.transport_key_repo = repo.get_transport_key_repository()
def _get_plugin_name_and_transport_key(transport_key_id): plugin_name = None transport_key = None if transport_key_id is not None: transport_key_repo = repos.get_transport_key_repository() transport_key_model = transport_key_repo.get( entity_id=transport_key_id) if transport_key_model is None: raise ValueError("Invalid transport key ID provided") plugin_name = transport_key_model.plugin_name if plugin_name is None: raise ValueError("Invalid plugin name for transport key") transport_key = transport_key_model.transport_key return plugin_name, transport_key
def _get_plugin_name_and_transport_key(transport_key_id): plugin_name = None transport_key = None if transport_key_id is not None: transport_key_repo = repos.get_transport_key_repository() try: transport_key_model = transport_key_repo.get( entity_id=transport_key_id) except exception.NotFound: raise exception.ProvidedTransportKeyNotFound(str(transport_key_id)) plugin_name = transport_key_model.plugin_name if plugin_name is None: raise ValueError("Invalid plugin name for transport key") transport_key = transport_key_model.transport_key return plugin_name, transport_key
class TransportKey(base.BarbicanObject, base.BarbicanPersistentObject, object_base.VersionedObjectDictCompat): fields = { 'plugin_name': fields.StringField(), 'transport_key': fields.StringField(), 'status': fields.StringField(nullable=True, default=base.States.ACTIVE) } db_model = models.TransportKey db_repo = repo.get_transport_key_repository() def _validate_fields(self, change_fields): msg = u._("Must supply non-None {0} argument for TransportKey entry.") if change_fields.get('plugin_name') is None: raise exception.MissingArgumentError(msg.format("plugin_name")) if change_fields.get('transport_key') is None: raise exception.MissingArgumentError(msg.format("transport_key")) @classmethod def get_by_create_date(cls, plugin_name=None, offset_arg=None, limit_arg=None, suppress_exception=False, session=None): transport_keys_db, offset, limit, total = \ cls.db_repo.get_by_create_date(plugin_name, offset_arg, limit_arg, suppress_exception, session) transport_keys_obj = [ cls()._from_db_object(transport_key) for transport_key in transport_keys_db ] return transport_keys_obj, offset, limit, total @classmethod def get_latest_transport_key(cls, plugin_name, suppress_exception=False, session=None): transport_key_db = cls.db_repo.get_latest_transport_key( plugin_name, suppress_exception, session) return cls()._from_db_object(transport_key_db)
def _get_transport_key_model(key_spec, transport_key_needed): key_model = None if transport_key_needed: # get_plugin_store() will throw an exception if no suitable # plugin with transport key is found plugin_manager = secret_store.get_manager() store_plugin = plugin_manager.get_plugin_store( key_spec=key_spec, transport_key_needed=True) plugin_name = utils.generate_fullname_for(store_plugin) key_repo = repos.get_transport_key_repository() key_model = key_repo.get_latest_transport_key(plugin_name) if not key_model or not store_plugin.is_transport_key_current( key_model.transport_key): # transport key does not exist or is not current. # need to get a new transport key transport_key = store_plugin.get_transport_key() new_key_model = models.TransportKey(plugin_name, transport_key) key_model = key_repo.create_from(new_key_model) return key_model
def __init__(self, secret): LOG.debug('=== Creating SecretController ===') self.secret = secret self.transport_key_repo = repo.get_transport_key_repository()
# See the License for the specific language governing permissions and # limitations under the License. import base64 import os import mock from barbican.common import validators from barbican.model import models from barbican.model import repositories from barbican.openstack.common import timeutils from barbican.tests import utils project_repo = repositories.get_project_repository() secrets_repo = repositories.get_secret_repository() tkey_repo = repositories.get_transport_key_repository() @utils.parameterized_test_case class WhenTestingSecretsResource(utils.BarbicanAPIBaseTestCase): def test_can_create_new_secret_one_step(self): resp, secret_uuid = create_secret( self.app, payload=b'not-encrypted', content_type='text/plain' ) self.assertEqual(201, resp.status_int) self.assertIsNotNone(secret_uuid)
# See the License for the specific language governing permissions and # limitations under the License. import base64 import os import mock from oslo_utils import timeutils from barbican.common import validators from barbican.model import models from barbican.model import repositories from barbican.tests import utils project_repo = repositories.get_project_repository() secrets_repo = repositories.get_secret_repository() tkey_repo = repositories.get_transport_key_repository() @utils.parameterized_test_case class WhenTestingSecretsResource(utils.BarbicanAPIBaseTestCase): def test_can_create_new_secret_one_step(self): resp, secret_uuid = create_secret(self.app, payload=b'not-encrypted', content_type='text/plain') self.assertEqual(201, resp.status_int) self.assertIsNotNone(secret_uuid) def test_can_create_new_secret_without_payload(self): resp, secret_uuid = create_secret(self.app, name='test') self.assertEqual(201, resp.status_int)