mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Hive auth fix for users (#73247)
This commit is contained in:
parent
d3f01f7ea9
commit
1dd7781acc
@ -27,6 +27,7 @@ class HiveFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
self.data = {}
|
self.data = {}
|
||||||
self.tokens = {}
|
self.tokens = {}
|
||||||
self.entry = None
|
self.entry = None
|
||||||
|
self.device_registration = False
|
||||||
|
|
||||||
async def async_step_user(self, user_input=None):
|
async def async_step_user(self, user_input=None):
|
||||||
"""Prompt user input. Create or edit entry."""
|
"""Prompt user input. Create or edit entry."""
|
||||||
@ -88,6 +89,7 @@ class HiveFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
|
|
||||||
if not errors:
|
if not errors:
|
||||||
try:
|
try:
|
||||||
|
self.device_registration = True
|
||||||
return await self.async_setup_hive_entry()
|
return await self.async_setup_hive_entry()
|
||||||
except UnknownHiveError:
|
except UnknownHiveError:
|
||||||
errors["base"] = "unknown"
|
errors["base"] = "unknown"
|
||||||
@ -102,9 +104,10 @@ class HiveFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
raise UnknownHiveError
|
raise UnknownHiveError
|
||||||
|
|
||||||
# Setup the config entry
|
# Setup the config entry
|
||||||
await self.hive_auth.device_registration("Home Assistant")
|
if self.device_registration:
|
||||||
|
await self.hive_auth.device_registration("Home Assistant")
|
||||||
|
self.data["device_data"] = await self.hive_auth.getDeviceData()
|
||||||
self.data["tokens"] = self.tokens
|
self.data["tokens"] = self.tokens
|
||||||
self.data["device_data"] = await self.hive_auth.getDeviceData()
|
|
||||||
if self.context["source"] == config_entries.SOURCE_REAUTH:
|
if self.context["source"] == config_entries.SOURCE_REAUTH:
|
||||||
self.hass.config_entries.async_update_entry(
|
self.hass.config_entries.async_update_entry(
|
||||||
self.entry, title=self.data["username"], data=self.data
|
self.entry, title=self.data["username"], data=self.data
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
"models": ["HHKBridge*"]
|
"models": ["HHKBridge*"]
|
||||||
},
|
},
|
||||||
"documentation": "https://www.home-assistant.io/integrations/hive",
|
"documentation": "https://www.home-assistant.io/integrations/hive",
|
||||||
"requirements": ["pyhiveapi==0.5.5"],
|
"requirements": ["pyhiveapi==0.5.9"],
|
||||||
"codeowners": ["@Rendili", "@KJonline"],
|
"codeowners": ["@Rendili", "@KJonline"],
|
||||||
"iot_class": "cloud_polling",
|
"iot_class": "cloud_polling",
|
||||||
"loggers": ["apyhiveapi"]
|
"loggers": ["apyhiveapi"]
|
||||||
|
@ -1541,7 +1541,7 @@ pyheos==0.7.2
|
|||||||
pyhik==0.3.0
|
pyhik==0.3.0
|
||||||
|
|
||||||
# homeassistant.components.hive
|
# homeassistant.components.hive
|
||||||
pyhiveapi==0.5.5
|
pyhiveapi==0.5.9
|
||||||
|
|
||||||
# homeassistant.components.homematic
|
# homeassistant.components.homematic
|
||||||
pyhomematic==0.1.77
|
pyhomematic==0.1.77
|
||||||
|
@ -1032,7 +1032,7 @@ pyhaversion==22.4.1
|
|||||||
pyheos==0.7.2
|
pyheos==0.7.2
|
||||||
|
|
||||||
# homeassistant.components.hive
|
# homeassistant.components.hive
|
||||||
pyhiveapi==0.5.5
|
pyhiveapi==0.5.9
|
||||||
|
|
||||||
# homeassistant.components.homematic
|
# homeassistant.components.homematic
|
||||||
pyhomematic==0.1.77
|
pyhomematic==0.1.77
|
||||||
|
@ -33,16 +33,6 @@ async def test_import_flow(hass):
|
|||||||
"AccessToken": "mock-access-token",
|
"AccessToken": "mock-access-token",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
), patch(
|
|
||||||
"homeassistant.components.hive.config_flow.Auth.device_registration",
|
|
||||||
return_value=True,
|
|
||||||
), patch(
|
|
||||||
"homeassistant.components.hive.config_flow.Auth.getDeviceData",
|
|
||||||
return_value=[
|
|
||||||
"mock-device-group-key",
|
|
||||||
"mock-device-key",
|
|
||||||
"mock-device-password",
|
|
||||||
],
|
|
||||||
), patch(
|
), patch(
|
||||||
"homeassistant.components.hive.async_setup", return_value=True
|
"homeassistant.components.hive.async_setup", return_value=True
|
||||||
) as mock_setup, patch(
|
) as mock_setup, patch(
|
||||||
@ -67,11 +57,6 @@ async def test_import_flow(hass):
|
|||||||
},
|
},
|
||||||
"ChallengeName": "SUCCESS",
|
"ChallengeName": "SUCCESS",
|
||||||
},
|
},
|
||||||
"device_data": [
|
|
||||||
"mock-device-group-key",
|
|
||||||
"mock-device-key",
|
|
||||||
"mock-device-password",
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
assert len(hass.config_entries.async_entries(DOMAIN)) == 1
|
assert len(hass.config_entries.async_entries(DOMAIN)) == 1
|
||||||
assert len(mock_setup.mock_calls) == 1
|
assert len(mock_setup.mock_calls) == 1
|
||||||
@ -96,16 +81,6 @@ async def test_user_flow(hass):
|
|||||||
"AccessToken": "mock-access-token",
|
"AccessToken": "mock-access-token",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
), patch(
|
|
||||||
"homeassistant.components.hive.config_flow.Auth.device_registration",
|
|
||||||
return_value=True,
|
|
||||||
), patch(
|
|
||||||
"homeassistant.components.hive.config_flow.Auth.getDeviceData",
|
|
||||||
return_value=[
|
|
||||||
"mock-device-group-key",
|
|
||||||
"mock-device-key",
|
|
||||||
"mock-device-password",
|
|
||||||
],
|
|
||||||
), patch(
|
), patch(
|
||||||
"homeassistant.components.hive.async_setup", return_value=True
|
"homeassistant.components.hive.async_setup", return_value=True
|
||||||
) as mock_setup, patch(
|
) as mock_setup, patch(
|
||||||
@ -130,11 +105,6 @@ async def test_user_flow(hass):
|
|||||||
},
|
},
|
||||||
"ChallengeName": "SUCCESS",
|
"ChallengeName": "SUCCESS",
|
||||||
},
|
},
|
||||||
"device_data": [
|
|
||||||
"mock-device-group-key",
|
|
||||||
"mock-device-key",
|
|
||||||
"mock-device-password",
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
assert len(mock_setup.mock_calls) == 1
|
assert len(mock_setup.mock_calls) == 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user