bridgy-fed/tests/testutil.py

46 wiersze
1.2 KiB
Python

"""Common test utility code.
"""
import copy
import unittest
from unittest.mock import ANY, call
from oauth_dropins.webutil import testutil, util
from oauth_dropins.webutil.appengine_config import ndb_client
import requests
import webapp2
import common
class TestCase(unittest.TestCase, testutil.Asserts):
maxDiff = None
def setUp(self):
super(TestCase, self).setUp()
# clear datastore
requests.post('http://%s/reset' % ndb_client.host)
self.ndb_context = ndb_client.context()
self.ndb_context.__enter__()
self.request = webapp2.Request.blank('/')
self.response = webapp2.Response()
self.handler = common.Handler(self.request, self.response)
def tearDown(self):
self.ndb_context.__exit__(None, None, None)
super(TestCase, self).tearDown()
def req(self, url, **kwargs):
"""Returns a mock requests call."""
existing = kwargs.get('headers', {})
if existing is not ANY:
headers = copy.deepcopy(common.HEADERS)
headers.update(existing)
kwargs['headers'] = headers
kwargs.setdefault('timeout', util.HTTP_TIMEOUT)
kwargs.setdefault('stream', True)
return call(url, **kwargs)