def test_setTimeout(self): api = disqusapi.DisqusAPI() self.assertEquals(api.timeout, socket.getdefaulttimeout()) api = disqusapi.DisqusAPI(timeout=30) self.assertEquals(api.timeout, 30) api.setTimeout(60) self.assertEquals(api.timeout, 60)
def test_paginator_legacy(self): api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC) with mock.patch('disqusapi.Resource._request') as _request: iterator = iter_results() _request.return_value = next(iterator) paginator = disqusapi.Paginator(api.posts.list, forum='disqus') n = 0 for n, result in enumerate(paginator(limit=100)): if n % 10 == 0: next(iterator) self.assertEquals(n, 99)
def test_endpoint(self): api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC) with mock.patch('disqusapi.Resource._request') as _request: iterator = iter_results() _request.return_value = next(iterator) response1 = api.posts.list(forum='disqus') with mock.patch('disqusapi.Resource._request') as _request: iterator = iter_results() _request.return_value = next(iterator) response2 = api.get('posts.list', forum='disqus') self.assertEquals(len(response1), len(response2))
def test_paginator(self): def iter_results(): for n in xrange(11): yield disqusapi.Result( response=[n] * 10, cursor={ 'id': n, 'more': n < 10, }, ) api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC) with mock.patch('disqusapi.Resource._request') as _request: iterator = iter_results() _request.return_value = iterator.next() paginator = disqusapi.Paginator(api.posts.list, forum='disqus') n = 0 for n, result in enumerate(paginator(limit=100)): if n % 10 == 0: iterator.next() self.assertEquals(n, 99)
def __init__(self, log_time): self.log_time = log_time self.DISQUS_API_SECRET = os.getenv('DISQUS_API_SECRET', None) self.DISQUS_API_PUBLIC = os.getenv('DISQUS_API_PUBLIC', None) self.DISQUS_ACCESS_TOKEN = os.getenv('DISQUS_ACCESS_TOKEN', None) self.user = { 'id': os.getenv('DISQUS_SSO_ID', None), 'username': os.getenv('DISQUS_SSO_USERNAME', None), 'email': os.getenv('DISQUS_SSO_EMAIL', None), } self.SSO_KEY = self.get_disqus_sso(self.user) self.disqus = disqusapi.DisqusAPI(api_secret=self.DISQUS_API_SECRET, public_key=self.DISQUS_API_PUBLIC, remote_auth=self.SSO_KEY) self.change_log = {} self.last_post = None self.last_library = None with open(get_path('data', DISQUS_COMMENTS)) as f: self.messages = simplejson.loads(f.read()) with open(get_path('data', EXAMPLES_WITHOUT_LIBRARY_DB)) as f: self.examples_without_library = simplejson.loads(f.read())
def test_setVersion(self): api = disqusapi.DisqusAPI() self.assertEquals(api.version, '3.0') api.setVersion('3.1') self.assertEquals(api.version, '3.1')
def test_setFormat(self): api = disqusapi.DisqusAPI() self.assertEquals(api.format, 'json') api.setFormat('jsonp') self.assertEquals(api.format, 'jsonp')
def test_setPublicKey(self): api = disqusapi.DisqusAPI('a', 'c') self.assertEquals(api.public_key, 'c') api.setPublicKey('b') self.assertEquals(api.public_key, 'b')
def test_setSecretKey(self): api = disqusapi.DisqusAPI('a', 'c') self.assertEquals(api.secret_key, 'a') api.setSecretKey('b') self.assertEquals(api.secret_key, 'b')
config[x] = getattr(mod, x) def log_exception(e): if raven: raven.captureException() traceback.print_exc() # load our default settings load_settings('app.cfg', config, silent=False) assert config['API_SECRET'], "You must set your API_SECRET!" assert config['ACCESS_TOKEN'], "You must set your ACCESS_TOKEN!" api = disqusapi.DisqusAPI(secret_key=config['API_SECRET']) def anonymize(post): return { 'link': post['thread']['link'], 'title': post['thread']['title'], 'icon': 'http://disqus.com/api/forums/favicons/%s.jpg' % (post['forum'], ) } def main(): queue = gevent.queue.Queue(1000) context = zmq.Context() pub = context.socket(zmq.PUSH)
def init_disqus(app): import disqusapi return disqusapi.DisqusAPI(app.config['DISQUS_SECRET'], app.config['DISQUS_PUBLIC'])
def test_update_interface(self): api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC) api.update_interface(extra_interface)
def test_invalid_method(self): api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC) with self.assertRaises(disqusapi.InvalidHTTPMethod): api.get('posts.list', method='lol', forum='disqus')
def test_update_interface_legacy(self): api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC) with self.assertRaises(disqusapi.InterfaceNotDefined): api.interface.update(extra_interface)