aboutsummaryrefslogtreecommitdiff
path: root/tests/utils/json
diff options
context:
space:
mode:
Diffstat (limited to 'tests/utils/json')
-rw-r--r--tests/utils/json/test_load.py52
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))