From 774310b7c0cb5906b41bfebe69ebd015d2ddd674 Mon Sep 17 00:00:00 2001 From: Steve Heyman Date: Thu, 26 Dec 2013 12:31:54 -0600 Subject: [PATCH] Added edge cases for secrets API, fix flake8 issues Change-Id: I8df6f9dcba7fd49632b4af4b298f9d39ea48aa5d --- cloudcafe/cloudkeep/barbican/secrets/behaviors.py | 9 +++++++++ cloudcafe/cloudkeep/barbican/secrets/client.py | 11 +++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/cloudcafe/cloudkeep/barbican/secrets/behaviors.py b/cloudcafe/cloudkeep/barbican/secrets/behaviors.py index da2e9ed5..a0895bce 100644 --- a/cloudcafe/cloudkeep/barbican/secrets/behaviors.py +++ b/cloudcafe/cloudkeep/barbican/secrets/behaviors.py @@ -98,6 +98,15 @@ class SecretsBehaviors(object): self.created_secrets.append(secret_id) return behavior_response + def create_secret_with_no_json(self): + """Create a secret but do not pass any JSON in POST data.""" + resp = self.client.create_secret_with_no_json() + behavior_response = CloudkeepResponse(resp=resp) + secret_id = behavior_response.id + if secret_id is not None: + self.created_secrets.append(secret_id) + return behavior_response + def delete_secret(self, secret_id): self.remove_from_created_secrets(secret_id=secret_id) resp = self.client.delete_secret(secret_id) diff --git a/cloudcafe/cloudkeep/barbican/secrets/client.py b/cloudcafe/cloudkeep/barbican/secrets/client.py index b59a231e..41923a54 100644 --- a/cloudcafe/cloudkeep/barbican/secrets/client.py +++ b/cloudcafe/cloudkeep/barbican/secrets/client.py @@ -59,10 +59,17 @@ class SecretsClient(BarbicanRestClient): return resp + def create_secret_with_no_json(self): + """Create secret but do not pass any JSON.""" + remote_url = '{base}/secrets'.format(base=self._get_base_url()) + + resp = self.request('POST', remote_url, response_entity_type=SecretRef) + + return resp + def add_secret_payload(self, secret_id, payload_content_type, payload, payload_content_encoding=None): - """ - PUT http://.../v1/{tenant_id}/secrets/{secret_uuid} + """PUT http://.../v1/{tenant_id}/secrets/{secret_uuid} Allows the user to upload secret data for a specified secret if the secret doesn't already exist """