def testAsyncRequest(self):
    ident_dict = {'key': 'Email:andy@emailscrubbed.com', 'authority': 'FakeViewfinder'}
    auth_info_dict = {'identity': ident_dict['key']}
    url = self._tester.GetUrl('/link/fakeviewfinder')
    request_dict = _CreateRegisterRequest(self._mobile_device_dict, auth_info_dict, synchronous=False)
    response = _SendAuthRequest(self._tester, url, 'POST', request_dict=request_dict, user_cookie=self._cookie)
    response_dict = json.loads(response.body)

    self._validate = False

    # Wait until notification is written by the background fetch_contacts op.
    while True:
      notification = self._RunAsync(Notification.QueryLast, self._client, response_dict['user_id'])
      if notification.name == 'fetch_contacts':
        self.assertEqual(notification.op_id, response_dict['headers']['op_id'])
        break
      self._RunAsync(IOLoop.current().add_timeout, time.time() + .1)
Return objects having permissions with a given key or category or
dataset/ETHPy150Open viewfinderco/viewfinder/backend/www/test/auth_test.py/AuthTestCase.testAsyncRequest--crossover with--dataset/ETHPy150Open evennia/evennia/evennia/typeclasses/managers.py/TypedObjectManager.get_by_permission