Handle KeyError in getuser (#59667)

This commit is contained in:
Joakim Sørensen 2021-11-14 10:53:19 +01:00 committed by GitHub
parent c323815760
commit f596cb19fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View file

@ -23,13 +23,17 @@ async def async_get_system_info(hass: HomeAssistant) -> dict[str, Any]:
"virtualenv": is_virtual_env(),
"python_version": platform.python_version(),
"docker": False,
"user": getuser(),
"arch": platform.machine(),
"timezone": str(hass.config.time_zone),
"os_name": platform.system(),
"os_version": platform.release(),
}
try:
info_object["user"] = getuser()
except KeyError:
info_object["user"] = None
if platform.system() == "Windows":
info_object["os_version"] = platform.win32_ver()[0]
elif platform.system() == "Darwin":

View file

@ -27,3 +27,10 @@ async def test_container_installationtype(hass):
), patch("homeassistant.helpers.system_info.getuser", return_value="user"):
info = await hass.helpers.system_info.async_get_system_info()
assert info["installation_type"] == "Unknown"
async def test_getuser_keyerror(hass):
"""Test getuser keyerror."""
with patch("homeassistant.helpers.system_info.getuser", side_effect=KeyError):
info = await hass.helpers.system_info.async_get_system_info()
assert info["user"] is None