Пример #1
0
def test_group_magic_methods(group, endpoint):

    group.add_member(endpoint, suppress_event=True)

    assert endpoint.unique_id in group.members
    assert endpoint.unique_id in group
    assert group[endpoint.unique_id] is endpoint
Пример #2
0
 async def _load_group_members(self) -> None:
     async with self.execute("SELECT * FROM group_members") as cursor:
         async for (group_id, ieee, ep_id) in cursor:
             group = self._application.groups[group_id]
             group.add_member(
                 self._application.get_device(ieee).endpoints[ep_id],
                 suppress_event=True,
             )
Пример #3
0
def test_group_add_member_no_evt(group, endpoint):
    listener = mock.MagicMock()
    group.add_listener(listener)

    assert endpoint.unique_id not in group
    group.add_member(endpoint, suppress_event=True)
    assert endpoint.unique_id in group
    assert FIXTURE_GRP_ID in endpoint.member_of
    assert listener.member_added.call_count == 0
    assert listener.member_removed.call_count == 0
Пример #4
0
def test_pop_group(groups, endpoint):
    assert FIXTURE_GRP_ID in groups
    group = groups[FIXTURE_GRP_ID]
    group.add_member(endpoint)
    group.remove_member = mock.MagicMock()
    groups.listener_event.reset_mock()

    grp = groups.pop(group)
    assert isinstance(grp, zigpy.group.Group)
    assert FIXTURE_GRP_ID not in groups
    assert groups.listener_event.call_count == 1
    assert group.remove_member.call_count == 1
    assert group.remove_member.call_args[0][0] is endpoint

    with pytest.raises(KeyError):
        groups.pop(grp)
Пример #5
0
def test_group_add_member(group, endpoint):
    listener = mock.MagicMock()
    group.add_listener(listener)

    assert endpoint.unique_id not in group.members
    assert FIXTURE_GRP_ID not in endpoint.member_of
    group.add_member(endpoint)
    assert endpoint.unique_id in group.members
    assert FIXTURE_GRP_ID in endpoint.member_of
    assert listener.member_added.call_count == 1
    assert listener.member_removed.call_count == 0

    listener.reset_mock()
    group.add_member(endpoint)
    assert listener.member_added.call_count == 0
    assert listener.member_removed.call_count == 0

    group.__repr__()
    assert group.name == FIXTURE_GRP_NAME

    with pytest.raises(ValueError):
        group.add_member(endpoint.endpoint_id)