summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Tantsur <dtantsur@protonmail.com>2021-02-16 19:38:28 +0100
committerDmitry Tantsur <dtantsur@protonmail.com>2021-02-16 19:38:28 +0100
commitb3e955971c676ab19b6bc8af3270adb9b080fb9f (patch)
treed78f3756b3d48073b30c809fc0f97ab09f4eacca
parent17856e5d9fdb5f02a4bb95f328e1f42927b38ab8 (diff)
downloadpython-ironicclient-b3e955971c676ab19b6bc8af3270adb9b080fb9f.tar.gz
Clearer error message when unable to parse JSON
Using a non-existing file currently results in a cryptic message. Change-Id: I0489380d3a3ac1c9286e754c488df68f2b85c22f
-rw-r--r--ironicclient/common/utils.py4
-rw-r--r--ironicclient/tests/unit/common/test_utils.py2
2 files changed, 3 insertions, 3 deletions
diff --git a/ironicclient/common/utils.py b/ironicclient/common/utils.py
index 42d531a..70165cc 100644
--- a/ironicclient/common/utils.py
+++ b/ironicclient/common/utils.py
@@ -383,8 +383,8 @@ def handle_json_or_file_arg(json_arg):
try:
json_arg = json.loads(json_arg)
except ValueError as e:
- err = (_("For JSON: '%(string)s', error: '%(err)s'") %
- {'err': e, 'string': json_arg})
+ err = (_("Value '%(string)s' is not a file and cannot be parsed "
+ "as JSON: '%(err)s'") % {'err': e, 'string': json_arg})
raise exc.InvalidAttribute(err)
return json_arg
diff --git a/ironicclient/tests/unit/common/test_utils.py b/ironicclient/tests/unit/common/test_utils.py
index d01818f..c693b50 100644
--- a/ironicclient/tests/unit/common/test_utils.py
+++ b/ironicclient/tests/unit/common/test_utils.py
@@ -342,7 +342,7 @@ class HandleJsonFileTest(test_utils.BaseTestCase):
def test_handle_json_or_file_arg_bad_json(self):
cleansteps = 'foo'
self.assertRaisesRegex(exc.InvalidAttribute,
- 'For JSON',
+ 'is not a file and cannot be parsed as JSON',
utils.handle_json_or_file_arg, cleansteps)
def test_handle_json_or_file_arg_file(self):