示例#1
0
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"
示例#2
0
    async def test_scan_no_homesharing(self):
        self.server.add_service(
            fake_udns.device_service('Apple TV', 'Apple TV Device'))

        atvs = await self.scan()
        self.assertEqual(len(atvs), 1)

        self.assertDevice(atvs[0], 'Apple TV Device', IP_LOCALHOST, 'Apple TV',
                          Protocol.DMAP, 3689)
示例#3
0
async def test_scan_no_homesharing(udns_server, udns_scan):
    udns_server.add_service(fake_udns.device_service("Apple TV", "Apple TV Device"))

    atvs = await udns_scan()
    assert len(atvs) == 1

    assert_device(
        atvs[0], "Apple TV Device", IP_LOCALHOST, "Apple TV", Protocol.DMAP, 3689
    )
示例#4
0
async def test_multicast_scan_no_home_sharing(udns_server, multicast_scan):
    udns_server.add_service(
        fake_udns.device_service("efgh", "Apple TV Device", 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)
示例#5
0
async def test_multicast_scan_home_sharing_merge(udns_server, multicast_scan):
    udns_server.add_service(
        fake_udns.device_service("efgh", "Apple TV Device", address=IP_3))
    udns_server.add_service(
        fake_udns.homesharing_service("efgh",
                                      "Apple TV Device",
                                      HSGID,
                                      address=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)
示例#6
0
async def test_unicast_scan_no_homesharing(udns_server, unicast_scan):
    udns_server.add_service(
        fake_udns.device_service("Apple TV", "Apple TV Device", address=IP_2))

    atvs = await unicast_scan()
    assert len(atvs) == 1

    assert_device(
        atvs[0],
        "Apple TV Device",
        ip_address(IP_2),
        "Apple TV",
        Protocol.DMAP,
        3689,
    )
示例#7
0
async def test_multicast_scan_mrp(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.device_service("efgh", "Apple TV Device", addresses=[IP_3]))

    atvs = await multicast_scan(protocol=Protocol.MRP)
    assert len(atvs) == 1

    dev1 = _get_atv(atvs, IP_1)
    assert dev1
    assert dev1.name == "Apple TV MRP 1"
    assert dev1.get_service(Protocol.MRP)
示例#8
0
async def test_unicast_scan_no_homesharing(udns_server, unicast_scan):
    udns_server.add_service(
        fake_udns.device_service(DMAP_SERVICE_NAME,
                                 DMAP_NAME,
                                 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,
    )
示例#9
0
async def test_multicast_scan_home_sharing_merge(udns_server, multicast_scan):
    udns_server.add_service(
        fake_udns.device_service(DMAP_SERVICE_NAME,
                                 DMAP_NAME,
                                 addresses=[IP_1]))
    udns_server.add_service(
        fake_udns.homesharing_service(DMAP_SERVICE_NAME,
                                      DMAP_NAME,
                                      DMAP_HSGID,
                                      addresses=[IP_1]))

    atvs = await multicast_scan()
    assert len(atvs) == 1

    assert_device(
        atvs[0],
        DMAP_NAME,
        ip_address(IP_1),
        DMAP_SERVICE_NAME,
        Protocol.DMAP,
        3689,
        DMAP_HSGID,
    )