async def test_list(hass, hass_ws_client, hass_admin_user): """Test get users.""" group = MockGroup().add_to_hass(hass) owner = MockUser(id="abc", name="Test Owner", is_owner=True, groups=[group]).add_to_hass(hass) owner.credentials.append( auth_models.Credentials(auth_provider_type="homeassistant", auth_provider_id=None, data={})) system = MockUser(id="efg", name="Test Hass.io", system_generated=True).add_to_hass(hass) inactive = MockUser(id="hij", name="Inactive User", is_active=False, groups=[group]).add_to_hass(hass) refresh_token = await hass.auth.async_create_refresh_token( owner, CLIENT_ID) access_token = hass.auth.async_create_access_token(refresh_token) client = await hass_ws_client(hass, access_token) await client.send_json({"id": 5, "type": auth_config.WS_TYPE_LIST}) result = await client.receive_json() assert result["success"], result data = result["result"] assert len(data) == 4 assert data[0] == { "id": hass_admin_user.id, "name": "Mock User", "is_owner": False, "is_active": True, "system_generated": False, "group_ids": [group.id for group in hass_admin_user.groups], "credentials": [], } assert data[1] == { "id": owner.id, "name": "Test Owner", "is_owner": True, "is_active": True, "system_generated": False, "group_ids": [group.id for group in owner.groups], "credentials": [{ "type": "homeassistant" }], } assert data[2] == { "id": system.id, "name": "Test Hass.io", "is_owner": False, "is_active": True, "system_generated": True, "group_ids": [], "credentials": [], } assert data[3] == { "id": inactive.id, "name": "Inactive User", "is_owner": False, "is_active": False, "system_generated": False, "group_ids": [group.id for group in inactive.groups], "credentials": [], }
async def test_list(hass, hass_ws_client, hass_admin_user): """Test get users.""" group = MockGroup().add_to_hass(hass) owner = MockUser( id='abc', name='Test Owner', is_owner=True, groups=[group], ).add_to_hass(hass) owner.credentials.append( auth_models.Credentials( auth_provider_type='homeassistant', auth_provider_id=None, data={}, )) system = MockUser(id='efg', name='Test Hass.io', system_generated=True).add_to_hass(hass) inactive = MockUser( id='hij', name='Inactive User', is_active=False, groups=[group], ).add_to_hass(hass) refresh_token = await hass.auth.async_create_refresh_token( owner, CLIENT_ID) access_token = hass.auth.async_create_access_token(refresh_token) client = await hass_ws_client(hass, access_token) await client.send_json({ 'id': 5, 'type': auth_config.WS_TYPE_LIST, }) result = await client.receive_json() assert result['success'], result data = result['result'] assert len(data) == 4 assert data[0] == { 'id': hass_admin_user.id, 'name': 'Mock User', 'is_owner': False, 'is_active': True, 'system_generated': False, 'group_ids': [group.id for group in hass_admin_user.groups], 'credentials': [] } assert data[1] == { 'id': owner.id, 'name': 'Test Owner', 'is_owner': True, 'is_active': True, 'system_generated': False, 'group_ids': [group.id for group in owner.groups], 'credentials': [{ 'type': 'homeassistant' }] } assert data[2] == { 'id': system.id, 'name': 'Test Hass.io', 'is_owner': False, 'is_active': True, 'system_generated': True, 'group_ids': [], 'credentials': [], } assert data[3] == { 'id': inactive.id, 'name': 'Inactive User', 'is_owner': False, 'is_active': False, 'system_generated': False, 'group_ids': [group.id for group in inactive.groups], 'credentials': [], }