Add support for specifying mutability when parsing a configuration
This commit is contained in:
+26
-2
@@ -15,6 +15,7 @@
|
||||
from src.jcloud_config_parser.json import JSONConfiguration
|
||||
from src.jcloud_config_parser.exceptions import JSONObjectSyntaxError, JSONValueSyntaxError, JSONStringSyntaxError, JSONArraySyntaxError, EscapeSequenceSyntaxError
|
||||
from src.jcloud_config_parser import set_mutability
|
||||
from src.jcloud_config_parser.parse.json import JSONString
|
||||
|
||||
def test_json_configuration():
|
||||
# Test valid JSON configuration parsing
|
||||
@@ -224,7 +225,7 @@ def test_json_configuration():
|
||||
pass
|
||||
|
||||
def test_mutability():
|
||||
config = JSONConfiguration(mutable=False)
|
||||
config = JSONConfiguration(mutable = False)
|
||||
try:
|
||||
config.key = 'value'
|
||||
assert False, 'Expected TypeError'
|
||||
@@ -243,4 +244,27 @@ def test_mutability():
|
||||
del config.key
|
||||
assert False, 'Expected TypeError'
|
||||
except TypeError:
|
||||
pass
|
||||
pass
|
||||
|
||||
configuration = '{"key": "value"}'
|
||||
config = JSONConfiguration.from_string(configuration)
|
||||
config.key1 = JSONString("value1")
|
||||
|
||||
set_mutability(config, False)
|
||||
|
||||
try:
|
||||
config.key2 = JSONString('value2')
|
||||
assert False, 'Expected TypeError'
|
||||
except TypeError:
|
||||
pass
|
||||
|
||||
config = JSONConfiguration.from_string(configuration, mutable = False)
|
||||
|
||||
try:
|
||||
config.key1 = JSONString('value1')
|
||||
assert False, 'Expected TypeError'
|
||||
except TypeError:
|
||||
pass
|
||||
|
||||
set_mutability(config, True)
|
||||
config.key2 = JSONString('value2')
|
||||
Reference in New Issue
Block a user