예제 #1
0
def test_serializer_empty(fmt):
    # test to fix toml library bug (toml->pytoml)
    serializer = Serializer.get_class(fmt)(scope=Config.scope())
    dct = {"a": {}, "b": {"b0": 10, "b1": {}, "b2": {"b2_0": 10}}}
    s = serializer.to_string(dct)
    dct1 = serializer.from_string(s)
    assert dct == dct1
예제 #2
0
def test_CustomObject_config(config_source):
    with Config.scope().registered(HOSTNAME=HOSTNAME, WORKDIR=WORKDIR):
        config = Config.from_string(config_source)
        assert config["x"] == HOSTNAME
        assert config["alpha"]["y"] == WORKDIR
    with pytest.raises(ValueError):
        config = Config.from_string(config_source)
예제 #3
0
def test_CustomObject_config_schema_to_string(config_source, schema_source, string_io):
    with Schema.scope().registered(HOSTNAME=HOSTNAME, WORKDIR=WORKDIR), \
         Config.scope().registered(HOSTNAME=HOSTNAME, WORKDIR=WORKDIR):
        schema = Schema.from_string(schema_source)
        config = Config.from_string(config_source, defaults=False, schema=schema)
        config.to_stream(string_io)
        s = string_io.getvalue()
        assert s == """\
예제 #4
0
def test_CustomObject_config_schema(config_source, schema_source):
    with Schema.scope().registered(HOSTNAME=HOSTNAME, WORKDIR=WORKDIR), \
         Config.scope().registered(HOSTNAME=HOSTNAME, WORKDIR=WORKDIR):
        schema = Schema.from_string(schema_source)
        config = Config.from_string(config_source, schema=schema)
        assert config["x"] == HOSTNAME
        assert config["alpha"]["y"] == WORKDIR
        assert config["alpha"]["z"] == HOSTNAME + ":" + WORKDIR
def serializer():
    return JSONSerializer(scope=Config.scope())