Esempio n. 1
0
def test_service_group_set_group_remove_group(hass):
    """Check if service are available."""
    with assert_setup_component(0, "group"):
        yield from async_setup_component(hass, "group", {"group": {}})

    common.async_set_group(hass, "user_test_group", name="Test")
    yield from hass.async_block_till_done()

    group_state = hass.states.get("group.user_test_group")
    assert group_state
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes["friendly_name"] == "Test"

    common.async_set_group(
        hass,
        "user_test_group",
        view=True,
        visible=False,
        entity_ids=["test.entity_bla1"],
    )
    yield from hass.async_block_till_done()

    group_state = hass.states.get("group.user_test_group")
    assert group_state
    assert group_state.attributes[group.ATTR_VIEW]
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes["hidden"]
    assert group_state.attributes["friendly_name"] == "Test"
    assert list(group_state.attributes["entity_id"]) == ["test.entity_bla1"]

    common.async_set_group(
        hass,
        "user_test_group",
        icon="mdi:camera",
        name="Test2",
        control="hidden",
        add=["test.entity_id2"],
    )
    yield from hass.async_block_till_done()

    group_state = hass.states.get("group.user_test_group")
    assert group_state
    assert group_state.attributes[group.ATTR_VIEW]
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes["hidden"]
    assert group_state.attributes["friendly_name"] == "Test2"
    assert group_state.attributes["icon"] == "mdi:camera"
    assert group_state.attributes[group.ATTR_CONTROL] == "hidden"
    assert sorted(list(group_state.attributes["entity_id"])) == sorted(
        ["test.entity_bla1", "test.entity_id2"]
    )

    common.async_remove(hass, "user_test_group")
    yield from hass.async_block_till_done()

    group_state = hass.states.get("group.user_test_group")
    assert group_state is None
Esempio n. 2
0
async def test_modify_group(hass):
    """Test modifying a group."""
    group_conf = OrderedDict()
    group_conf["modify_group"] = {
        "name": "friendly_name",
        "icon": "mdi:work",
        "entities": None,
    }

    assert await async_setup_component(hass, "group", {"group": group_conf})
    await hass.async_block_till_done()
    assert hass.states.get(f"{group.DOMAIN}.modify_group")

    # The old way would create a new group modify_group1 because
    # internally it didn't know anything about those created in the config
    common.async_set_group(hass, "modify_group", icon="mdi:play")
    await hass.async_block_till_done()

    group_state = hass.states.get(f"{group.DOMAIN}.modify_group")
    assert group_state

    assert hass.states.async_entity_ids() == ["group.modify_group"]
    assert group_state.attributes.get(ATTR_ICON) == "mdi:play"
    assert group_state.attributes.get(ATTR_FRIENDLY_NAME) == "friendly_name"
Esempio n. 3
0
def test_service_group_set_group_remove_group(hass):
    """Check if service are available."""
    with assert_setup_component(0, 'group'):
        yield from async_setup_component(hass, 'group', {'group': {}})

    common.async_set_group(hass, 'user_test_group', name="Test")
    yield from hass.async_block_till_done()

    group_state = hass.states.get('group.user_test_group')
    assert group_state
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes['friendly_name'] == "Test"

    common.async_set_group(hass,
                           'user_test_group',
                           view=True,
                           visible=False,
                           entity_ids=['test.entity_bla1'])
    yield from hass.async_block_till_done()

    group_state = hass.states.get('group.user_test_group')
    assert group_state
    assert group_state.attributes[group.ATTR_VIEW]
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes['hidden']
    assert group_state.attributes['friendly_name'] == "Test"
    assert list(group_state.attributes['entity_id']) == ['test.entity_bla1']

    common.async_set_group(hass,
                           'user_test_group',
                           icon="mdi:camera",
                           name="Test2",
                           control="hidden",
                           add=['test.entity_id2'])
    yield from hass.async_block_till_done()

    group_state = hass.states.get('group.user_test_group')
    assert group_state
    assert group_state.attributes[group.ATTR_VIEW]
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes['hidden']
    assert group_state.attributes['friendly_name'] == "Test2"
    assert group_state.attributes['icon'] == "mdi:camera"
    assert group_state.attributes[group.ATTR_CONTROL] == "hidden"
    assert sorted(list(group_state.attributes['entity_id'])) == sorted(
        ['test.entity_bla1', 'test.entity_id2'])

    common.async_remove(hass, 'user_test_group')
    yield from hass.async_block_till_done()

    group_state = hass.states.get('group.user_test_group')
    assert group_state is None
