Refactoring and adding tests
This commit is contained in:
@@ -36,8 +36,9 @@ from . import packages
|
||||
from .packages import praw
|
||||
from .config import Config, copy_default_config, copy_default_mailcap
|
||||
from .theme import Theme
|
||||
from .oauth import OAuthHelper, OAuthRateLimiter
|
||||
from .oauth import OAuthHelper
|
||||
from .terminal import Terminal
|
||||
from .content import RequestHeaderRateLimiter
|
||||
from .objects import curses_session, patch_webbrowser
|
||||
from .subreddit_page import SubredditPage
|
||||
from .exceptions import ConfigError
|
||||
@@ -177,7 +178,12 @@ def main():
|
||||
reddit = praw.Reddit(user_agent=user_agent,
|
||||
decode_html_entities=False,
|
||||
disable_update_check=True,
|
||||
handler=OAuthRateLimiter())
|
||||
handler=RequestHeaderRateLimiter())
|
||||
|
||||
# Dial the request cache up from 30 seconds to 5 minutes
|
||||
# I'm trying this out to make navigation back and forth
|
||||
# between pages quicker, it may still need to be fine tuned.
|
||||
reddit.config.api_request_delay = 300
|
||||
|
||||
# Authorize on launch if the refresh token is present
|
||||
oauth = OAuthHelper(reddit, term, config)
|
||||
|
||||
173
rtv/content.py
173
rtv/content.py
@@ -2,8 +2,10 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import re
|
||||
import time
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from timeit import default_timer as timer
|
||||
|
||||
import six
|
||||
from kitchen.text.display import wrap
|
||||
@@ -11,6 +13,8 @@ from kitchen.text.display import wrap
|
||||
from . import exceptions
|
||||
from .packages import praw
|
||||
from .packages.praw.errors import InvalidSubreddit
|
||||
from .packages.praw.helpers import normalize_url
|
||||
from .packages.praw.handlers import DefaultHandler
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -777,3 +781,172 @@ class SubscriptionContent(Content):
|
||||
data['h_offset'] = 0
|
||||
|
||||
return data
|
||||
|
||||
|
||||
class RequestHeaderRateLimiter(DefaultHandler):
|
||||
"""Custom PRAW request handler for rate-limiting requests.
|
||||
|
||||
This is an alternative to PRAW 3's DefaultHandler that uses
|
||||
Reddit's modern API guidelines to rate-limit requests based
|
||||
on the X-Ratelimit-* headers returned from Reddit. Most of
|
||||
these methods are copied from or derived from the DefaultHandler.
|
||||
|
||||
References:
|
||||
https://github.com/reddit/reddit/wiki/API
|
||||
https://github.com/praw-dev/prawcore/blob/master/prawcore/rate_limit.py
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
|
||||
# In PRAW's convention, these variables were bound to the
|
||||
# class so the cache could be shared among all of the ``reddit``
|
||||
# instances. In RTV's use-case there is only ever a single reddit
|
||||
# instance so it made sense to clean up the globals and transfer them
|
||||
# to method variables
|
||||
self.cache = {}
|
||||
self.cache_hit_callback = None
|
||||
self.timeouts = {}
|
||||
|
||||
# These are used for the header rate-limiting
|
||||
self.used = None
|
||||
self.remaining = None
|
||||
self.seconds_to_reset = None
|
||||
self.next_request_timestamp = None
|
||||
|
||||
super(RequestHeaderRateLimiter, self).__init__()
|
||||
|
||||
def _delay(self):
|
||||
"""
|
||||
Pause before making the next HTTP request.
|
||||
"""
|
||||
if self.next_request_timestamp is None:
|
||||
return
|
||||
|
||||
sleep_seconds = self.next_request_timestamp - time.time()
|
||||
if sleep_seconds <= 0:
|
||||
return
|
||||
time.sleep(sleep_seconds)
|
||||
|
||||
def _update(self, response_headers):
|
||||
"""
|
||||
Update the state of the rate limiter based on the response headers:
|
||||
|
||||
X-Ratelimit-Used: Approximate number of requests used this period
|
||||
X-Ratelimit-Remaining: Approximate number of requests left to use
|
||||
X-Ratelimit-Reset: Approximate number of seconds to end of period
|
||||
|
||||
PRAW 5's rate limiting logic is structured for making hundreds of
|
||||
evenly-spaced API requests, which makes sense for running something
|
||||
like a bot or crawler.
|
||||
|
||||
This handler's logic, on the other hand, is geared more towards
|
||||
interactive usage. It allows for short, sporadic bursts of requests.
|
||||
The assumption is that actual users browsing reddit shouldn't ever be
|
||||
in danger of hitting the rate limit. If they do hit the limit, they
|
||||
will be cutoff until the period resets.
|
||||
"""
|
||||
|
||||
if 'x-ratelimit-remaining' not in response_headers:
|
||||
# This could be because the API returned an error response, or it
|
||||
# could be because we're using something like read-only credentials
|
||||
# which Reddit doesn't appear to care about rate limiting.
|
||||
return
|
||||
|
||||
self.used = float(response_headers['x-ratelimit-used'])
|
||||
self.remaining = float(response_headers['x-ratelimit-remaining'])
|
||||
self.seconds_to_reset = int(response_headers['x-ratelimit-reset'])
|
||||
_logger.debug('Rate limit: %s used, %s remaining, %s reset',
|
||||
self.used, self.remaining, self.seconds_to_reset)
|
||||
|
||||
if self.remaining <= 0:
|
||||
self.next_request_timestamp = time.time() + self.seconds_to_reset
|
||||
else:
|
||||
self.next_request_timestamp = None
|
||||
|
||||
def _clear_timeouts(self, cache_timeout):
|
||||
"""
|
||||
Clear the cache of timed out results.
|
||||
"""
|
||||
|
||||
for key in list(self.timeouts):
|
||||
if timer() - self.timeouts[key] > cache_timeout:
|
||||
del self.timeouts[key]
|
||||
del self.cache[key]
|
||||
|
||||
def clear_cache(self):
|
||||
"""Remove all items from the cache."""
|
||||
self.cache = {}
|
||||
self.timeouts = {}
|
||||
|
||||
def evict(self, urls):
|
||||
"""Remove items from cache matching URLs.
|
||||
|
||||
Return the number of items removed.
|
||||
|
||||
"""
|
||||
if isinstance(urls, six.text_type):
|
||||
urls = [urls]
|
||||
urls = set(normalize_url(url) for url in urls)
|
||||
retval = 0
|
||||
for key in list(self.cache):
|
||||
if key[0] in urls:
|
||||
retval += 1
|
||||
del self.cache[key]
|
||||
del self.timeouts[key]
|
||||
return retval
|
||||
|
||||
def request(self, _cache_key, _cache_ignore, _cache_timeout, **kwargs):
|
||||
"""
|
||||
This is a wrapper function that handles the caching of the request.
|
||||
|
||||
See DefaultHandler.with_cache for reference.
|
||||
"""
|
||||
if _cache_key:
|
||||
# Pop the request's session cookies from the cache key.
|
||||
# These appear to be unreliable and change with every
|
||||
# request. Also, with the introduction of OAuth I don't think
|
||||
# that cookies are being used to store anything that
|
||||
# differentiates API requests anyways
|
||||
url, items = _cache_key
|
||||
_cache_key = (url, (items[0], items[1], items[3], items[4]))
|
||||
|
||||
if kwargs['request'].method != 'GET':
|
||||
# I added this check for RTV, I have no idea why PRAW would ever
|
||||
# want to cache POST/PUT/DELETE requests
|
||||
_cache_ignore = True
|
||||
|
||||
if _cache_ignore:
|
||||
return self._request(**kwargs)
|
||||
|
||||
self._clear_timeouts(_cache_timeout)
|
||||
if _cache_key in self.cache:
|
||||
if self.cache_hit_callback:
|
||||
self.cache_hit_callback(_cache_key)
|
||||
return self.cache[_cache_key]
|
||||
|
||||
result = self._request(**kwargs)
|
||||
|
||||
# The handlers don't call `raise_for_status` so we need to ignore
|
||||
# status codes that will result in an exception that should not be
|
||||
# cached.
|
||||
if result.status_code not in (200, 302):
|
||||
return result
|
||||
|
||||
self.timeouts[_cache_key] = timer()
|
||||
self.cache[_cache_key] = result
|
||||
return result
|
||||
|
||||
def _request(self, request, proxies, timeout, verify, **_):
|
||||
"""
|
||||
This is where we apply rate limiting and make the HTTP request.
|
||||
"""
|
||||
|
||||
settings = self.http.merge_environment_settings(
|
||||
request.url, proxies, False, verify, None)
|
||||
|
||||
self._delay()
|
||||
response = self.http.send(
|
||||
request, timeout=timeout, allow_redirects=False, **settings)
|
||||
self._update(response.headers)
|
||||
|
||||
return response
|
||||
|
||||
102
rtv/oauth.py
102
rtv/oauth.py
@@ -17,7 +17,6 @@ from . import docs
|
||||
from .config import TEMPLATES
|
||||
from .exceptions import InvalidRefreshToken
|
||||
from .packages.praw.errors import HTTPException, OAuthException
|
||||
from .packages.praw.handlers import DefaultHandler
|
||||
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
@@ -228,104 +227,3 @@ class OAuthHelper(object):
|
||||
def clear_oauth_data(self):
|
||||
self.reddit.clear_authentication()
|
||||
self.config.delete_refresh_token()
|
||||
|
||||
|
||||
def fix_cache(func):
|
||||
"""
|
||||
This is a shim around PRAW's 30 second page cache that attempts
|
||||
to address broken behavior that hasn't been fixed because PRAW 3
|
||||
is deprecated.
|
||||
"""
|
||||
|
||||
def wraps(self, _cache_key, _cache_ignore, *args, **kwargs):
|
||||
if _cache_key:
|
||||
# Pop the request's session cookies from the cache key.
|
||||
# These appear to be unreliable and change with every
|
||||
# request. Also, with the introduction of OAuth I don't think
|
||||
# that cookies are being used to store anything that
|
||||
# differentiates API requests anyways
|
||||
url, items = _cache_key
|
||||
_cache_key = (url, (items[0], items[1], items[3], items[4]))
|
||||
|
||||
if kwargs['request'].method != 'GET':
|
||||
# Why were POST/PUT/DELETE requests ever being cached???
|
||||
_cache_ignore = True
|
||||
|
||||
return func(self, _cache_key, _cache_ignore, *args, **kwargs)
|
||||
return wraps
|
||||
|
||||
|
||||
class OAuthRateLimiter(DefaultHandler):
|
||||
"""Custom PRAW request handler for rate-limiting requests.
|
||||
|
||||
This is an alternative to PRAW 3's DefaultHandler that uses
|
||||
Reddit's modern API guidelines to rate-limit requests based
|
||||
on the X-Ratelimit-* headers returned from Reddit.
|
||||
|
||||
References:
|
||||
https://github.com/reddit/reddit/wiki/API
|
||||
https://github.com/praw-dev/prawcore/blob/master/prawcore/rate_limit.py
|
||||
"""
|
||||
|
||||
next_request_timestamp = None
|
||||
|
||||
def delay(self):
|
||||
"""
|
||||
Pause before making the next HTTP request.
|
||||
"""
|
||||
if self.next_request_timestamp is None:
|
||||
return
|
||||
|
||||
sleep_seconds = self.next_request_timestamp - time.time()
|
||||
if sleep_seconds <= 0:
|
||||
return
|
||||
time.sleep(sleep_seconds)
|
||||
|
||||
def update(self, response_headers):
|
||||
"""
|
||||
Update the state of the rate limiter based on the response headers:
|
||||
|
||||
X-Ratelimit-Used: Approximate number of requests used this period
|
||||
X-Ratelimit-Remaining: Approximate number of requests left to use
|
||||
X-Ratelimit-Reset: Approximate number of seconds to end of period
|
||||
|
||||
PRAW 5's rate limiting logic is structured for making hundreds of
|
||||
evenly-spaced API requests, which makes sense for running something
|
||||
like a bot or crawler.
|
||||
|
||||
This handler's logic, on the other hand, is geared more towards
|
||||
interactive usage. It allows for short, sporadic bursts of requests.
|
||||
The assumption is that actual users browsing reddit shouldn't ever be
|
||||
in danger of hitting the rate limit. If they do hit the limit, they
|
||||
will be cutoff until the period resets.
|
||||
"""
|
||||
|
||||
if 'x-ratelimit-remaining' not in response_headers:
|
||||
# This could be because the API returned an error response, or it
|
||||
# could be because we're using something like read-only credentials
|
||||
# which Reddit doesn't appear to care about rate limiting.
|
||||
return
|
||||
|
||||
used = float(response_headers['x-ratelimit-used'])
|
||||
remaining = float(response_headers['x-ratelimit-remaining'])
|
||||
seconds_to_reset = int(response_headers['x-ratelimit-reset'])
|
||||
_logger.debug('Rate limit: %s used, %s remaining, %s reset',
|
||||
used, remaining, seconds_to_reset)
|
||||
|
||||
if remaining <= 0:
|
||||
self.next_request_timestamp = time.time() + seconds_to_reset
|
||||
else:
|
||||
self.next_request_timestamp = None
|
||||
|
||||
@fix_cache
|
||||
@DefaultHandler.with_cache
|
||||
def request(self, request, proxies, timeout, verify, **_):
|
||||
|
||||
settings = self.http.merge_environment_settings(
|
||||
request.url, proxies, False, verify, None)
|
||||
|
||||
self.delay()
|
||||
response = self.http.send(
|
||||
request, timeout=timeout, allow_redirects=False, **settings)
|
||||
self.update(response.headers)
|
||||
return response
|
||||
|
||||
242
tests/cassettes/test_content_cache.yaml
Normal file
242
tests/cassettes/test_content_cache.yaml
Normal file
@@ -0,0 +1,242 @@
|
||||
interactions:
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: ['*/*']
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
Connection: [keep-alive]
|
||||
User-Agent: [rtv test suite PRAW/3.6.1 Python/3.6.1 b'Darwin-14.5.0-x86_64-i386-64bit']
|
||||
method: GET
|
||||
uri: https://api.reddit.com/r/python/.json
|
||||
response:
|
||||
body:
|
||||
string: !!binary |
|
||||
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
|
||||
um2oFQgSSfKaQa9QkM4BmL/4vywoXVwfDgEA
|
||||
headers:
|
||||
Accept-Ranges: [bytes]
|
||||
Connection: [keep-alive]
|
||||
Content-Encoding: [gzip]
|
||||
Content-Length: ['10857']
|
||||
Content-Type: [application/json; charset=UTF-8]
|
||||
Date: ['Thu, 14 Sep 2017 03:12:39 GMT']
|
||||
Server: [snooserv]
|
||||
Set-Cookie: ['loid=00000000000drard7x.2.1505358759424.Z0FBQUFBQlp1Zk9uRlVnTGJkUHdhMnowYk56WjdsM1BCdHJOVUVUOXhfQkVEZHZacGJtbTFyd2EzV2Vab2lNV0VNTEVkZ2xOUENLXzVpU25obVV4eW13TGNDRS10SVlwM3I5bHZMcXA3LWRuSUxBcWNrTHVtTWFJTGEzN21TMzJuVzNYdDAxNU8xVWM;
|
||||
Domain=reddit.com; Max-Age=63071999; Path=/; expires=Sat, 14-Sep-2019 03:12:39
|
||||
GMT; secure', 'session_tracker=kUDpBtJiJyUWSfxs6o.0.1505358759418.Z0FBQUFBQlp1Zk9uakFjNEJOQ2xHVF9NWXJTTjE0VmV0NWpha2VRVnNPanBTLUl6SDBFV1hHZ2VYRDFPVEVqMUgwVGU5d2lhZ193aFNfc1F6b2thQ1prcTc4S3AxS2N2ZXdRd25PcVNVd2FqM0pPYW43Qm13anNLelJWNS1FdzRzRDZNenU0d1ZWRUc;
|
||||
Domain=reddit.com; Max-Age=7199; Path=/; expires=Thu, 14-Sep-2017 05:12:39
|
||||
GMT; secure', edgebucket=OZ04pRZAsfxvngtfqe; Domain=reddit.com; Max-Age=63071999;
|
||||
Path=/; secure]
|
||||
Strict-Transport-Security: [max-age=15552000; includeSubDomains; preload]
|
||||
Vary: [accept-encoding]
|
||||
Via: [1.1 varnish]
|
||||
X-Cache: [MISS]
|
||||
X-Cache-Hits: ['0']
|
||||
X-Moose: [majestic]
|
||||
X-Served-By: [cache-ord1724-ORD]
|
||||
X-Timer: ['S1505358759.392876,VS0,VE159']
|
||||
access-control-allow-origin: ['*']
|
||||
access-control-expose-headers: ['X-Reddit-Tracking, X-Moose']
|
||||
cache-control: ['max-age=0, must-revalidate']
|
||||
set-cookie: ['loid=00000000000drard7x.2.1505358759424.Z0FBQUFBQlp1Zk9uRlVnTGJkUHdhMnowYk56WjdsM1BCdHJOVUVUOXhfQkVEZHZacGJtbTFyd2EzV2Vab2lNV0VNTEVkZ2xOUENLXzVpU25obVV4eW13TGNDRS10SVlwM3I5bHZMcXA3LWRuSUxBcWNrTHVtTWFJTGEzN21TMzJuVzNYdDAxNU8xVWM;
|
||||
Domain=reddit.com; Max-Age=63071999; Path=/; expires=Sat, 14-Sep-2019 03:12:39
|
||||
GMT; secure', 'session_tracker=kUDpBtJiJyUWSfxs6o.0.1505358759418.Z0FBQUFBQlp1Zk9uakFjNEJOQ2xHVF9NWXJTTjE0VmV0NWpha2VRVnNPanBTLUl6SDBFV1hHZ2VYRDFPVEVqMUgwVGU5d2lhZ193aFNfc1F6b2thQ1prcTc4S3AxS2N2ZXdRd25PcVNVd2FqM0pPYW43Qm13anNLelJWNS1FdzRzRDZNenU0d1ZWRUc;
|
||||
Domain=reddit.com; Max-Age=7199; Path=/; expires=Thu, 14-Sep-2017 05:12:39
|
||||
GMT; secure', edgebucket=OZ04pRZAsfxvngtfqe; Domain=reddit.com; Max-Age=63071999;
|
||||
Path=/; secure]
|
||||
x-content-type-options: [nosniff]
|
||||
x-frame-options: [SAMEORIGIN]
|
||||
x-reddit-tracking: ['https://pixel.redditmedia.com/pixel/of_destiny.png?v=V0k5ZJqU%2FwpKysQ36p0adKUNzpijYRyqyHdid2vPZOYUaJl8oxXeCjDNYNSh%2FwOjHIqyvz4njhQ%3D']
|
||||
x-ua-compatible: [IE=edge]
|
||||
x-xss-protection: [1; mode=block]
|
||||
status: {code: 200, message: OK}
|
||||
version: 1
|
||||
588
tests/cassettes/test_content_rate_limit.yaml
Normal file
588
tests/cassettes/test_content_rate_limit.yaml
Normal file
@@ -0,0 +1,588 @@
|
||||
interactions:
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: ['*/*']
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
Connection: [keep-alive]
|
||||
User-Agent: [rtv test suite PRAW/3.6.1 Python/3.6.1 b'Darwin-14.5.0-x86_64-i386-64bit']
|
||||
method: GET
|
||||
uri: https://api.reddit.com/r/python/.json
|
||||
response:
|
||||
body:
|
||||
string: !!binary |
|
||||
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
|
||||
NHJedw0BAA==
|
||||
headers:
|
||||
Accept-Ranges: [bytes]
|
||||
Connection: [keep-alive]
|
||||
Content-Encoding: [gzip]
|
||||
Content-Length: ['10723']
|
||||
Content-Type: [application/json; charset=UTF-8]
|
||||
Date: ['Thu, 14 Sep 2017 03:34:25 GMT']
|
||||
Server: [snooserv]
|
||||
Set-Cookie: ['loid=00000000000drcw01i.2.1505360065178.Z0FBQUFBQlp1ZmpCZnJBMlhNcFVMa0RON1lKNzlDUU5FelFZenQySllVckJKZlROOHZEbTJGRVl6WWt6d29hQXhCbWFjWVBEUnhYcldDSVI4Rm05RWtoQjJoc0g0RF85MkxpQ21CYWhyZG56RzF5eFRvbkl4emVTaUt3eGhqbS0xNmR5WkR0bmx2QkQ;
|
||||
Domain=reddit.com; Max-Age=63071999; Path=/; expires=Sat, 14-Sep-2019 03:34:25
|
||||
GMT; secure', 'session_tracker=k4wTKdlbdgmQMGGxHq.0.1505360065173.Z0FBQUFBQlp1ZmpCVXFIZFdVbjFFbEZibkRvV0pMOWlhZVV0M182dXUtUktVQkt0UnZFWXBkWm03TU1uRnRFQlEyLWFMdHEyWlhKX1ZCT2x2ZWR0bElTUnFIVXBkNVVWb01DS25Nc1dVcDhkamNQcGNXNjFLaUlxWU9aV2dhelRnUHNodk10eC1ldnk;
|
||||
Domain=reddit.com; Max-Age=7199; Path=/; expires=Thu, 14-Sep-2017 05:34:25
|
||||
GMT; secure', edgebucket=pDW9Lys2h8bInGGb9N; Domain=reddit.com; Max-Age=63071999;
|
||||
Path=/; secure]
|
||||
Strict-Transport-Security: [max-age=15552000; includeSubDomains; preload]
|
||||
Vary: [accept-encoding]
|
||||
Via: [1.1 varnish]
|
||||
X-Cache: [MISS]
|
||||
X-Cache-Hits: ['0']
|
||||
X-Moose: [majestic]
|
||||
X-Served-By: [cache-ord1731-ORD]
|
||||
X-Timer: ['S1505360065.158056,VS0,VE145']
|
||||
access-control-allow-origin: ['*']
|
||||
access-control-expose-headers: ['X-Reddit-Tracking, X-Moose']
|
||||
cache-control: ['max-age=0, must-revalidate']
|
||||
set-cookie: ['loid=00000000000drcw01i.2.1505360065178.Z0FBQUFBQlp1ZmpCZnJBMlhNcFVMa0RON1lKNzlDUU5FelFZenQySllVckJKZlROOHZEbTJGRVl6WWt6d29hQXhCbWFjWVBEUnhYcldDSVI4Rm05RWtoQjJoc0g0RF85MkxpQ21CYWhyZG56RzF5eFRvbkl4emVTaUt3eGhqbS0xNmR5WkR0bmx2QkQ;
|
||||
Domain=reddit.com; Max-Age=63071999; Path=/; expires=Sat, 14-Sep-2019 03:34:25
|
||||
GMT; secure', 'session_tracker=k4wTKdlbdgmQMGGxHq.0.1505360065173.Z0FBQUFBQlp1ZmpCVXFIZFdVbjFFbEZibkRvV0pMOWlhZVV0M182dXUtUktVQkt0UnZFWXBkWm03TU1uRnRFQlEyLWFMdHEyWlhKX1ZCT2x2ZWR0bElTUnFIVXBkNVVWb01DS25Nc1dVcDhkamNQcGNXNjFLaUlxWU9aV2dhelRnUHNodk10eC1ldnk;
|
||||
Domain=reddit.com; Max-Age=7199; Path=/; expires=Thu, 14-Sep-2017 05:34:25
|
||||
GMT; secure', edgebucket=pDW9Lys2h8bInGGb9N; Domain=reddit.com; Max-Age=63071999;
|
||||
Path=/; secure]
|
||||
x-content-type-options: [nosniff]
|
||||
x-frame-options: [SAMEORIGIN]
|
||||
x-reddit-tracking: ['https://pixel.redditmedia.com/pixel/of_destiny.png?v=w2zI10CKhN0cuDFpS5Sja3JHe8PHstPL2MPcD8GTAX7OzcKclWgtvdtPmP4khzGzFCgf3COGr7I%3D']
|
||||
x-ua-compatible: [IE=edge]
|
||||
x-xss-protection: [1; mode=block]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: grant_type=refresh_token&redirect_uri=http%3A%2F%2F127.0.0.1%3A65000%2F&refresh_token=**********
|
||||
headers:
|
||||
Accept: ['*/*']
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
Authorization: ['**********']
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['122']
|
||||
Content-Type: [application/x-www-form-urlencoded]
|
||||
Cookie: [edgebucket=pDW9Lys2h8bInGGb9N; loid=00000000000drcw01i.2.1505360065178.Z0FBQUFBQlp1ZmpCZnJBMlhNcFVMa0RON1lKNzlDUU5FelFZenQySllVckJKZlROOHZEbTJGRVl6WWt6d29hQXhCbWFjWVBEUnhYcldDSVI4Rm05RWtoQjJoc0g0RF85MkxpQ21CYWhyZG56RzF5eFRvbkl4emVTaUt3eGhqbS0xNmR5WkR0bmx2QkQ;
|
||||
session_tracker=k4wTKdlbdgmQMGGxHq.0.1505360065173.Z0FBQUFBQlp1ZmpCVXFIZFdVbjFFbEZibkRvV0pMOWlhZVV0M182dXUtUktVQkt0UnZFWXBkWm03TU1uRnRFQlEyLWFMdHEyWlhKX1ZCT2x2ZWR0bElTUnFIVXBkNVVWb01DS25Nc1dVcDhkamNQcGNXNjFLaUlxWU9aV2dhelRnUHNodk10eC1ldnk]
|
||||
User-Agent: [rtv test suite PRAW/3.6.1 Python/3.6.1 b'Darwin-14.5.0-x86_64-i386-64bit']
|
||||
method: POST
|
||||
uri: https://api.reddit.com/api/v1/access_token/
|
||||
response:
|
||||
body: {string: '{"access_token": "j5nsE0MLZHcCWoY74w-qpiTinPs", "token_type":
|
||||
"bearer", "device_id": "None", "expires_in": 3600, "scope": "edit history
|
||||
identity mysubreddits privatemessages read report save submit subscribe vote"}'}
|
||||
headers:
|
||||
Accept-Ranges: [bytes]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['214']
|
||||
Content-Type: [application/json; charset=UTF-8]
|
||||
Date: ['Thu, 14 Sep 2017 03:34:25 GMT']
|
||||
Server: [snooserv]
|
||||
Strict-Transport-Security: [max-age=15552000; includeSubDomains; preload]
|
||||
Via: [1.1 varnish]
|
||||
X-Cache: [MISS]
|
||||
X-Cache-Hits: ['0']
|
||||
X-Moose: [majestic]
|
||||
X-Served-By: [cache-ord1731-ORD]
|
||||
X-Timer: ['S1505360065.422828,VS0,VE51']
|
||||
cache-control: ['max-age=0, must-revalidate']
|
||||
set-cookie: ['session_tracker=k4wTKdlbdgmQMGGxHq.0.1505360065436.Z0FBQUFBQlp1ZmpCdXVBRWRjeV9ZdzRHR08zenpXVWVkZFViN1F6dGdERDIycFVyZTJaX1pMcWxNeElxRXU1RHpYaVJ1aFR4bkVhM1NJWmVPMU5wcWYwRnl1THBwYTU2eGpzUU9LRmJjdy1aNHduaTFOY2JLazhGN1ExMkRnYzB1djd5cXRTTFllUnQ;
|
||||
Domain=reddit.com; Max-Age=7199; Path=/; expires=Thu, 14-Sep-2017 05:34:25
|
||||
GMT; secure']
|
||||
x-content-type-options: [nosniff]
|
||||
x-frame-options: [SAMEORIGIN]
|
||||
x-xss-protection: [1; mode=block]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: ['*/*']
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
Authorization: ['**********']
|
||||
Connection: [keep-alive]
|
||||
User-Agent: [rtv test suite PRAW/3.6.1 Python/3.6.1 b'Darwin-14.5.0-x86_64-i386-64bit']
|
||||
method: GET
|
||||
uri: https://oauth.reddit.com/api/v1/me.json
|
||||
response:
|
||||
body:
|
||||
string: !!binary |
|
||||
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
|
||||
headers:
|
||||
Accept-Ranges: [bytes]
|
||||
Connection: [keep-alive]
|
||||
Content-Encoding: [gzip]
|
||||
Content-Length: ['1418']
|
||||
Content-Type: [application/json; charset=UTF-8]
|
||||
Date: ['Thu, 14 Sep 2017 03:34:25 GMT']
|
||||
Server: [snooserv]
|
||||
Set-Cookie: ['session_tracker=ccNg4m5YpT4IeulT85.0.1505360065667.Z0FBQUFBQlp1ZmpCaDZScFVxdENaeGdsdEg4azhBQ2pzaUVqQXhuOUFJcmw2Z3dBS09fN2ZlTHpkZTI3VDVtWEdnZmF5TmZHNDF5VV9SNFM3d1RsUmw3NVpnNUFTbjRDQ1NLbnpWRFRwOEZZMTZROVd5d09JdmpRV01zLW9aYlZ1YThYdDVtNjhPa3Y;
|
||||
Domain=reddit.com; Max-Age=7199; Path=/; expires=Thu, 14-Sep-2017 05:34:25
|
||||
GMT; secure', edgebucket=iZJoZjF7XACk7ejFHw; Domain=reddit.com; Max-Age=63071999;
|
||||
Path=/; secure]
|
||||
Strict-Transport-Security: [max-age=15552000; includeSubDomains; preload]
|
||||
Vary: [accept-encoding]
|
||||
Via: [1.1 varnish]
|
||||
X-Cache: [MISS]
|
||||
X-Cache-Hits: ['0']
|
||||
X-Moose: [majestic]
|
||||
X-Served-By: [cache-ord1747-ORD]
|
||||
X-Timer: ['S1505360066.653595,VS0,VE60']
|
||||
cache-control: ['private, s-maxage=0, max-age=0, must-revalidate, max-age=0,
|
||||
must-revalidate']
|
||||
expires: ['-1']
|
||||
set-cookie: ['session_tracker=ccNg4m5YpT4IeulT85.0.1505360065667.Z0FBQUFBQlp1ZmpCaDZScFVxdENaeGdsdEg4azhBQ2pzaUVqQXhuOUFJcmw2Z3dBS09fN2ZlTHpkZTI3VDVtWEdnZmF5TmZHNDF5VV9SNFM3d1RsUmw3NVpnNUFTbjRDQ1NLbnpWRFRwOEZZMTZROVd5d09JdmpRV01zLW9aYlZ1YThYdDVtNjhPa3Y;
|
||||
Domain=reddit.com; Max-Age=7199; Path=/; expires=Thu, 14-Sep-2017 05:34:25
|
||||
GMT; secure', edgebucket=iZJoZjF7XACk7ejFHw; Domain=reddit.com; Max-Age=63071999;
|
||||
Path=/; secure]
|
||||
x-content-type-options: [nosniff]
|
||||
x-frame-options: [SAMEORIGIN]
|
||||
x-ratelimit-remaining: ['592.0']
|
||||
x-ratelimit-reset: ['335']
|
||||
x-ratelimit-used: ['8']
|
||||
x-xss-protection: [1; mode=block]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: ['*/*']
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
Authorization: ['**********']
|
||||
Connection: [keep-alive]
|
||||
Cookie: [edgebucket=iZJoZjF7XACk7ejFHw; session_tracker=ccNg4m5YpT4IeulT85.0.1505360065667.Z0FBQUFBQlp1ZmpCaDZScFVxdENaeGdsdEg4azhBQ2pzaUVqQXhuOUFJcmw2Z3dBS09fN2ZlTHpkZTI3VDVtWEdnZmF5TmZHNDF5VV9SNFM3d1RsUmw3NVpnNUFTbjRDQ1NLbnpWRFRwOEZZMTZROVd5d09JdmpRV01zLW9aYlZ1YThYdDVtNjhPa3Y]
|
||||
User-Agent: [rtv test suite PRAW/3.6.1 Python/3.6.1 b'Darwin-14.5.0-x86_64-i386-64bit']
|
||||
method: GET
|
||||
uri: https://oauth.reddit.com/r/python/.json
|
||||
response:
|
||||
body:
|
||||
string: !!binary |
|
||||
H4sIAMH4uVkC/+19CXMbN7buX0E89Ub2Gy4iqdVTKb/E2XQndvJiz+TdilJtsBsk2+qF7kU0nbr/
|
||||
/Z3vAOiFIt00JVKSLdfNHaq7ARwcnB0HB389uvAj79FT8ehnP838aPyoJR55MpP06K9HYexNZDqh
|
||||
31EeBPTGnfiBl6iInvzxV9E0G9RaeXEofXzyKFXBqPPrPJvEEb6Q02kSXyrPkZmTZ27Z7VBGET0e
|
||||
zstHofJ86ahwqDDEX/9Dj9J8mCjP8zN0XfaKQTL1PnMmWRjg1d+D7J9ftdvi1XPnlx9+EO3238fZ
|
||||
P/HQ8y+FG8g0/fr8UeidP7LPp/jx33H+dxlO//m3wek/g0AQpEM5DOZiJqNMZLHwIzfIPSXSOFQC
|
||||
MxfxSIxVpBIZiCB2ZebHEX01ipNQ/56oRHXQf5cHOI/4NwFhx7VAvjQwVmeDiRBIezcICroP/AuV
|
||||
llhO8/FYpRnhPo0THjNSM3yXpypxEjWlp/j8jz8ZNDdPlMMrU+lCXvISZUmu6E+fKeJosN9336Ij
|
||||
s7SLK37pq5njxnmEQc0zmRB56c5GMkjRmxv47kXtiYaJQJNpHFVmkvlZoDB0N+lq2hC/jEa+6xNK
|
||||
/iseim9jmXgAKMpDx03iNJ3GKc9tv2WoreyM6H5x8q6MHDxGqwo4flp2RmsECAwiUjdO8Gdv0Mfc
|
||||
LOlXaZweJE7vpNLdxPc85i77IJvk4TCSPhM204dlAkdjOjt0+u8m+3O8o0lkNWQFfnThjALpJ46b
|
||||
EqSg/XJ4mROakiXveSA3jjIiDUwa07BdjkkA8BhAmxfPeA3we5jIiMhIjqo4qFBMnZcTFcaXMjDr
|
||||
uAImyweJynw3DyQmh17prwu/SnRYHABWPqF1ASeVD6aSxFbmzCaEooBEnUPrleU8WxkEjvTSOnYj
|
||||
GSpnmqiR/55HemTJimmIXjLyB05J6UQDfqCSCq6mivgPa4BvC7rsunEYEixpV7ftJlN+7sSGXp23
|
||||
8dAZgl67dZiy+ZSHneZD4gtm53iBPYiAlGNJr+AiwrImjN7Baa93PDg96newZnnCdDXJsmn6tNud
|
||||
zWYdPVSHYNwY4AYcv8slkQrpmiqIet35y+kkVpH/nmlQA25EBwN/cNgzwFeI2xCKoaF8iiE13zG3
|
||||
G/DxsNdrQfikC4yCz0qGN/0QDV0SOuPKd55WkrmfTrg9vvwfoufPTBe+VqR28JcUE2IB+oSIQS+6
|
||||
/rL4k1WaxCMxm8hMzCtaNFFiFieEmLEgaZxN/FTMlLr4SpBeE8SyYqgESY3xmL5oiXES5yn/Sicy
|
||||
QSPqKxFTApE0WEvEiVDvp7TcUeWdH3XEaxlcCDmMcx49ESRywOpQm2+Vm6Gh/loVzzSwisQvXhV6
|
||||
FQOrjsC/66htxl6BoQIve/cZH+dMXk3Wg2XATzYeCnXKPHT0IToasUbbufXwO+FhLxVAxTyOli/Y
|
||||
M1YBuzYjMMX7ZESY9wtmhJnVLVgRluLulPFQEPoGxgO37YJxU8fSq2Po1SHtDHp1QK83b0Uc7h/2
|
||||
Dw/6+4PNrIhPg7wB6w3mxDd5Fr8g2ktkRg/KaVibAlOhuZipNNkUWL66RdE/aN2kQQGZYWBd067w
|
||||
GdkdsgQw751YFZaVKjpvp9ohvcyOb0U7fCPIPRZEsVDBcLp/9wP6lBRGHvnwtkU6JZigMLJEKSGD
|
||||
cZz42SQUJNXEtz+8EqkCJPSnbzzzUJIjP6NvxJQwILTNcBsK5uAElPwZqBjb6Z3QMQWxfUTJFBJ/
|
||||
a1rGMswmWgZtu9IhwncM4ZPf58yY8FPH0L1j6d4B3W9F4Qx6g4P+8TKFU0jAbtz3BzJyj/wg+NAZ
|
||||
+6Prq49IxR8mMg58qUOjS7THycGRgatBe2gOW9QfR62b1B/4ck3FkWI5QgVIoai/HPVx+S7jONLO
|
||||
1ccrjXHxmmYtyOAQ5FCQm/bVbYj7wxNM60Haf4bS3tL3JtIebbtGMvA8ncG+Q8ATmW5Hqh+cHpzu
|
||||
L0p140UsSKjuMIjHXZkQvgOVWijbeN0etGmyUdbev77IfxvTSvlZnDJmrwr8QX//yIDcIPCZxxbl
|
||||
/aB1S/LenSR+OpRJIjvv5x++HHH//nD/dnaiflaZIGlPZJnEXu6qp8Jx0iAmp9e5DYnfO8XMHiT+
|
||||
ZyjxLYlvIvHRthsoQq9yClLVdLodiX/UO+6dLEp8GziqC6kuswaga5OgL6Brl9A1ILNB1M/lLBrl
|
||||
wQo5P+ifGkAb5Dxz1oKcP2zdkpj33pKrEo/9JEg7ccJOyxci50+GR7ci579jjIsfgXJxFk6lm4nf
|
||||
uJHo7/eO2vT/2PveucA/xhQfBP7nKPANrW8k8KltV0sJh8WE4zPNGrpzQLMg2S1J//7hYKn0X5Bb
|
||||
3YJ1bkDOv56QJE5nk/mZC5IqoaqJ+8GxgaxJ3IOvFs361i2J+5A+mKlhJ1IZdlC+HHGfvx/mtyLu
|
||||
f1JzcSYMAYlwLkZ+kmaCFkEQ5nUsXxMzR/3pOzdrFRvInCajd9n9IKC29AkRsmCSSFvCurfcNsuz
|
||||
OPEl1IogjHnYlA+UTCLqhkYZJSQTsOrMA7tWL4MHf+JzVS+WtzZRL2jbnai54ztWyIZzh3nEIR5x
|
||||
iGIc8IhjVBDhdjua5qC/fzWyBE2zIDK7OnNtmBO627JNbwjENkBsaxDbBGKb2fgtY7QB4Y26KCHC
|
||||
CLLJCjXUI7djregS89+CGrq17LYxoSsffln7CB/eXfq3ooFeTZVyJ7/ORVt8I372ST4lpIXiROgX
|
||||
4tckdlWK5DHWIr8pNx5HPrabb0VPYN4PauIzVBOWATZRE2jbTZlep3NHOoEmY4fI2NGPCQZLxjeg
|
||||
JAx6FnTEycnBYW+ZjijlWVemZISNSmCvrwLSxL+Ql/6KDeXB4emRAapJA2BB6goArR4UwK4UQBye
|
||||
3ooC+I4keiKxVE9J/mc49xPMhVc81Qm+9JxMHRkYl0S/jZPbcRYw9/ukBO7aGRjNBQPxD/F9KF0t
|
||||
su+cPjD8sJE+oLbdkoJJHxiydioPQdaOJevtKITjo9PDBoWQzHMSh/77CrhdTnsKSVUoTjJtQG6D
|
||||
frADMAku0Q8nJwbGe6Qf4qmKUlo+V31ZOuLSO+J13LmO+EbQOnmKQ0YxnykRfiQqnLtjDdC/d8cg
|
||||
zfu7owQsqd01uW9pfBO5j7Zd6TCtOlnsGFp1/MiZ6o+vJ+YLDC0Eh456B0tPL9TllM026vaOu6fm
|
||||
QFfbgHh9Oe9OZDBUSRrKFZK+dzwwUDZIemauBVF/a4lGoLv7ctLxlR9OAyXe5cThfKzOizn2zoe/
|
||||
LqJ4hix/+lOcffc9ov4yQiAeQvVdTlxIVjciLMS7Pv3UKyik+PHfZ0j7UclIukrwMT6T2f+serBQ
|
||||
Hy3kP76nCT4Vv8s0Ko5PZmKo0NBFxF+oKM7HE/1HMO8QLDIUMqARPYJhRrwNSDGw9qR9ldqPCE8J
|
||||
AeUlUseDvCSe8nxSP/QD6ptmw6BzwEj8Tusbz1LxA84zkMr4j5/m5ES8ynLPj69Vz2DnyAaKS8zu
|
||||
3U2MsgzblTmSqNMpBty9OfKxZTVrqVcNKL8VH7XX331OtE4oHewfXjnTvsQS+dwtFfNge4aKpf5N
|
||||
DBW07ZJwcmBd+A7mQVQMk8VQsdnuMmYLLJrtJND1Tw/6vaUbW2ucvNx4Fg2r0WTpJDKdDOk/VBMq
|
||||
Z1SxdfpHhwdmVg22jmbTBWPnADkZD9ZOg7WD1IXFsg56EP2h/aus6vDVCnvlFbxKUm6Ijc9FSsuc
|
||||
tcRZYbuEtuoACfdM8gn6bKIECZeY1CVhaJzIMNS6mGCFUgypG3cSx0HRSVr7kFQfa+DX1I/OuEhV
|
||||
CCWZ4BhNmk9JsOsMiaESb3N6P01V7sXI+GmJYZ6R6hnHmQhy90IbEhPpMVSwPmikkUpJ29ITmQnp
|
||||
ZjnHVDMl3QkZKUY1+RENKLne0sIQnVrJiAqmvmFj4YwAiy94OA08z7tlYCJuwGBkxcRmpBZDmJIz
|
||||
kjFmcqL0hL4FJszXnlLTq004PYTwIGl9so54SUYV551YZLUEcbI7ISSRD0PGV1qBydZzWbJAHEKm
|
||||
Pv2M9Ll4/o9/tIB1YkAy6EhzJwqWA5AfKg2HHxGPez7KVg1jlK+oWY4V/JzRLOMLcwY2tBhPDAKw
|
||||
PKORSrCy+D3lQ7PY6wzZggDFpKYSFhleY/rpyoDXk4tdEGHBoAwkMbccs0VHY3ArTO6xpvevnuhl
|
||||
J+MkzgONdz3gbBIHoFtDaZVyEBVSmLKX6E+1vUdDMs5WTRjJaILkjySo88jDWs0UT8CgL40JENTg
|
||||
0OQ8gbFqLEKafCpGSRzqRYUAzCM/m3N6UVzOmnpPO51OlSGlCCUwLN/GRU0QpjnxXAZuHuSpODvj
|
||||
wQlh1DvNhBskigsv0dSBmSFQqzIa0SVWJfpSOYqOvVQZ0VKCE88zOScQc8ATG76rQBERtac5KqGg
|
||||
JBnmyd2O4zK1ydjluoLJy5epYWnYbPiZ+OkF1pAI1APvloY28fEqnJP1CbhA/LTMXswJWEi7wkQv
|
||||
Vjllv5Bg4IU6Y1kxA7MYwx6OxywOkIHVlsF0QouZzQlAoEzhaDdRIbNHnulz3oalAAEmDtqCNW8I
|
||||
zo/oQ41vRapUrzM2PWmtrLukU8IS5Sqyxuk3/V86U8mqKb+eyOgirclv/v0J/hrUhVUJX6Hz5VJ/
|
||||
7zrSfu+eSXmg4UGkG5EOZHy+8huz26Ww3rtVIb23feHMvPNxSYxP7ofY1dTBMpY9uV1FcD5MBuxC
|
||||
7TyCo1kNyWVMtmcgW4S0xHOOQrR2H7BB97sN19jWD3Ga1jbjNJbGN4nToK3ZqUEGGWgVwQ6ZcmoZ
|
||||
r8Q1wzIrMgcO+72l5UnWiMqsC3MDqhuCMM/JXPGV8zqWKReLuhqEGRweHZhJNARh8MldSS3QiMOL
|
||||
Lyu1IA9lfCua4FVG/EFqM7lQGWw55UpePFPHKomnE8UUtmuF8HAi5XYUQiGdt6YRLK1vohHQtpuC
|
||||
Zh1Ns5Cqlmb1WRRDs9dUDAWq6pphcNrrXckpI8VQl1sawraGsF2BUB9FqULYgN8GNdCQfdzbHxho
|
||||
G1TAXTp+4pPLTbb9OI69NMtHoy9LEbw/Tm7nIMo35FLBf5sSGStEBFri/NGZ3spnJ1mTOLbNbU1h
|
||||
OIsCK0iOvk9kQ2veEd/mmfXQPPjTHMl4dv5I/Eclc/EKcSbxuB+SG0yweE9uQ7U8FEf8XFWL5Z5N
|
||||
VAvadgkyZCY7BRc4vgMWcMACdiPVd8AB2Ggdbqk+4lF/cHq6RM0sk41dcGC74EBolxFNvk2ko9IU
|
||||
s+uwbGtdV9n83vvwr57H5ciW6JrB4NCA3KBrlhROvDV34z5t+L6KK7svl0rMEj/LFMLvGICjv/r0
|
||||
IElmkrwsswmFRMUcSOOYYxkWq+3kZMkcJj81LMLoyOrxM0Gk36kPy0VupS6e6yf4WkWXJqZMVBUE
|
||||
+iD9VLoXCPKSnPezp0v2NRJlZ4dgPH5PfQTMuQ/RVoIHxZcI6RFoiPeZXvlVuQ1iO9Cj6I4X9iV1
|
||||
3NMPQU2YF2NAjBV+CZUkcbIejHbkxf+1XZdA6+lDOpXQvoi9PFAv4+wHBKC/52HFy1iE/Jw/9nQX
|
||||
QPbH+io+WhsF1TVM8oi3uKuYh1iodQWEpRPeoFD8FuH1co0NVLwDhC8WiSHjxqnIp3iNuwfOiCyr
|
||||
KZGIwSfUHX09m3AdBll9bTBaWXbhEwBZ8QmGttBcAaIjUP5fjMkwSmt7gvz7EzbOwHZ7N8Bue81s
|
||||
hmE2Yi+sNG52WOQgJp6r3GNoYy2usF0zusx/BbEvEid3jK/XIvS9Ze33GDJgAkT6xlLmm+1Q495y
|
||||
KtxbTX1761Mda/9d+Q0fjg5upzLivyO7YWRQJivEWUEUbGH+Etbrw7UbX5DZv/0tBkP7m1j9aNvN
|
||||
mYZh0GsadqRjaNgpaBinWCwNX9PoX7Hp0DvZ3zQVdPNZNCxHg0vwwQn9zJ2oYFXdxcPBvplUg1ew
|
||||
5DqOW4tAfYnn3+eX0e0cJjh/9GOc4dqsRHxL1HpOz2B8vHeJqIgQxI9xPCat8YJkrxjSB6TBy0QA
|
||||
nfaisSoGAqbrUKZcFe5BuyyR40ve33ftUoj6rakXyxqbqBe07Y7jTB93B/06NJeCup0xU7dDkifg
|
||||
t/n0mrqlQFlduRyfHB1fCSgtnIV/K+f7gVIAtw1w2wDoBpREHr3LfZXN/AuOzS3REgenJwa6T9cS
|
||||
D7GjNWJHWfBPjzyw/1vmQWnXZhhnWRyuSjv9N+flIc8tRVpiULtCDw6vzlozXhAta4APkIuV2ixI
|
||||
UkyjPNBpaeSEESPrhn5IvhocTdN4JucdTkBS7yWSFlvwtmr3F/oh3xpbjtvC+yIYwLmp9auV4VsT
|
||||
HUznAjWo5yuTuH8if7ASVICTySPrtDJAA1qDUy7P8/19NSLn9HtyY5NKI8AUe+vFkDw1Iv/+PZhJ
|
||||
TR+Do9STp9pvFpdE4Zd9+m8gvhb8yrxIVJYnkYimHZ7M4z/Mc9PKyadEoip5fNl70qq96pev+guv
|
||||
BuWrgX315xNAziM7l8rNaEm+roxawocPE5XmARGHAdU0OI80sSBjmCuVmcnVOv3H18LLxP9eRIR5
|
||||
/US30P1rAC7pvXvx+LF+1qr19uTJGmGwSdK9svS/aOqLERMQE1JsvHUV1SgPZMQ8wARHX12aHFcv
|
||||
kTOIyGWENenhr1/9SMfU9J8foQnjO0+pwXmU04zxq/NvGvY3NSYZlcwfrzNHhuF3WEUYusXJuWz7
|
||||
R67S4EdKJ7emSksADwqGbx/1XR/5qY9VZ9xp1cKD61BDS/f0dTxExtOTGqRPTM4xckRV7VR0qlTI
|
||||
8bAgMFxHf4xIzRK3AefLZUKGqNvET9djtzrZNVDdehgma1VHyYRHgizCRVpkBmRzHTMTQ+VKPhVL
|
||||
+OX+hRmd5OJEEb/FY+TepuIxbEME6zDXQKXpE87/DnTorpAXH4G4Bi/6J3mqc/VxwHlEbCLn9cW8
|
||||
7C1rQ/KLGKv+5Yoh/9j/s95Dkahc9CPIMDJg2NxxnX2MtFvzSRbHmtdIrmc+kR/R5VAfaSsnXhuI
|
||||
JqTzvOuSn9DHPJkhA11G4zryiknUYUa4KiKTaYqiP3qlPjIy9B1fbimgEQMEICO1HvUtEfZglWsK
|
||||
fCaJj0h9/X616Nfvl8r/BUZelyVe01JWhKfuuAWet+SxHr4WlcRyImQUrg8aaDzVZy4QNibDkCwQ
|
||||
XbbACCZYe3gVqTGNkpLQN9UHtAFhrBR9DmMaSHf16aQgjQ0eyEedLjNUrAiexCEEgf9B059Rpuuh
|
||||
CWRVtneYRHT6E6uqx/zAEpkhpT/8Tqg1AubDX/xJZMA/iKk73BJj1mjyj48NcykTH+7wE+7X/oXu
|
||||
9Ww6r/9cY5UWNLNWlq/mhHj+ulF52shziiad6WSe+m6qp4MTNPkaIDC+eUgSJvrQTb0fvXNhj+fM
|
||||
FJuyrIjYQiDZVN2YYqXKJGelm8t7QXzcowr6Pi1A3glr8AlF0hs7FQTIPqtvc7ZFokNytsjVyuar
|
||||
CJC1P8+kZcG8wFEkll/aYGe9RB4udzgkHdTieMuUE0CJvMkpoM864oXM8EfgDxe25vAUXEM2bz6e
|
||||
aCaqGhfki5CfVR1yCI1d2FFmtFqTGB2GMtL7YlaF4pP6riHLem0dWLO7U9y67mGji3wbkOh6jETy
|
||||
dco30WQFMZPAHad/9J7Cwl2TcPTRF0AAswAzJbmBckACAbxPMFZYXdhdxKVczM9EF4rBAq45uPdn
|
||||
CbgQfzN83ftzYe0Q7yEPlijL4pjZZo2pLjOgX7GwA0vgTJ45AkSdPtMbYeZBorTD7j0TZ8xcOLhE
|
||||
42d8joumQ8RN6wpCqdlH2m8TRJSGjfT+6SThg0tkDWoZDVv3Wnu8De4xZnwPfOG9dXxgzAUO796n
|
||||
OLp7hYOL5mxAXDVrCpMG/1aaNRVKXm7a4N9HLBt+vdqw4dfL7Br8074tfq3j0dR80Ks+Lt4t93Ov
|
||||
DLCWr1uOtZ6/ex61y3/484Z8WXT1N2Ypi6yab4oHK/3T8+hGfM836yzPgp36ZsHJ3Lu2c7mUVpr8
|
||||
x/MIqmi7vuGbj4HwZqUT+OayZ19ab+/Nik7IGnxzs24dwfym7r/tXfXbSnA43WPRQUMfyz2xj0il
|
||||
mrOFf9eTTE2OV/nNx2XUagcM/xaJG/Nbw8FaTrENPhQa2LPRN+0jAaBVDtFeoyNUXdWPOSE1Kwn/
|
||||
PtXfQZsb9nlq0rmU0X/TlrkdtNlxOY+u6ZTsNTgjb4wH8mZNr6MQ8ttwMfZuwbXY+xSXwi5cg9fA
|
||||
1TXQ/8c9gprYWm70V8h5I8N/7yMG/xIarf/TE7krBj7vfe4sHeJddIIBd54O8TvjGqRYlqqsoJ3Z
|
||||
x+T6j3y3lmf6zBhehjNLp0TR2A8Zd+vkRNy1mwJ+i8kFhbwXg84RVxf9xOyIrefeWUbZKDmC2nZZ
|
||||
uLBqNffGEME7XsyncIjg9SUyBcFvKTviuHe09CLLNVLvNp1Ew1o05FSEMpUkGplcl+RTnAzMfB7y
|
||||
KdD1jedT9Pb3/5dAjj6ZFyb7jFYxIZxxQSDS9t9779svzl6jOE2Scq0jl0vZwIMCIbjKnBnu1I/X
|
||||
pFyACV6rGFH/UxWjzDKsIOp1Dk+Oux8qXFOJP2w1H58r6yQwjGg8FY2JdBQqG6dT5WpdEaPoVa2w
|
||||
o0pgGpBRFKCeBKkKItQZLrWE+0UO8je6nrM2kCIUuiqqIT1jrS3nQzbGIgykS0IzItDXVFe/uFZk
|
||||
7mYRjWMF20cwaqjtBLEs73ZlEV3GKafD7twi+s1g/HuDcVZBOzZkcAP8vTJkzPu7Y8pY6rpj5oul
|
||||
6k3MF7TtGnngWHmwHQPl4HR/f+kVF2sYKKvBbMBnkwmisniu2XGJCdLf7xuIG0wQsNaCCXJrt12A
|
||||
xvPwy0r8fx/vc778zuX6zzE2Dkht/qbGCe6GjHGXALv7WtHD1f2J5BFOXuLxLd99eu+cWfP+vuuA
|
||||
QiBvTQlYFthECaBtNzCkTFiwpOwwKduKEfD/sCVnSHk7SuLo6OD4Sm0iviS7EGvd//OjDMiYnV+8
|
||||
IIdVqqAAvV2C3mbQ2xr0dnrB5m+bg/ztMKKv25WptBH6M1zZDotoblseDQc91R/2jo74RqSGZWvS
|
||||
NWMN9gplMzg+MjNvUDYP/u5m/i6KA5moLjkretsBcV7kScgL3vyQYqb88QSembmM/b3e8GHfaqwi
|
||||
xRt5ns8lhKNMBHIe5xm5O+K5LY7bsoOY8q64xz1rU+dFj+Q06fP0hH99qJ3HuPQ/2P6ulCmf2VIu
|
||||
iCfr/rEZYmvuIjiqZ2JcQd6djUuIMYiF9Zl4Ps/i1JVT+G52uwx1g1cNWMyHFiGRGn4zEDt/IDG9
|
||||
TaEXrZbW9ane8r1bpr1dLc/iQJ+8LCyVd2WT5fNT5t6d22Q/MiVodNLajWMS8pNQVxKXmY99Tj5z
|
||||
+VIv9P9jVbpjO+zeXT9s3t93O2zrvril+k3MMLTtsoxxNPU6JfVC2xvq1fv4Vkxtxww76JO7vswM
|
||||
W8NX33waDevRYF/F7eRi5cWVg0Mznwbj6i5dUXyfjKuq7YBNW66mL11aMlyF6JlKvNonjuLZ4kUs
|
||||
pK0ibBJCXSGLZxSTQEGiGTkdqiPEC6TmkH0uA0EAkBUPU52j2RjHz/ATrnY4FyR97ECpm/jTjEPe
|
||||
Y6RisTbXF/6hMA9p3RBKmgs90iA/xTNEmEyiz5lALf7FrFg2Szybn4JeaHBzpwKyKMMQr5HQxWlN
|
||||
i2fF0OAxqvZoDU1fSA+XOCA9DQWRssmTVTnxBB1DfibyzA90nlGJKUwef19rowIWxvqLh42Iz3fR
|
||||
9tZbLCzRmivDwnhX1td76b3DgDu3vjijhtdYiedPz8+1pOkfn5+/Mgtb4uUhn+PB9Fqu6jcxvSzJ
|
||||
b2J6oW0XYs8hgIl0HVdLo/6xEUeOploEwbZjcR0N9g82Td/4ZOgbsN9gaE0VSdz0tIdPl9haZDya
|
||||
mTTYWksCWdhIebC1Gmytl/ZaJH9EOsfkrw/5eiMpxj5emuEL5VPkPdtbhFiFa8ggrVnj47YqFG7k
|
||||
NAKfU6khxak3ekUUhBMIfL3UyB/T8NXyqx5p+AsdkODc6VVGzBkrVVncNYWcVDL/tUVAxCqnKjVH
|
||||
CmZqCDowIZhIBvMPHAdSulo3ZoabvfTXHYG7mTgDdsjcP+WzRZxIYS9ii4eXfpynwbwW6NL3nZFZ
|
||||
gBu68qm2dQ73kTse0/gxsqBanDe6OOJrAsXHtVDWookjV4dy7OxgBJAFBGpEjvHMDwI9f75eypyd
|
||||
gKUzVrBSeKY6LdacaIH5lWDBkHzhEw5sXnlH/I7mJFEEik6ZAXF1nX9JfQZ8p9fQz4Y5iaJs5V2g
|
||||
Z5XDWyGCa9LDBXPMjcAJgKzgU2cy22u4ghhGEUhQX16lc4QRpkOGyShgDEQVlFXOlhbYxT3ntbBj
|
||||
kuC0RfmscsIClT5NVm3ZKQ3B6dQ6L5ppV1EbZF/HIp1Hrgaas1AYWMJgHOgOPT7hhgUH3PX7Yi0k
|
||||
OJuAdfOjS26mm2NBJLEeWT2xzjAPFS6LIyU9Ii3AVk6NWlYtQJlojHrYNlmHZqpvNGPDUaCcKSKF
|
||||
mOFIqYBEQ65wnMZ8hW1x8DRMhCQOFmO5k3jKNF4cj/DIiiklASOAzNcZ4a2NOuE40hfkeAcil9EF
|
||||
EnevdXHj3ZFYe1ckFdbjjoilvS9FHGmc71L27C3IHI6lG1lTPcW1fRlTGfmGZAtjc2uCZO+mBAib
|
||||
xrvyfy9P1e2cfQhJJox5CYkiQBv4bQ6GYIVLNmYHZsfObx/zfHB+Pz/n19L7Js4v2nYt3TqMOE23
|
||||
jqVbpj9Lt9vxfw8OeydLEz/W8H83mUDDGjS4wC71O/KzSM346yVecO9oYObT4AWDJe+KF4zdmnyo
|
||||
biB5UHMsi1f2cn1ckQubw8sm5NMe7e+fPyIrDLv49OdgcEJ/polLv6vrXoGny113X7z+z6v+65P0
|
||||
7Q/fPBsR0omjv475FXXAYwzjxFMJdYQRJEzAEUFIRpxSkbVXuxoca6oyVAQpQdWCrCTVR4s2ruBU
|
||||
Q0oPCNJPcPCtsNhaXuRfj/Tk+ScWy0eYZwkHVTEJEIymx2e9zj6eFBoMxvpP9N938Vhc+lK8ePFK
|
||||
q/jngUz8kfTFWYjK+JVURlZ2JRoKTeFYzB6cALNVLF5BezUmcqepxWgFK35fkwnnx3hR4N+++u84
|
||||
f00A1VGysDh+Z0428JiBvvSrEHcn7zw1kjiN/XbKt+NZUas5vtZridojINPA2EAIILDuayVDMwdQ
|
||||
th2jKgqY4lcYWtHg+HaOVFwlQiZSTYWtklhBmuUafdTgeuCmFXN84KYb5qabtOl7Rw/XzC5a9Z+5
|
||||
+bF9h8V+sz2PxSqOTTwWtO36kJtOJXXbXJ3LX4PUWLyyO5AxR27FcekfDgaHKx2XKgXNZOZOnl1+
|
||||
XaEhDtJaOuJvO1rANeC7wTsJ5YX0Q57SVc+k3z84NAA3eCZasCz4JsetW/JN7tMOXe18cp4gvoto
|
||||
3ERJRFXnOjcF8cDKlogcSxSsQWpJeqGmxK5+GnbEN1x6aPHaOb7RFnVtRIigq4nqVcLoNBqXL9JB
|
||||
O11PjQaMOPLdEb8GBNGZLeOiirRhvFy1VVFN1sKJYM6EoXH+JccoYqXTfjg2yZFwuNqcPWSjwTgw
|
||||
rG8xUypM9dgSIce5ICr1ODEXlk+gxn4mQ8RdEfmlDkO+kZejl1yGJlXiJ0msmhATXLTE63iKcLoO
|
||||
WL9O4O9/O88QUKbOMz/lioAmKO4lus6XGMYRdZCu3BpDOF2jzZO4Ua3MdMKWQBwqxODRMQkeelzC
|
||||
o2sNjcF3RRRWoYJNSDNhFa7tPw6mwzwuc5RFF/sCoA13InG3BrmFHXGGlPIaqWDFXKkLsEXlhsrU
|
||||
Fk7kWmaTEiIiKYl7/3RE9hfMauaDH8tEqTRUpKUKgpgLfe83Qw/VJUi0RBgBl9aEKAFUC8dzs9gc
|
||||
PMfGTJVYSEQrpNybEmme8Eh96Tpabr3uPP/+hH0lPqb+Mf7aW4ev9rbLTxyeR7LcZ8Q0mNOd4xCU
|
||||
Cbv7nMHXQn6UI9gUubEQke1hhf+eHVywxt25//4TqEBXkKjeJFollJJKW6gnUVLprSQOwvJ58LIW
|
||||
DantuyJb3zuxLLCJJ4K23YlMHU3KjiVlVEzynFLSOJmhZGdbCYS944Pj/io/pGEDZeNZNKxGg59C
|
||||
GuR3WvR/qSRSAXG3e4FGS1yWk5MjM7cGlwU8+uCwbOCw2DSVCz9OTd4LBy+Q9pJ72hSIBQ5aR/hB
|
||||
egspCaQP/UQ8nyQxAh/xhU0E0cWNdCEEH8cvyf6ak3EGg8sMBKKBxWW6FwrXx6XdKQE4ixNPa1Ek
|
||||
hOAQJDJWkH4foVM2MaiL6VQr1kC/INjwPCSzgSwCznYpqg4Z7aznxZ26E+VepHrU7nTGlZN9tkFU
|
||||
ylc0ChJqPo+KwpWprdSkJ550oOAlyo/rzAhdlfoXkDYnfSCLhADgc6Ocp7Sk/j8acQFc7tgbVrBR
|
||||
xQPONeCEA1eQKhYDgCLD5TGm7vNseV6Suo20Eatl9hOAyuMZ81MmuM6aUebWiuqPkHBVoEwvtc4f
|
||||
Lst9ItFlzmlG1zxp8kBvW6c3WxT2TtDZ3qfTF2vCXZnBlx8+3M42lr6TQQt0LBWtgD+aW0Ixq8MO
|
||||
IlkF5JIyw7AJs2Pz9+HczGdq/lrS38T8RdturUpMFjuahB0mYUvBXD2GKXg71u9h77h3vKH1u+kk
|
||||
GtaiwfilBZVkXaqAOO74FA2uGr6Dfv/UTKvB8F1ylgaJRQ+Gb4Ph+5MPu6NTy5c3pTo1LXTEtwjy
|
||||
cP0gY15A4LEuZTsDBThnSl2w9q11E8NQwNUgKsm0AtcXmKDqEEySouZmzVwwWhSHTFlh0n+VUBLn
|
||||
YU9UMBWkRCWXx4fijC4E6r6PiFj5Wgl9GwjSy3V+tA3HEYsTDFqlYwYJ9hWF5yfK1SGwRUuVYTZh
|
||||
mgJ0X6fphzSEMQYCP8tg9+QpwnarurYI0LVIyZwJc3eC/9XHe/kEry2UhgKj59F3NWACyXnZPsJ0
|
||||
aIYpl4E6xh7nUw+5wsooDwyY6All/AmV4Zw+GSld9iXhSu34RpINNpx3ADhOKcD84qR1ZPXPOSoc
|
||||
kaXFAGJuM6L1iOiAbzBKxeNE8WLo+KMaj5/oUwcaeeXyIhs8I5lKIoHaIMk8mD/RJxl0nJVzzRHQ
|
||||
1AFpDQ1AJQhoYpwbMp1qW7U4iMBNgT9jBZrj2Xr0Ej1sqxEpprjLhXvgGxpq9WGBKLtMiGJXANcJ
|
||||
+fpMBXX3tI3rpBRux5miEo6+MQPIIuuSRvFj7zyCWQZy4C+IqBMkunh5wqXeqx/agXj1MiYDHL/Q
|
||||
iet6DUgMYV1CkpbMCQFDbZagY2+PMKvPiNSda+8gxaU3VwYWbdE76OhItsE9EY4ORfYOMGxqI/QA
|
||||
A1eQ1HvtAF3lAQ5L36glhNMbMR80z+JYL4k20bX5W6l5bzwHdNixx9l5bYZk7fLK8UEZ3HSlF4L6
|
||||
9HJmR4aKTCtqQJNiePlcgCZXcmQ6mhCnOKcBDuBpdnHowlRWKlCGiyaU9+w84v0SapaQICEnxfA+
|
||||
jHeQGsHqJrk9uwIoA7BTEAcm1T+tbah9ql9YiOO964lhNL+34nfvLojdvQdx+yBuH8Tt3Re352wO
|
||||
7yxQkuXTGQbceaDkpZoNfR1dYvGzWpCzh7vj6MjDwarPNDpi6X2T6AjadiOmW8fQLUILTLeOdCzd
|
||||
OoZutxMZ6Z+eDDaNjGwygYY1aIiKpLnWmb47nRBDlNOpRkX2e/tmSg1RkSVnqw5aD1GRxqjID2xe
|
||||
IB8K4+OyXbJD9H11pJ1qpQAqKXM/q2qSGjJeit2Xjvd+RErNZvYMyBIO5mMS9KzSr1jmelcApoyJ
|
||||
i7PNJi+MyWcak3HNOxdFJa9iEJhbuA0WT0PS5hluSnl9wQlFSAIf4xD6VXBrJnRKSw8UsAFKi2sM
|
||||
RG0+2HRyPtatzHy0ocjgkp5So0/rA1LHfmux85h/9Vr8P339P4MnHfE7bDaJUvMKl5niuHuxY1QO
|
||||
LAtEMXIIH1CcJC3IPJnivl+tRvWuzoQmHWDiqphCiYeVWZIv5uUxcD99qu/TK+98OyvuL8R2FVbB
|
||||
JVacknTAnHEi/Qcu9wCHiJZmhAQ7n41rfG8WTN/Ci4/0ereF+kArzelt5Ts7Pb57kW18zv0iEHJc
|
||||
9HcmyN61tgNn4JV1vo1txXXf2G3kS3d59tfKTmzgIiCSaHDvfrCKAfOBRVayCNbzs+cHNkN25Wtc
|
||||
zgc+Bty5r/Gdn04DonZLHEAMXzq9yBpsLu7Y1XjYiP1MXQ1L7pu4GmhLuonJ1jFk6zDZOn5Epnqm
|
||||
yRZHSIlst+NpHPb6h0cbehobwN+wAg2Oxm8yi/18lYeBQ1J6Kg0exo72XSEwJBkWDHqNWHTArPjw
|
||||
/wMQZadHQA0BAA==
|
||||
headers:
|
||||
Accept-Ranges: [bytes]
|
||||
Connection: [keep-alive]
|
||||
Content-Encoding: [gzip]
|
||||
Content-Length: ['10726']
|
||||
Content-Type: [application/json; charset=UTF-8]
|
||||
Date: ['Thu, 14 Sep 2017 03:34:25 GMT']
|
||||
Server: [snooserv]
|
||||
Strict-Transport-Security: [max-age=15552000; includeSubDomains; preload]
|
||||
Vary: [accept-encoding]
|
||||
Via: [1.1 varnish]
|
||||
X-Cache: [MISS]
|
||||
X-Cache-Hits: ['0']
|
||||
X-Moose: [majestic]
|
||||
X-Served-By: [cache-ord1747-ORD]
|
||||
X-Timer: ['S1505360066.785562,VS0,VE153']
|
||||
cache-control: ['private, s-maxage=0, max-age=0, must-revalidate, max-age=0,
|
||||
must-revalidate']
|
||||
expires: ['-1']
|
||||
set-cookie: ['loid=0000000000000lqnao.2.1425202840186.Z0FBQUFBQlp1ZmpCQ2hwVmRON2pPcE4wQml3bHhrR3pnVGlkbjJDNldkVGhiMFc5c3loLXE3MERBTHV5eGQxWHg2ZkthNHhIN1MyZTFKUlU0eUVScTZVXzlyWkxwc0dQZGE1RGUwRk1uTnN6OThqSzZ5dXJHQ2dpcHpTc1RkSDhJeWs1WHBDZEFHeTY;
|
||||
Domain=reddit.com; Max-Age=63071999; Path=/; expires=Sat, 14-Sep-2019 03:34:25
|
||||
GMT; secure', 'session_tracker=ccNg4m5YpT4IeulT85.0.1505360065801.Z0FBQUFBQlp1ZmpCQmM0Q21zdlRWMTB0TmtqU25UOFdzcy10WkNybkc0YnRNelVjVFhWeEFaT05LU3RaWFBHUFAtNDVqRExKUW1kanJoRWNOYjRoSDRXS29IaXdfM1RZM1ZEX2t3X1doaWx3T2JHcVdzR1Z2N1o1X3VsUkFhNndtUk45Z2tjeWFQeXQ;
|
||||
Domain=reddit.com; Max-Age=7199; Path=/; expires=Thu, 14-Sep-2017 05:34:25
|
||||
GMT; secure']
|
||||
x-content-type-options: [nosniff]
|
||||
x-frame-options: [SAMEORIGIN]
|
||||
x-ratelimit-remaining: ['591.0']
|
||||
x-ratelimit-reset: ['335']
|
||||
x-ratelimit-used: ['9']
|
||||
x-reddit-tracking: ['https://pixel.redditmedia.com/pixel/of_destiny.png?v=PCoJe8sg5slPNmRboPobsY1BcSSnQQTlQAJJgMBLg8KMtNFALTng99PGO0pHOcYtDa4hoNeeaElx5u5lqX5P7zuQLacty5Qb']
|
||||
x-ua-compatible: [IE=edge]
|
||||
x-xss-protection: [1; mode=block]
|
||||
status: {code: 200, message: OK}
|
||||
version: 1
|
||||
1423
tests/cassettes/test_subreddit_reload_page.yaml
Normal file
1423
tests/cassettes/test_subreddit_reload_page.yaml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -12,7 +12,8 @@ from vcr import VCR
|
||||
from six.moves.urllib.parse import urlparse, parse_qs
|
||||
from six.moves.BaseHTTPServer import HTTPServer
|
||||
|
||||
from rtv.oauth import OAuthHelper, OAuthHandler, OAuthRateLimiter
|
||||
from rtv.oauth import OAuthHelper, OAuthHandler
|
||||
from rtv.content import RequestHeaderRateLimiter
|
||||
from rtv.config import Config
|
||||
from rtv.packages import praw
|
||||
from rtv.terminal import Terminal
|
||||
@@ -180,8 +181,7 @@ def reddit(vcr, request):
|
||||
|
||||
with vcr.use_cassette(cassette_name):
|
||||
with patch('rtv.packages.praw.Reddit.get_access_information'):
|
||||
handler = OAuthRateLimiter()
|
||||
|
||||
handler = RequestHeaderRateLimiter()
|
||||
reddit = praw.Reddit(user_agent='rtv test suite',
|
||||
decode_html_entities=False,
|
||||
disable_update_check=True,
|
||||
|
||||
@@ -11,7 +11,8 @@ import pytest
|
||||
from rtv import exceptions
|
||||
from rtv.packages import praw
|
||||
from rtv.content import (
|
||||
Content, SubmissionContent, SubredditContent, SubscriptionContent)
|
||||
Content, SubmissionContent, SubredditContent, SubscriptionContent,
|
||||
RequestHeaderRateLimiter)
|
||||
|
||||
try:
|
||||
from unittest import mock
|
||||
@@ -560,3 +561,42 @@ def test_content_subscription_empty(reddit, terminal):
|
||||
with terminal.loader():
|
||||
SubscriptionContent.from_user(reddit, terminal.loader)
|
||||
assert isinstance(terminal.loader.exception, exceptions.SubscriptionError)
|
||||
|
||||
|
||||
def test_content_cache(reddit):
|
||||
|
||||
# Make sure the test suite is configured to use the custom handler
|
||||
assert isinstance(reddit.handler, RequestHeaderRateLimiter)
|
||||
assert not reddit.handler.cache
|
||||
|
||||
# A standard 200 response should be added to the cache
|
||||
next(reddit.get_subreddit('python').get_hot())
|
||||
request = list(reddit.handler.cache.values())[0]
|
||||
assert request.url == 'https://api.reddit.com/r/python/.json'
|
||||
|
||||
# Clearing the cache should remove the request
|
||||
reddit.handler.cache.clear()
|
||||
assert not reddit.handler.cache
|
||||
|
||||
|
||||
def test_content_rate_limit(reddit, oauth, refresh_token):
|
||||
|
||||
# Make sure the test suite is configured to use the custom handler
|
||||
assert isinstance(reddit.handler, RequestHeaderRateLimiter)
|
||||
assert not reddit.handler.cache
|
||||
|
||||
# unauthenticated requests don't return the x-ratelimit headers
|
||||
# so they currently aren't limited
|
||||
next(reddit.get_subreddit('python').get_hot())
|
||||
assert reddit.handler.seconds_to_reset is None
|
||||
|
||||
oauth.config.refresh_token = refresh_token
|
||||
oauth.authorize()
|
||||
|
||||
# But now that we're logged in the headers should be returned
|
||||
next(reddit.get_subreddit('python').get_hot())
|
||||
assert reddit.handler.seconds_to_reset
|
||||
|
||||
# Even though the headers were returned, the rate limiting should
|
||||
# still not be triggering a delay for the next request
|
||||
assert reddit.handler.next_request_timestamp is None
|
||||
|
||||
@@ -7,7 +7,7 @@ import six
|
||||
|
||||
from rtv import __version__
|
||||
from rtv.subreddit_page import SubredditPage
|
||||
from rtv.packages.praw.errors import NotFound
|
||||
from rtv.packages.praw.errors import NotFound, HTTPException
|
||||
|
||||
try:
|
||||
from unittest import mock
|
||||
@@ -66,6 +66,27 @@ def test_subreddit_refresh(subreddit_page, terminal):
|
||||
assert terminal.loader.exception is None
|
||||
|
||||
|
||||
def test_subreddit_reload_page(subreddit_page, terminal, reddit):
|
||||
|
||||
cache = reddit.handler.cache
|
||||
assert len(cache) == 1
|
||||
|
||||
# A plain refresh_content() will use whatever is in the praw cache
|
||||
# instead of making a new request to reddit
|
||||
list(cache.values())[0].status_code = 503
|
||||
subreddit_page.refresh_content()
|
||||
assert isinstance(terminal.loader.exception, HTTPException)
|
||||
|
||||
cache = reddit.handler.cache
|
||||
assert len(cache) == 1
|
||||
|
||||
# But if we manually trigger a page refresh, it should clear the cache
|
||||
# and reload the page instead of returning the cached 503 response
|
||||
list(cache.values())[0].status_code = 503
|
||||
subreddit_page.controller.trigger('r')
|
||||
assert terminal.loader.exception is None
|
||||
|
||||
|
||||
def test_subreddit_title(subreddit_page, terminal, capsys):
|
||||
subreddit_page.content.name = 'hello ❤'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user