client: add set_self_mute and register_self
This commit is contained in:
@@ -280,6 +280,19 @@ class MumbleClient:
|
||||
else:
|
||||
self._mumble.users.myself.undeafen()
|
||||
|
||||
def set_self_mute(self, mute: bool) -> None:
|
||||
"""Toggle self-mute on the server."""
|
||||
if self._mumble and self._connected:
|
||||
if mute:
|
||||
self._mumble.users.myself.mute()
|
||||
else:
|
||||
self._mumble.users.myself.unmute()
|
||||
|
||||
def register_self(self) -> None:
|
||||
"""Register the current user on the server."""
|
||||
if self._mumble and self._connected:
|
||||
self._mumble.users.myself.register()
|
||||
|
||||
# -- pymumble callbacks (run on pymumble thread) -------------------------
|
||||
|
||||
def _register_callbacks(self) -> None:
|
||||
|
||||
@@ -120,3 +120,47 @@ def test_disconnect_clears_connected():
|
||||
client._mumble = MagicMock()
|
||||
client.disconnect()
|
||||
assert client.connected is False
|
||||
|
||||
|
||||
def test_set_self_mute_calls_pymumble():
|
||||
client = MumbleClient(host="localhost")
|
||||
client._connected = True
|
||||
myself = MagicMock()
|
||||
users = MagicMock()
|
||||
users.myself = myself
|
||||
mumble = MagicMock()
|
||||
mumble.users = users
|
||||
client._mumble = mumble
|
||||
|
||||
client.set_self_mute(True)
|
||||
myself.mute.assert_called_once()
|
||||
myself.unmute.assert_not_called()
|
||||
|
||||
myself.reset_mock()
|
||||
client.set_self_mute(False)
|
||||
myself.unmute.assert_called_once()
|
||||
myself.mute.assert_not_called()
|
||||
|
||||
|
||||
def test_set_self_mute_noop_when_disconnected():
|
||||
client = MumbleClient(host="localhost")
|
||||
client.set_self_mute(True)
|
||||
|
||||
|
||||
def test_register_self_calls_pymumble():
|
||||
client = MumbleClient(host="localhost")
|
||||
client._connected = True
|
||||
myself = MagicMock()
|
||||
users = MagicMock()
|
||||
users.myself = myself
|
||||
mumble = MagicMock()
|
||||
mumble.users = users
|
||||
client._mumble = mumble
|
||||
|
||||
client.register_self()
|
||||
myself.register.assert_called_once()
|
||||
|
||||
|
||||
def test_register_self_noop_when_disconnected():
|
||||
client = MumbleClient(host="localhost")
|
||||
client.register_self()
|
||||
|
||||
Reference in New Issue
Block a user