Merge "Handle requirements set to empty strings"
This commit is contained in:
commit
edfdd625fa
|
@ -29,6 +29,13 @@ class TestPluginsUtils(tests.TestCase):
|
|||
result = plugins_utils.convert_requirements(request)
|
||||
self.assertEqual([], result)
|
||||
|
||||
def test_convert_requirements_empty_string(self):
|
||||
# NOTE(priteau): Currently, empty requirements can be persisted in the
|
||||
# database as empty strings, which are not valid JSON objects.
|
||||
request = ''
|
||||
result = plugins_utils.convert_requirements(request)
|
||||
self.assertEqual([], result)
|
||||
|
||||
def test_convert_requirements_small(self):
|
||||
request = '["=", "$memory", "4096"]'
|
||||
result = plugins_utils.convert_requirements(request)
|
||||
|
|
|
@ -28,6 +28,12 @@ def convert_requirements(requirements):
|
|||
# TODO(frossigneux) Support the "or" operator
|
||||
# Convert text to json
|
||||
if isinstance(requirements, six.string_types):
|
||||
# Treat empty string as an empty JSON array, to avoid raising a
|
||||
# ValueError exception while loading JSON
|
||||
#
|
||||
# TODO(priteau): Only persist valid JSON to the database
|
||||
if requirements == '':
|
||||
requirements = '[]'
|
||||
try:
|
||||
requirements = jsonutils.loads(requirements)
|
||||
except ValueError:
|
||||
|
|
Loading…
Reference in New Issue