def setup_environment(self): airplay_port = self.server.port services = [] services.append( zeroconf_stub.homesharing_service(DMAP_ID, b"Apple TV 1", IP_1, b"aaaa")) services.append( zeroconf_stub.mrp_service( "DDDD", b"Apple TV 2", IP_2, MRP_ID, port=self.fake_atv.get_port(Protocol.MRP), )) services.append( zeroconf_stub.airplay_service("Apple TV 2", IP_2, AIRPLAY_ID, port=airplay_port)) zeroconf_stub.stub(pyatv, *services) self.fake_udns.add_service( fake_udns.mrp_service("DDDD", "Apple TV 2", MRP_ID, port=self.fake_atv.get_port(Protocol.MRP))) self.fake_udns.add_service( fake_udns.airplay_service("Apple TV 2", AIRPLAY_ID, port=airplay_port)) self.airplay_usecase.airplay_playback_playing() self.airplay_usecase.airplay_playback_idle()
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_scan_airplay(self): self.server.add_service( fake_udns.airplay_service('Apple TV', AIRPLAY_ID)) atvs = await self.scan() self.assertEqual(len(atvs), 1) self.assertDevice(atvs[0], 'Apple TV', IP_LOCALHOST, AIRPLAY_ID, Protocol.AirPlay, 7000)
async def test_scan_device_info(udns_server, udns_scan): udns_server.add_service(fake_udns.mrp_service("Apple TV", "Apple TV MRP", MRP_ID_1)) udns_server.add_service(fake_udns.airplay_service("Apple TV", AIRPLAY_ID)) atvs = await udns_scan() assert len(atvs) == 1 device_info = atvs[0].device_info assert device_info.mac == AIRPLAY_ID
async def test_multicast_scan_airplay_device(udns_server, multicast_scan): udns_server.add_service( fake_udns.airplay_service("Apple TV", AIRPLAY_ID, addresses=[IP_1])) atvs = await multicast_scan() assert len(atvs) == 1 assert atvs[0].name == "Apple TV" assert atvs[0].identifier == AIRPLAY_ID assert atvs[0].address == ip_address(IP_1)
async def test_multicast_scan_device_info(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.airplay_service("Apple TV", AIRPLAY_ID, addresses=[IP_1])) atvs = await multicast_scan(protocol=Protocol.MRP) assert len(atvs) == 1 device_info = atvs[0].device_info assert device_info.mac == AIRPLAY_ID
async def test_unicast_scan_airplay(udns_server, unicast_scan: Scanner): udns_server.add_service( fake_udns.airplay_service(AIRPLAY_NAME, AIRPLAY_ID, addresses=[IP_1], port=7000)) atvs = await unicast_scan() assert len(atvs) == 1 assert_device( atvs[0], AIRPLAY_NAME, ip_address(IP_1), AIRPLAY_ID, Protocol.AirPlay, 7000, )
def service2(address=SERVICE_1_IP): return fake_udns.airplay_service(SERVICE_2_NAME, SERVICE_2_ID, addresses=[address])
async def test_udns_scan_airplay(udns_server, udns_scan): udns_server.add_service(fake_udns.airplay_service("Apple TV", AIRPLAY_ID)) atvs = await udns_scan() assert len(atvs) == 0
async def test_multicast_scan_airplay_device(udns_server, multicast_scan): udns_server.add_service( fake_udns.airplay_service("Apple TV", AIRPLAY_ID, address=IP_1)) atvs = await multicast_scan() assert len(atvs) == 0