Merge "Fix when submitting with empty string, none and zero"

This commit is contained in:
Jenkins 2015-03-11 11:48:10 +00:00 committed by Gerrit Code Review
commit 96668c3061
2 changed files with 42 additions and 1 deletions

View File

@ -172,7 +172,7 @@ class Secret(SecretFormatter):
"""
Lazy-loaded property that holds the unencrypted data
"""
if not self._payload:
if self._payload is None:
self._fetch_payload()
return self._payload

View File

@ -272,6 +272,47 @@ class SecretsTestCase(base.TestCase):
self.assertEqual(test_model.payload,
str(base64.b64encode(get_resp.payload)))
@utils.parameterized_dataset({
'array': [['boom']],
'int': [123],
'zero': [0]
})
@testcase.attr('negative')
def test_secret_create_defaults_invalid_payload_http_err(self, payload):
"""Covers creating secrets with various invalid payloads.
These requests will error with 400 and are will make a request to
the server.
"""
test_model = self.behaviors.create_secret(
secret_create_defaults_data)
test_model.payload = payload
e = self.assertRaises(Exception, self.behaviors.store_secret,
test_model)
self.assertEqual(e.http_status, 400)
@utils.parameterized_dataset({
'empty': [''],
'none': [None],
})
@testcase.attr('negative')
def test_secret_create_defaults_invalid_payload(self, payload):
"""Covers creating secrets with various invalid payloads.
These requests will fail with a value error before the request to the
server is made"""
test_model = self.behaviors.create_secret(
secret_create_defaults_data)
test_model.payload = payload
e = self.assertRaises(ValueError, self.behaviors.store_secret,
test_model)
self.assertIn('Payload incorrectly specified.',
e.message)
@utils.parameterized_dataset({
'negative_five_long_expire': {
'timezone': '-05:00',