Fix Dogtag mode on key generation

Dogtag doesn't actually need the mode parameter to be
stored in metadata.  We remove it from the generation case
because passing back a None value for the metadata breaks
metadata validation.

Added a functional test for no value passed in for the mode
in the order request.

Change-Id: I216f887875b1306604dd370301ac463cccbb2fa9
This commit is contained in:
Ade Lee 2017-10-17 11:21:12 -04:00
parent 5425d684c0
commit 0861657fc1
2 changed files with 10 additions and 1 deletions

View File

@ -408,7 +408,6 @@ class DogtagKRAPlugin(sstore.SecretStoreBase):
# key encoded data.
return {DogtagKRAPlugin.ALG: key_spec.alg,
DogtagKRAPlugin.BIT_LENGTH: key_spec.bit_length,
DogtagKRAPlugin.SECRET_MODE: key_spec.mode,
DogtagKRAPlugin.KEY_ID: response.get_key_id(),
DogtagKRAPlugin.GENERATED: True}

View File

@ -401,6 +401,16 @@ class OrdersTestCase(base.TestCase):
self.assertEqual(202, create_resp.status_code)
self.assertIsNotNone(order_ref)
@testcase.attr('positive')
def test_order_create_with_no_mode(self):
"""Covers creating orders with no mode specified."""
test_model = order_models.OrderModel(**self.create_default_data)
del test_model.meta['mode']
create_resp, order_ref = self.behaviors.create_order(test_model)
self.assertEqual(202, create_resp.status_code)
self.assertIsNotNone(order_ref)
@utils.parameterized_dataset({
'int': [123]
})