mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 12:59:34 +00:00
Discover controllable Plex clients using plex.tv (#36857)
This commit is contained in:
@@ -38,28 +38,37 @@ class MockGDM:
|
||||
class MockResource:
|
||||
"""Mock a PlexAccount resource."""
|
||||
|
||||
def __init__(self, index):
|
||||
def __init__(self, index, kind="server"):
|
||||
"""Initialize the object."""
|
||||
self.name = MOCK_SERVERS[index][CONF_SERVER]
|
||||
self.clientIdentifier = MOCK_SERVERS[index][ # pylint: disable=invalid-name
|
||||
CONF_SERVER_IDENTIFIER
|
||||
]
|
||||
self.provides = ["server"]
|
||||
self._mock_plex_server = MockPlexServer(index)
|
||||
if kind == "server":
|
||||
self.name = MOCK_SERVERS[index][CONF_SERVER]
|
||||
self.clientIdentifier = MOCK_SERVERS[index][ # pylint: disable=invalid-name
|
||||
CONF_SERVER_IDENTIFIER
|
||||
]
|
||||
self.provides = ["server"]
|
||||
self.device = MockPlexServer(index)
|
||||
else:
|
||||
self.name = f"plex.tv Resource Player {index+10}"
|
||||
self.clientIdentifier = f"client-{index+10}"
|
||||
self.provides = ["player"]
|
||||
self.device = MockPlexClient(f"http://192.168.0.1{index}:32500", index + 10)
|
||||
self.presence = index == 0
|
||||
|
||||
def connect(self, timeout):
|
||||
"""Mock the resource connect method."""
|
||||
return self._mock_plex_server
|
||||
return self.device
|
||||
|
||||
|
||||
class MockPlexAccount:
|
||||
"""Mock a PlexAccount instance."""
|
||||
|
||||
def __init__(self, servers=1):
|
||||
def __init__(self, servers=1, players=3):
|
||||
"""Initialize the object."""
|
||||
self._resources = []
|
||||
for index in range(servers):
|
||||
self._resources.append(MockResource(index))
|
||||
for index in range(players):
|
||||
self._resources.append(MockResource(index, kind="player"))
|
||||
|
||||
def resource(self, name):
|
||||
"""Mock the PlexAccount resource lookup method."""
|
||||
|
||||
Reference in New Issue
Block a user