Use source instead of URL for repos (#3670)

This commit is contained in:
Mike Degatano 2022-06-07 11:55:53 -04:00 committed by GitHub
parent ccd2c31390
commit 5f9b999a3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 12 deletions

View File

@ -50,7 +50,7 @@ class StoreManager(CoreSysAttributes, FileConfiguration):
def repository_urls(self) -> list[str]:
"""Return source URL for all git repositories."""
return [
repository.url
repository.source
for repository in self.all
if repository.type == StoreType.GIT
]
@ -178,7 +178,7 @@ class StoreManager(CoreSysAttributes, FileConfiguration):
async def remove_repository(self, repository: Repository, *, persist: bool = True):
"""Remove a repository."""
if repository.url in BUILTIN_REPOSITORIES:
if repository.source in BUILTIN_REPOSITORIES:
raise StoreInvalidAddonRepo(
"Can't remove built-in repositories!", logger=_LOGGER.error
)
@ -189,7 +189,7 @@ class StoreManager(CoreSysAttributes, FileConfiguration):
logger=_LOGGER.error,
)
await self.repositories.pop(repository.slug).remove()
self._data[ATTR_REPOSITORIES].remove(repository.url)
self._data[ATTR_REPOSITORIES].remove(repository.source)
self.save_data()
if persist:

View File

@ -93,5 +93,5 @@ async def test_api_store_remove_repository(
response = await api_client.delete(f"/store/repositories/{repository.slug}")
assert response.status == 200
assert repository.url not in coresys.store.repository_urls
assert repository.source not in coresys.store.repository_urls
assert repository.slug not in coresys.store.repositories

View File

@ -46,7 +46,7 @@ async def test_api_supervisor_options_remove_repository(
api_client: TestClient, coresys: CoreSys, repository: Repository
):
"""Test remove a repository via POST /supervisor/options REST API."""
assert repository.url in coresys.store.repository_urls
assert repository.source in coresys.store.repository_urls
assert repository.slug in coresys.store.repositories
response = await api_client.post(
@ -54,7 +54,7 @@ async def test_api_supervisor_options_remove_repository(
)
assert response.status == 200
assert repository.url not in coresys.store.repository_urls
assert repository.source not in coresys.store.repository_urls
assert repository.slug not in coresys.store.repositories

View File

@ -194,7 +194,7 @@ async def test_remove_repository(
use_update: bool,
):
"""Test removing a custom repository."""
assert repository.url in coresys.store.repository_urls
assert repository.source in coresys.store.repository_urls
assert repository.slug in coresys.store.repositories
if use_update:
@ -202,7 +202,7 @@ async def test_remove_repository(
else:
await store_manager.remove_repository(repository)
assert repository.url not in coresys.store.repository_urls
assert repository.source not in coresys.store.repository_urls
assert repository.slug not in coresys.addons.store
assert repository.slug not in coresys.store.repositories
@ -261,7 +261,7 @@ async def test_error_adding_duplicate(
coresys: CoreSys, store_manager: StoreManager, repository: Repository
):
"""Test adding a duplicate repository causes an error."""
assert repository.url in coresys.store.repository_urls
assert repository.source in coresys.store.repository_urls
with patch(
"supervisor.store.repository.Repository.validate", return_value=True
), patch(
@ -269,14 +269,14 @@ async def test_error_adding_duplicate(
), pytest.raises(
StoreError
):
await store_manager.add_repository(repository.url)
await store_manager.add_repository(repository.source)
async def test_add_with_update_repositories(
coresys: CoreSys, store_manager: StoreManager, repository: Repository
):
"""Test adding repositories to existing ones using update."""
assert repository.url in coresys.store.repository_urls
assert repository.source in coresys.store.repository_urls
assert "http://example.com" not in coresys.store.repository_urls
with patch("supervisor.store.repository.Repository.load", return_value=None), patch(
@ -285,5 +285,5 @@ async def test_add_with_update_repositories(
), patch("pathlib.Path.exists", return_value=True):
await store_manager.update_repositories(["http://example.com"], replace=False)
assert repository.url in coresys.store.repository_urls
assert repository.source in coresys.store.repository_urls
assert "http://example.com" in coresys.store.repository_urls