Example #1
0
    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()
Example #2
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"
Example #3
0
    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)
Example #4
0
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
    )
Example #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", 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)
Example #6
0
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)
Example #7
0
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,
    )
Example #8
0
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,
    )