Break loop when we have the correct file (#2796)

* Break loop when we have the correct file

* Fix tests
This commit is contained in:
Joakim Sørensen 2021-04-09 16:49:41 +02:00 committed by GitHub
parent d3e4bb7219
commit e9c123459f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 9 deletions

View File

@ -82,8 +82,8 @@ class Repository(CoreSysAttributes):
# If exists?
for filetype in FILE_SUFFIX_CONFIGURATION:
repository_file = Path(self.git.path / f"repository{filetype}")
if not repository_file.exists():
continue
if repository_file.exists():
break
if not repository_file.exists():
return False
@ -91,7 +91,8 @@ class Repository(CoreSysAttributes):
# If valid?
try:
SCHEMA_REPOSITORY_CONFIG(read_json_or_yaml_file(repository_file))
except (ConfigurationFileError, vol.Invalid):
except (ConfigurationFileError, vol.Invalid) as err:
_LOGGER.warning("Could not validate repository configuration %s", err)
return False
return True

View File

@ -13,9 +13,10 @@ async def test_add_valid_repository(coresys, store_manager):
"""Test add custom repository."""
current = coresys.config.addons_repositories
with patch("supervisor.store.repository.Repository.load", return_value=None), patch(
"pathlib.Path.read_text",
return_value=json.dumps({"name": "Awesome repository"}),
"supervisor.utils.common.read_yaml_file",
return_value={"name": "Awesome repository"},
), patch("pathlib.Path.exists", return_value=True):
await store_manager.update_repositories(current + ["http://example.com"])
assert store_manager.get_from_url("http://example.com").validate()
assert "http://example.com" in coresys.config.addons_repositories
@ -26,10 +27,8 @@ async def test_add_valid_repository_url(coresys, store_manager):
"""Test add custom repository."""
current = coresys.config.addons_repositories
with patch("supervisor.store.repository.Repository.load", return_value=None), patch(
"pathlib.Path.read_text",
return_value=json.dumps(
{"name": "Awesome repository", "url": "http://example2.com/docs"}
),
"supervisor.utils.common.read_yaml_file",
return_value={"name": "Awesome repository"},
), patch("pathlib.Path.exists", return_value=True):
await store_manager.update_repositories(current + ["http://example.com"])
assert store_manager.get_from_url("http://example.com").validate()