from nominatim.tools import country_info
@pytest.fixture(autouse=True)
-def read_config(def_config):
+def read_config(def_config, request):
+ if 'custom_country_config' in request.keywords:
+ return
country_info.setup_country_config(def_config)
@pytest.mark.parametrize("no_partitions", (True, False))
assert result_set == {'us' : set(('us', 'us1', 'us2', 'United States')),
'fr' : set(('fr', 'Fra', 'Fren'))}
-@pytest.mark.parametrize("yaml_file_content", (
-"""
+@pytest.mark.custom_country_config
+def test_setup_country_config_languages_not_loaded(project_env):
+ (project_env.project_dir / 'country_settings.yaml').write_text("""
de:
partition: 3
- names:
- name:
+ names:
+ name:
default: Deutschland
-""",
-"""
+""")
+ country_info._COUNTRY_INFO._info = None
+ country_info.setup_country_config(project_env)
+ assert country_info._COUNTRY_INFO._info == {'de': {'partition': 3,
+ 'languages': [], 'names': {'name': {'default': 'Deutschland'}}}}
+
+@pytest.mark.custom_country_config
+def test_setup_country_config_name_not_loaded(project_env):
+ (project_env.project_dir / 'country_settings.yaml').write_text("""
de:
partition: 3
languages: de
names:
-""",
-"""
+""")
+ country_info._COUNTRY_INFO._info = None
+ country_info.setup_country_config(project_env)
+ assert country_info._COUNTRY_INFO._info == {'de': {'partition': 3,
+ 'languages': ['de'], 'names': {'name': {}}}}
+
+@pytest.mark.custom_country_config
+def test_setup_country_config_names_not_loaded(project_env):
+ (project_env.project_dir / 'country_settings.yaml').write_text("""
de:
partition: 3
languages: de
-"""
-))
-def test_load(project_env, def_config, yaml_file_content):
- (project_env.project_dir / 'country_settings.yaml').write_text(yaml_file_content)
-
- country_info._COUNTRY_INFO._info = def_config.load_sub_configuration(
- (project_env.project_dir / 'country_settings.yaml'))
-
- for prop in country_info._COUNTRY_INFO._info.values():
- if 'languages' not in prop:
- prop['languages'] = []
- assert country_info._COUNTRY_INFO._info == {'de': {'partition': 3,
- 'languages': [], 'names': {'name': {'default': 'Deutschland'}}}}
- if 'names' not in prop or prop['names'] is None:
- prop['names'] = {'name': {}}
- assert country_info._COUNTRY_INFO._info == {'de': {'partition': 3,
- 'languages': 'de', 'names': {'name': {}}}}
\ No newline at end of file
+""")
+ country_info._COUNTRY_INFO._info = None
+ country_info.setup_country_config(project_env)
+ assert country_info._COUNTRY_INFO._info == {'de': {'partition': 3,
+ 'languages': ['de'], 'names': {'name': {}}}}