diff options
Diffstat (limited to 'tests/utils/json/test_load.py')
-rw-r--r-- | tests/utils/json/test_load.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/utils/json/test_load.py b/tests/utils/json/test_load.py new file mode 100644 index 0000000..d809069 --- /dev/null +++ b/tests/utils/json/test_load.py @@ -0,0 +1,52 @@ +import pytest +import os + +from jsonresume.exceptions import InvalidResumeError + +import resumejson_converter + +from resumejson_converter.utils import json as ujson + + +@pytest.fixture(scope="session") +def prepare_tmp_json(tmpdir_factory): + tmp_file = tmpdir_factory.mktemp( + "resumejson_converter_test" + ).join("resume_not_standard.json") + + with open(tmp_file, "w") as f: + f.write("{'Hello': 'World!'}") + return tmp_file + + +def test_json_load_no_parameter(): + with pytest.raises(TypeError): + ujson.load() + + +def test_json_load(): + resume_path = "{}/example/resume.json".format( + os.path.dirname(resumejson_converter.__file__)) + assert type(ujson.load(resume_path)) is ujson.JsonObject + + +def test_json_load_incorrect_path(): + with pytest.raises(IOError): + resume_json = "/tmp/sd54f5f48ds4f98ds7g48d468s4f68ds4f.json" + ujson.load(resume_json) + + +def test_json_load_resume_dont_respect_standard(): + with pytest.raises(InvalidResumeError): + resume_path = {"Hello": 'World!'} + ujson.load(resume_path) + + +def test_json_load_array(): + with pytest.raises(TypeError): + ujson.load(["o", "f"]) + + +def test_json_load_resume_dont_respect_standard_from_file(prepare_tmp_json): + with pytest.raises(ValueError): + ujson.load(str(prepare_tmp_json)) |