Exemplo n.º 1
0
    def test_failed_pairing(self):
        yield from self.pairing.start(self.zeroconf)

        url = self._pairing_url('wrong')
        _, status = yield from utils.simple_get(url, self.loop)

        self.assertEqual(status, 500)
Exemplo n.º 2
0
    def test_succesful_pairing(self):
        yield from self.pairing.start(self.zeroconf)

        url = self._pairing_url(PAIRING_CODE)
        data, _ = yield from utils.simple_get(url, self.loop)

        # Verify content returned in pairingresponse
        parsed = dmap.parse(data, tag_definitions.lookup_tag)
        self.assertEqual(dmap.first(parsed, 'cmpa', 'cmpg'), 1)
        self.assertEqual(dmap.first(parsed, 'cmpa', 'cmnm'), REMOTE_NAME)
        self.assertEqual(dmap.first(parsed, 'cmpa', 'cmty'), 'ipod')
Exemplo n.º 3
0
    def test_metadata_artwork_url(self):
        self.usecase.change_artwork(EXPECTED_ARTWORK)

        # Must be logged in to have valid session id
        yield from self.atv.login()

        # URL to artwork
        artwork_url = yield from self.atv.metadata.artwork_url()

        # Fetch artwork with a GET request to ensure it works
        artwork, _ = yield from utils.simple_get(artwork_url, self.loop)
        self.assertEqual(artwork, EXPECTED_ARTWORK)
Exemplo n.º 4
0
    def test_pair_custom_pairing_guid(self):
        self.pairing.pin_code = PIN_CODE2
        self.pairing.pairing_guid = PAIRING_GUID2
        yield from self.pairing.start(self.zeroconf)

        url = self._pairing_url(PAIRING_CODE2)
        data, _ = yield from utils.simple_get(url, self.loop)

        # Verify content returned in pairingresponse
        parsed = dmap.parse(data, tag_definitions.lookup_tag)
        self.assertEqual(dmap.first(parsed, 'cmpa', 'cmpg'),
                         int(PAIRING_GUID2, 16))
Exemplo n.º 5
0
    def perform_pairing(self, pairing_response, port):
        """Pair with a remote client.

        This will perform a GET-request to the specified port and hand over
        information to the client (pyatv) so that the pairing process can be
        completed.
        """
        server = 'http://127.0.0.1:{}'.format(port)
        url = '{}/pairing?pairingcode={}&servicename=test'.format(
            server, pairing_response.pairing_code)
        data, _ = yield from utils.simple_get(url, self.loop)

        # Verify content returned in pairingresponse
        parsed = dmap.parse(data, tag_definitions.lookup_tag)
        self.tc.assertEqual(dmap.first(parsed, 'cmpa', 'cmpg'), 1)
        self.tc.assertEqual(dmap.first(parsed, 'cmpa', 'cmnm'),
                            pairing_response.remote_name)
        self.tc.assertEqual(dmap.first(parsed, 'cmpa', 'cmty'), 'ipod')