config: Ensure that overrides are bytes
This commit is contained in:
parent
9974f77f1b
commit
64465d318d
@ -141,8 +141,8 @@ def _format(config, comments, schemas, display):
|
|||||||
|
|
||||||
def parse_override(override):
|
def parse_override(override):
|
||||||
"""Parse ``section/key=value`` command line overrides"""
|
"""Parse ``section/key=value`` command line overrides"""
|
||||||
section, remainder = override.split('/', 1)
|
section, remainder = override.split(b'/', 1)
|
||||||
key, value = remainder.split('=', 1)
|
key, value = remainder.split(b'=', 1)
|
||||||
return (section.strip(), key.strip(), value.strip())
|
return (section.strip(), key.strip(), value.strip())
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -109,18 +109,24 @@ class ValidateTest(unittest.TestCase):
|
|||||||
|
|
||||||
class ParseOverrideTest(unittest.TestCase):
|
class ParseOverrideTest(unittest.TestCase):
|
||||||
def test_valid_override(self):
|
def test_valid_override(self):
|
||||||
expected = ('section', 'key', 'value')
|
expected = (b'section', b'key', b'value')
|
||||||
self.assertEqual(expected, config.parse_override('section/key=value'))
|
self.assertEqual(expected, config.parse_override(b'section/key=value'))
|
||||||
self.assertEqual(expected, config.parse_override('section/key=value '))
|
self.assertEqual(expected, config.parse_override(b'section/key=value '))
|
||||||
self.assertEqual(expected, config.parse_override('section/key =value'))
|
self.assertEqual(expected, config.parse_override(b'section/key =value'))
|
||||||
self.assertEqual(expected, config.parse_override('section /key=value'))
|
self.assertEqual(expected, config.parse_override(b'section /key=value'))
|
||||||
|
|
||||||
|
def test_valid_override_is_bytes(self):
|
||||||
|
section, key, value = config.parse_override(b'section/key=value')
|
||||||
|
self.assertIsInstance(section, bytes)
|
||||||
|
self.assertIsInstance(key, bytes)
|
||||||
|
self.assertIsInstance(value, bytes)
|
||||||
|
|
||||||
def test_empty_override(self):
|
def test_empty_override(self):
|
||||||
expected = ('section', 'key', '')
|
expected = ('section', 'key', '')
|
||||||
self.assertEqual(expected, config.parse_override('section/key='))
|
self.assertEqual(expected, config.parse_override(b'section/key='))
|
||||||
self.assertEqual(expected, config.parse_override('section/key= '))
|
self.assertEqual(expected, config.parse_override(b'section/key= '))
|
||||||
|
|
||||||
def test_invalid_override(self):
|
def test_invalid_override(self):
|
||||||
self.assertRaises(ValueError, config.parse_override, 'section/key')
|
self.assertRaises(ValueError, config.parse_override, b'section/key')
|
||||||
self.assertRaises(ValueError, config.parse_override, 'section=')
|
self.assertRaises(ValueError, config.parse_override, b'section=')
|
||||||
self.assertRaises(ValueError, config.parse_override, 'section')
|
self.assertRaises(ValueError, config.parse_override, b'section')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user