Merge "Boolean options: use strict checking"
This commit is contained in:
commit
9b9c677715
doc/source/cli
glanceclient
releasenotes/notes
@ -27,3 +27,8 @@ in the Glance Administration Guide.
|
|||||||
For more information, refer to `Manage images
|
For more information, refer to `Manage images
|
||||||
<https://docs.openstack.org/glance/latest/admin/manage-images.html>`_
|
<https://docs.openstack.org/glance/latest/admin/manage-images.html>`_
|
||||||
in the Glance Administration Guide.
|
in the Glance Administration Guide.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Boolean properties expect one of the following values: '0', '1', 'f',
|
||||||
|
'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes' (case-insensitive).
|
||||||
|
@ -103,7 +103,7 @@ def schema_args(schema_getter, omit=None):
|
|||||||
typemap = {
|
typemap = {
|
||||||
'string': encodeutils.safe_decode,
|
'string': encodeutils.safe_decode,
|
||||||
'integer': int,
|
'integer': int,
|
||||||
'boolean': strutils.bool_from_string,
|
'boolean': lambda x: strutils.bool_from_string(x, strict=True),
|
||||||
'array': list
|
'array': list
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,6 +236,14 @@ class TestUtils(testtools.TestCase):
|
|||||||
self.assertEqual(encodeutils.safe_decode, opts['type'])
|
self.assertEqual(encodeutils.safe_decode, opts['type'])
|
||||||
self.assertIn('None, opt-1, opt-2', opts['help'])
|
self.assertIn('None, opt-1, opt-2', opts['help'])
|
||||||
|
|
||||||
|
# Make sure we use strict checking for boolean values.
|
||||||
|
decorated = utils.schema_args(schema_getter('boolean'))(dummy_func)
|
||||||
|
arg, opts = decorated.__dict__['arguments'][0]
|
||||||
|
type_function = opts['type']
|
||||||
|
self.assertEqual(type_function('False'), False)
|
||||||
|
self.assertEqual(type_function('True'), True)
|
||||||
|
self.assertRaises(ValueError, type_function, 'foo')
|
||||||
|
|
||||||
def test_iterable_closes(self):
|
def test_iterable_closes(self):
|
||||||
# Regression test for bug 1461678.
|
# Regression test for bug 1461678.
|
||||||
def _iterate(i):
|
def _iterate(i):
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
prelude: >
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
* Bug 1607317_: metadata def namespace update CLI is not working as expected for parameter "protected"
|
||||||
|
|
||||||
|
.. _1607317: https://code.launchpad.net/bugs/1607317
|
||||||
|
other:
|
||||||
|
- |
|
||||||
|
Boolean arguments now expect one of the following values: '0', '1', 'f',
|
||||||
|
'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'
|
||||||
|
(case-insensitive). This will not change anything for most users.
|
Loading…
x
Reference in New Issue
Block a user