Esempio n. 4
0
def test_service_group_set_group_remove_group(hass):
    """Check if service are available."""
    with assert_setup_component(0, 'group'):
        yield from async_setup_component(hass, 'group', {
            'group': {}
        })

    common.async_set_group(hass, 'user_test_group', name="Test")
    yield from hass.async_block_till_done()

    group_state = hass.states.get('group.user_test_group')
    assert group_state
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes['friendly_name'] == "Test"

    common.async_set_group(
        hass, 'user_test_group', view=True, visible=False,
        entity_ids=['test.entity_bla1'])
    yield from hass.async_block_till_done()

    group_state = hass.states.get('group.user_test_group')
    assert group_state
    assert group_state.attributes[group.ATTR_VIEW]
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes['hidden']
    assert group_state.attributes['friendly_name'] == "Test"
    assert list(group_state.attributes['entity_id']) == ['test.entity_bla1']

    common.async_set_group(
        hass, 'user_test_group', icon="mdi:camera", name="Test2",
        control="hidden", add=['test.entity_id2'])
    yield from hass.async_block_till_done()

    group_state = hass.states.get('group.user_test_group')
    assert group_state
    assert group_state.attributes[group.ATTR_VIEW]
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes['hidden']
    assert group_state.attributes['friendly_name'] == "Test2"
    assert group_state.attributes['icon'] == "mdi:camera"
    assert group_state.attributes[group.ATTR_CONTROL] == "hidden"
    assert sorted(list(group_state.attributes['entity_id'])) == sorted([
        'test.entity_bla1', 'test.entity_id2'])

    common.async_remove(hass, 'user_test_group')
    yield from hass.async_block_till_done()

    group_state = hass.states.get('group.user_test_group')
    assert group_state is None
Esempio n. 5
0
async def test_service_group_set_group_remove_group(hass):
    """Check if service are available."""
    with assert_setup_component(0, "group"):
        await async_setup_component(hass, "group", {"group": {}})

    common.async_set_group(hass, "user_test_group", name="Test")
    await hass.async_block_till_done()

    group_state = hass.states.get("group.user_test_group")
    assert group_state
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes["friendly_name"] == "Test"

    common.async_set_group(hass,
                           "user_test_group",
                           entity_ids=["test.entity_bla1"])
    await hass.async_block_till_done()

    group_state = hass.states.get("group.user_test_group")
    assert group_state
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes["friendly_name"] == "Test"
    assert list(group_state.attributes["entity_id"]) == ["test.entity_bla1"]

    common.async_set_group(
        hass,
        "user_test_group",
        icon="mdi:camera",
        name="Test2",
        add=["test.entity_id2"],
    )
    await hass.async_block_till_done()

    group_state = hass.states.get("group.user_test_group")
    assert group_state
    assert group_state.attributes[group.ATTR_AUTO]
    assert group_state.attributes["friendly_name"] == "Test2"
    assert group_state.attributes["icon"] == "mdi:camera"
    assert sorted(list(group_state.attributes["entity_id"])) == sorted(
        ["test.entity_bla1", "test.entity_id2"])

    common.async_remove(hass, "user_test_group")
    await hass.async_block_till_done()

    group_state = hass.states.get("group.user_test_group")
    assert group_state is None