def setup_environment(self): airplay_port = self.server.port self.fake_udns.add_service( fake_udns.homesharing_service(DMAP_ID, "Apple TV 1", "aaaa", address=IP_1)) self.fake_udns.add_service( fake_udns.mrp_service( "DDDD", "Apple TV 2", MRP_ID, address=IP_2, port=self.fake_atv.get_port(Protocol.MRP), )) self.fake_udns.add_service( fake_udns.airplay_service("Apple TV 2", AIRPLAY_ID, address=IP_2, port=airplay_port)) self.airplay_usecase.airplay_playback_playing() self.airplay_usecase.airplay_playback_idle()
async def test_multicast_scan( udns_server: fake_udns.FakeUdns, multicast_scan: Scanner, ): udns_server.add_service( fake_udns.mrp_service("Apple TV", "Apple TV MRP", MRP_ID_1, address=IP_1)) udns_server.add_service( fake_udns.homesharing_service("abcd", "Apple TV HS 2", HSGID, address=IP_2)) udns_server.add_service( fake_udns.device_service("efgh", "Apple TV Device", address=IP_3)) atvs = await multicast_scan() assert len(atvs) == 3 # First device dev1 = _get_atv(atvs, IP_1) assert dev1 assert dev1.identifier == MRP_ID_1 # Second device dev2 = _get_atv(atvs, IP_2) assert dev2 assert dev2.identifier == "abcd" # Third device dev3 = _get_atv(atvs, IP_3) assert dev3 assert dev3.identifier == "efgh"
async def test_scan_homesharing(self): self.server.add_service( fake_udns.homesharing_service('abcd', 'Apple TV HS', HSGID)) atvs = await self.scan() self.assertEqual(len(atvs), 1) self.assertDevice(atvs[0], 'Apple TV HS', IP_LOCALHOST, 'abcd', Protocol.DMAP, 3689, HSGID)
async def test_udns_scan_homesharing(udns_server, udns_scan): udns_server.add_service(fake_udns.homesharing_service("abcd", "Apple TV HS", HSGID)) atvs = await udns_scan() assert len(atvs) == 1 assert_device( atvs[0], "Apple TV HS", IP_LOCALHOST, "abcd", Protocol.DMAP, 3689, HSGID )
async def test_multicast_scan_home_sharing_merge(udns_server, multicast_scan): udns_server.add_service( fake_udns.device_service("efgh", "Apple TV Device", addresses=[IP_3])) udns_server.add_service( fake_udns.homesharing_service("efgh", "Apple TV Device", HSGID, addresses=[IP_3])) atvs = await multicast_scan() assert len(atvs) == 1 assert_device(atvs[0], "Apple TV Device", ip_address(IP_3), "efgh", Protocol.DMAP, 3689, HSGID)
async def test_multicast_scan_for_particular_device(udns_server, multicast_scan): udns_server.add_service( fake_udns.mrp_service("Apple TV 1", "Apple TV MRP 1", MRP_ID_1, addresses=[IP_1])) udns_server.add_service( fake_udns.homesharing_service("efgh", "Apple TV Device", HSGID, addresses=[IP_3])) atvs = await multicast_scan(identifier="efgh") assert len(atvs) == 1 assert atvs[0].name == "Apple TV Device" assert atvs[0].address == ip_address(IP_3)
async def test_unicast_scan_homesharing(udns_server, unicast_scan): udns_server.add_service( fake_udns.homesharing_service(DMAP_SERVICE_NAME, DMAP_NAME, DMAP_HSGID, addresses=[IP_1])) atvs = await unicast_scan() assert len(atvs) == 1 assert_device( atvs[0], DMAP_NAME, ip_address(IP_1), DMAP_SERVICE_NAME, Protocol.DMAP, 3689, DMAP_HSGID, )
async def test_unicast_scan_homesharing(udns_server, unicast_scan): udns_server.add_service( fake_udns.homesharing_service("abcd", "Apple TV HS", HSGID, addresses=[IP_3])) atvs = await unicast_scan() assert len(atvs) == 1 assert_device( atvs[0], "Apple TV HS", ip_address(IP_3), "abcd", Protocol.DMAP, 3689, HSGID, )