diff options
-rw-r--r-- | .zuul.yaml | 7 | ||||
-rw-r--r-- | barbicanclient/tests/v1/test_secrets.py | 12 | ||||
-rw-r--r-- | barbicanclient/v1/secrets.py | 6 | ||||
-rw-r--r-- | setup.cfg | 2 | ||||
-rw-r--r-- | tox.ini | 2 |
5 files changed, 16 insertions, 13 deletions
@@ -12,17 +12,16 @@ - project: templates: + - check-requirements + - openstack-lower-constraints-jobs - openstack-python-jobs - openstack-python35-jobs - openstack-python36-jobs - - publish-openstack-docs-pti - - check-requirements - openstackclient-plugin-jobs + - publish-openstack-docs-pti check: jobs: - - openstack-tox-lower-constraints - python-barbicanclient-dsvm gate: jobs: - - openstack-tox-lower-constraints - python-barbicanclient-dsvm diff --git a/barbicanclient/tests/v1/test_secrets.py b/barbicanclient/tests/v1/test_secrets.py index a0300a5..748ec61 100644 --- a/barbicanclient/tests/v1/test_secrets.py +++ b/barbicanclient/tests/v1/test_secrets.py @@ -371,9 +371,11 @@ class WhenTestingSecrets(test_client.BaseEntityResource): # Verify the correct URL was used to make the call. self.assertEqual(self.entity_payload_href, m.last_request.url) - def test_should_decrypt(self): + def test_should_decrypt(self, secret_ref=None): + secret_ref = secret_ref or self.entity_href + content_types_dict = {'default': 'application/octet-stream'} - json = self.secret.get_dict(self.entity_href, content_types_dict) + json = self.secret.get_dict(secret_ref, content_types_dict) metadata_response = self.responses.get( self.entity_href, request_headers={'Accept': 'application/json'}, @@ -386,7 +388,7 @@ class WhenTestingSecrets(test_client.BaseEntityResource): request_headers=request_headers, content=decrypted) - secret = self.manager.get(secret_ref=self.entity_href) + secret = self.manager.get(secret_ref=secret_ref) secret_payload = secret.payload self.assertEqual(decrypted, secret_payload) @@ -397,6 +399,10 @@ class WhenTestingSecrets(test_client.BaseEntityResource): self.assertEqual(self.entity_payload_href, decryption_response.last_request.url) + def test_should_decrypt_using_stripped_uuid(self): + bad_href = "http://badsite.com/" + self.entity_id + self.test_should_decrypt(bad_href) + def test_should_delete_from_manager(self, secret_ref=None): secret_ref = secret_ref or self.entity_href diff --git a/barbicanclient/v1/secrets.py b/barbicanclient/v1/secrets.py index 5b0c4a1..a604160 100644 --- a/barbicanclient/v1/secrets.py +++ b/barbicanclient/v1/secrets.py @@ -266,10 +266,8 @@ class Secret(SecretFormatter): "content-type.") headers = {'Accept': self.payload_content_type} - if self._secret_ref[-1] != "/": - payload_url = self._secret_ref + '/payload' - else: - payload_url = self._secret_ref + 'payload' + uuid_ref = base.calculate_uuid_ref(self._secret_ref, self._entity) + payload_url = uuid_ref + '/payload' payload = self._api._get_raw(payload_url, headers=headers) if self.payload_content_type == u'text/plain': self._payload = payload.decode('UTF-8') @@ -4,7 +4,7 @@ summary = Client Library for OpenStack Barbican Key Management API description-file = README.rst author = OpenStack -author-email = openstack-dev@lists.openstack.org +author-email = openstack-discuss@lists.openstack.org home-page = https://docs.openstack.org/python-barbicanclient/latest/ classifier = Environment :: OpenStack @@ -1,6 +1,6 @@ [tox] minversion = 2.0 -envlist = py35,py27,pep8 +envlist = py35,py36,py27,pep8 skipsdist = True [testenv] |