コード例 #1
0
ファイル: test_auth.py プロジェクト: zt17521/home-assistant
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": [],
    }
コード例 #2
0
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': [],
    }