Esempio n. 1
0
def test_load_values(tmp):
    with open("test.json", 'w') as f:
        json.dump({"Default": False, "str": "Test string"}, f)

    c = ConfigurationFile("test.json", {"Default": True})
    c.load()
    assert (len(c) == 2)
    assert (c["Default"] is False)
    assert (c["str"] == "Test string")
Esempio n. 2
0
def test_load_default(tmp):
    c = ConfigurationFile("test.json", {"Default": True})
    assert (len(c) == 1)
    assert (c["Default"] is True)
    assert (not os.path.isfile("test.json"))

    c.load()
    assert (len(c) == 1)
    assert (c["Default"] is True)
    assert (not os.path.isfile("test.json"))
Esempio n. 3
0
def test_load_empty(tmp):
    c = ConfigurationFile("test.json")
    assert (not c._data)
    assert (len(c) == 0)
    assert (not os.path.isfile("test.json"))

    c.load()
    assert (not c._data)
    assert (len(c) == 0)
    assert (not os.path.isfile("test.json"))
Esempio n. 4
0
def test_nonlocal_file(tmp):
    c = ConfigurationFile(os.path.join("foo", "bar", "cfg.json"))
    c.load()

    c["x"] = 0
    c.save()

    assert (os.path.isdir("foo"))
    assert (os.path.isdir(os.path.join("foo", "bar")))
    assert (os.path.isfile(os.path.join("foo", "bar", "cfg.json")))
Esempio n. 5
0
def test_delete_nondefault_value_then_save(tmp):
    with open("test.json", 'w') as f:
        json.dump({"Default": False, "str": "Test string"}, f)

    c = ConfigurationFile("test.json", {"Default": True})
    c.load()
    del c["Default"]
    assert (len(c) == 1)
    assert (c["str"] == "Test string")

    c.save()
    with open("test.json", 'r') as f:
        data = json.load(f)
        assert (data == {"str": "Test string"})
Esempio n. 6
0
def test_delete_default_value_then_save(tmp):
    c = ConfigurationFile("test.json", {"Default": True})
    assert (not os.path.isfile("test.json"))

    c.load()
    assert (len(c) == 1)
    assert (c["Default"] is True)

    del c["Default"]
    assert (len(c) == 0)

    assert (c.changed)
    c.save()
    assert (not c.changed)
    with open("test.json", 'r') as f:
        data = json.load(f)
        assert (data == {})
Esempio n. 7
0
def test_save_new_value(tmp):
    with open("test.json", 'w') as f:
        json.dump({"Default": False, "str": "Test string"}, f)

    c = ConfigurationFile("test.json", {"Default": True, "This is new": "yes"})
    c.load()
    assert (len(c) == 3)
    assert (c["Default"] is False)
    assert (c["str"] == "Test string")
    assert (c["This is new"] == "yes")

    c.save()
    assert (not c.changed)
    with open("test.json", 'r') as f:
        data = json.load(f)
        assert (data == {
            "Default": False,
            "str": "Test string",
            "This is new": "yes"
        })
Esempio n. 8
0
def test_extended_encode_decode(tmp):
    a_list = [1, 2, 3, 'a', 'b', 'c', "Envprobe!"]
    a_set = set(a_list)
    a_tuple = tuple(a_list)

    c = ConfigurationFile("extended.json")
    c.load()

    c["mylist"] = a_list
    c["myset"] = a_set
    c["mytuple"] = a_tuple

    c.save()

    c = ConfigurationFile("extended.json")
    assert (not len(c))

    c.load()
    assert (len(c) == 3)
    assert (c["mylist"] == a_list)
    assert (c["myset"] == a_set)
    assert (c["mytuple"] == a_tuple)