Esempio n. 1
0
 def test_query_success_string(self, observers, query, now):
     now.side_effect = [
         datetime.datetime(year=1, month=1, day=1, minute=1),
         datetime.datetime(year=1, month=1, day=1, minute=2),
     ]
     query.return_value = 'some string response'
     observer_cls = mock.Mock()
     observers.__iter__.return_value = [observer_cls]
     graph_api.ObservableGraphAPI().get('me')
     observer_cls.return_value.handle_facebook_communication.assert_called_once_with()
     observer_cls.assert_called_once_with(None, None, None,
                                          datetime.timedelta(minutes=1))
Esempio n. 2
0
 def test_query_failure(self, observers, query, now):
     now.side_effect = [
         datetime.datetime(year=1, month=1, day=1, minute=1),
         datetime.datetime(year=1, month=1, day=1, minute=2),
     ]
     query.side_effect = FacebookError("msg", 1)
     observer_cls = mock.Mock()
     observers.__iter__.return_value = [observer_cls]
     with self.assertRaises(FacebookError):
         graph_api.ObservableGraphAPI().get('me')
     observer_cls.return_value.handle_facebook_communication.assert_called_once_with()
     observer_cls.assert_called_once_with(None, None, query.side_effect,
                                          datetime.timedelta(minutes=1))
Esempio n. 3
0
 def get_long_lived_access_token(access_token):
     graph = graph_api.ObservableGraphAPI()
     args = {
         'client_id': settings.FACEBOOK_APP_ID,
         'client_secret': settings.FACEBOOK_APP_SECRET,
         'grant_type': 'fb_exchange_token',
         'fb_exchange_token': access_token,
     }
     data = graph.get('/oauth/access_token', **args)
     try:
         access_token = urlparse.parse_qs(data)['access_token'][-1]
         expires_in_seconds = int(urlparse.parse_qs(data)['expires'][-1])
     except KeyError:
         logger.warning('Invalid Facebook response.')
         raise FacebookError
     return access_token, expires_in_seconds
Esempio n. 4
0
 def graph(self):
     return graph_api.ObservableGraphAPI(self._get_token_object().token)