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)
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')
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)
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))
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')