Only raise integrationnotfound for dependencies (#48241)
Co-authored-by: J. Nick Koston <nick@koston.org> Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
This commit is contained in:
parent
f8f0495319
commit
125161df6b
3 changed files with 81 additions and 4 deletions
|
@ -139,6 +139,69 @@ async def test_get_integration_with_requirements(hass):
|
|||
]
|
||||
|
||||
|
||||
async def test_get_integration_with_missing_dependencies(hass):
|
||||
"""Check getting an integration with missing dependencies."""
|
||||
hass.config.skip_pip = False
|
||||
mock_integration(
|
||||
hass,
|
||||
MockModule("test_component_after_dep"),
|
||||
)
|
||||
mock_integration(
|
||||
hass,
|
||||
MockModule(
|
||||
"test_component",
|
||||
dependencies=["test_component_dep"],
|
||||
partial_manifest={"after_dependencies": ["test_component_after_dep"]},
|
||||
),
|
||||
)
|
||||
mock_integration(
|
||||
hass,
|
||||
MockModule(
|
||||
"test_custom_component",
|
||||
dependencies=["test_component_dep"],
|
||||
partial_manifest={"after_dependencies": ["test_component_after_dep"]},
|
||||
),
|
||||
built_in=False,
|
||||
)
|
||||
with pytest.raises(loader.IntegrationNotFound):
|
||||
await async_get_integration_with_requirements(hass, "test_component")
|
||||
with pytest.raises(loader.IntegrationNotFound):
|
||||
await async_get_integration_with_requirements(hass, "test_custom_component")
|
||||
|
||||
|
||||
async def test_get_built_in_integration_with_missing_after_dependencies(hass):
|
||||
"""Check getting a built_in integration with missing after_dependencies results in exception."""
|
||||
hass.config.skip_pip = False
|
||||
mock_integration(
|
||||
hass,
|
||||
MockModule(
|
||||
"test_component",
|
||||
partial_manifest={"after_dependencies": ["test_component_after_dep"]},
|
||||
),
|
||||
built_in=True,
|
||||
)
|
||||
with pytest.raises(loader.IntegrationNotFound):
|
||||
await async_get_integration_with_requirements(hass, "test_component")
|
||||
|
||||
|
||||
async def test_get_custom_integration_with_missing_after_dependencies(hass):
|
||||
"""Check getting a custom integration with missing after_dependencies."""
|
||||
hass.config.skip_pip = False
|
||||
mock_integration(
|
||||
hass,
|
||||
MockModule(
|
||||
"test_custom_component",
|
||||
partial_manifest={"after_dependencies": ["test_component_after_dep"]},
|
||||
),
|
||||
built_in=False,
|
||||
)
|
||||
integration = await async_get_integration_with_requirements(
|
||||
hass, "test_custom_component"
|
||||
)
|
||||
assert integration
|
||||
assert integration.domain == "test_custom_component"
|
||||
|
||||
|
||||
async def test_install_with_wheels_index(hass):
|
||||
"""Test an install attempt with wheels index URL."""
|
||||
hass.config.skip_pip = False
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue