Accept 'pass_phrase' for AsymmetricOrder constructor
This was changed by this commit
Iecd129a61eb02d0de59b4a11b83200a8a4269a6c and broke other projects that
used this interface. This adds the parameter back, as well as still
accepting the one that was introduced ('passphrase' without the
underscore).
Also, the new parameter takes presedence.
Change-Id: I12796f6896bba315b9cd855a13f776b08e0be693
Closes-Bug: #1635213
This commit is contained in:
@@ -298,7 +298,7 @@ class AsymmetricOrder(Order, AsymmetricOrderFormatter):
|
||||
_type = 'asymmetric'
|
||||
|
||||
def __init__(self, api, name=None, algorithm=None, bit_length=None,
|
||||
mode=None, passphrase=None, expiration=None,
|
||||
mode=None, passphrase=None, pass_phrase=None, expiration=None,
|
||||
payload_content_type=None, status=None, created=None,
|
||||
updated=None, order_ref=None, container_ref=None,
|
||||
error_status_code=None, error_reason=None, sub_status=None,
|
||||
@@ -315,6 +315,10 @@ class AsymmetricOrder(Order, AsymmetricOrderFormatter):
|
||||
self._container_ref = container_ref
|
||||
if passphrase:
|
||||
self._meta['pass_phrase'] = passphrase
|
||||
elif pass_phrase:
|
||||
# NOTE(jaosorior): Needed for backwards compatibility.
|
||||
# See bug #1635213
|
||||
self._meta['pass_phrase'] = pass_phrase
|
||||
|
||||
@property
|
||||
def container_ref(self):
|
||||
|
||||
@@ -17,6 +17,7 @@ import json
|
||||
import mock
|
||||
from oslo_utils import timeutils
|
||||
import testtools
|
||||
import uuid
|
||||
|
||||
from barbicanclient import orders, base
|
||||
from barbicanclient.tests import test_client
|
||||
@@ -210,6 +211,38 @@ class WhenTestingAsymmetricOrders(OrdersTestCase):
|
||||
except base.ImmutableException:
|
||||
pass
|
||||
|
||||
def test_create_asymmetric_order_w_passphrase(self):
|
||||
data = {'order_ref': self.entity_href}
|
||||
self.responses.post(self.entity_base + '/', json=data)
|
||||
|
||||
passphrase = str(uuid.uuid4())
|
||||
order = orders.AsymmetricOrder(
|
||||
api=self.manager._api,
|
||||
name='name',
|
||||
algorithm='algorithm',
|
||||
payload_content_type='payload_content_type',
|
||||
passphrase=passphrase,
|
||||
)
|
||||
order_href = order.submit()
|
||||
self.assertEqual(self.entity_href, order_href)
|
||||
self.assertEqual(passphrase, order.pass_phrase)
|
||||
|
||||
def test_create_asymmetric_order_w_legacy_pass_phrase_param(self):
|
||||
data = {'order_ref': self.entity_href}
|
||||
self.responses.post(self.entity_base + '/', json=data)
|
||||
|
||||
passphrase = str(uuid.uuid4())
|
||||
order = orders.AsymmetricOrder(
|
||||
api=self.manager._api,
|
||||
name='name',
|
||||
algorithm='algorithm',
|
||||
payload_content_type='payload_content_type',
|
||||
pass_phrase=passphrase,
|
||||
)
|
||||
order_href = order.submit()
|
||||
self.assertEqual(self.entity_href, order_href)
|
||||
self.assertEqual(passphrase, order.pass_phrase)
|
||||
|
||||
|
||||
class WhenTestingOrderManager(OrdersTestCase):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user