| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- from textwrap import dedent
 - 
 - import pytest
 - from yaml import YAMLError
 - 
 - from core.tools.utils.yaml_utils import load_yaml_file
 - 
 - EXAMPLE_YAML_FILE = "example_yaml.yaml"
 - INVALID_YAML_FILE = "invalid_yaml.yaml"
 - NON_EXISTING_YAML_FILE = "non_existing_file.yaml"
 - 
 - 
 - @pytest.fixture
 - def prepare_example_yaml_file(tmp_path, monkeypatch) -> str:
 -     monkeypatch.chdir(tmp_path)
 -     file_path = tmp_path.joinpath(EXAMPLE_YAML_FILE)
 -     file_path.write_text(
 -         dedent(
 -             """\
 -         address:
 -             city: Example City
 -             country: Example Country
 -         age: 30
 -         gender: male
 -         languages:
 -             - Python
 -             - Java
 -             - C++
 -         empty_key:
 -         """
 -         )
 -     )
 -     return str(file_path)
 - 
 - 
 - @pytest.fixture
 - def prepare_invalid_yaml_file(tmp_path, monkeypatch) -> str:
 -     monkeypatch.chdir(tmp_path)
 -     file_path = tmp_path.joinpath(INVALID_YAML_FILE)
 -     file_path.write_text(
 -         dedent(
 -             """\
 -         address:
 -                    city: Example City
 -             country: Example Country
 -         age: 30
 -         gender: male
 -         languages:
 -         - Python
 -         - Java
 -         - C++
 -         """
 -         )
 -     )
 -     return str(file_path)
 - 
 - 
 - def test_load_yaml_non_existing_file():
 -     assert load_yaml_file(file_path=NON_EXISTING_YAML_FILE) == {}
 -     assert load_yaml_file(file_path="") == {}
 - 
 -     with pytest.raises(FileNotFoundError):
 -         load_yaml_file(file_path=NON_EXISTING_YAML_FILE, ignore_error=False)
 - 
 - 
 - def test_load_valid_yaml_file(prepare_example_yaml_file):
 -     yaml_data = load_yaml_file(file_path=prepare_example_yaml_file)
 -     assert len(yaml_data) > 0
 -     assert yaml_data["age"] == 30
 -     assert yaml_data["gender"] == "male"
 -     assert yaml_data["address"]["city"] == "Example City"
 -     assert set(yaml_data["languages"]) == {"Python", "Java", "C++"}
 -     assert yaml_data.get("empty_key") is None
 -     assert yaml_data.get("non_existed_key") is None
 - 
 - 
 - def test_load_invalid_yaml_file(prepare_invalid_yaml_file):
 -     # yaml syntax error
 -     with pytest.raises(YAMLError):
 -         load_yaml_file(file_path=prepare_invalid_yaml_file, ignore_error=False)
 - 
 -     # ignore error
 -     assert load_yaml_file(file_path=prepare_invalid_yaml_file) == {}
 
 
  |