def test_read_settings(mock_open):
mock_open.return_value = StringIO(encode(default_settings))
assert read_settings() == default_settings
broken_settings = deepcopy(default_settings)
broken_settings["General"] = "random string" # simulate user messing with settings
mock_open.return_value = StringIO(encode(broken_settings))
assert read_settings() == default_settings
mock_open.side_effect = FileNotFoundError("mock settings file not existing")
assert read_settings() == default_settings
mock_open.side_effect = JSONDecodeError(
"mock settings file not being decodable - someone messed with the file",
encode(default_settings),
10 # just a random value
)
assert read_settings() == default_settings
评论列表
文章目录