def response_for(): """Register two intercepts, and return responses for them.""" urllib_intercept.install_opener() add_wsgi_intercept(LOCAL_HOST, PORT, lambda: handleRequest) add_wsgi_intercept(REMOTE_HOST, 443, lambda: intercept_fn) def response_for(data): url = 'http://{}:{}'.format(LOCAL_HOST, PORT) response = urlopen(url, urlencode(data)) return response.code, response.read() yield response_for remove_wsgi_intercept()
def response_for(form_handler): host, port = 'test.local', 80 urllib_intercept.install_opener() add_wsgi_intercept(host, port, lambda: form_handler) url = 'http://{}:{}'.format(host, port) def response_for(data): if data is None: response = urlopen(url) else: response = urlopen(url, urlencode(data)) return response.code, response.read() yield response_for remove_wsgi_intercept()
def setupRest(self): from pybble.app import make_cfg_app super(WebTC,self).setupRest() global main_app app = make_cfg_app() main_app = SubdomainDispatcher(app) if not skip_httpclient: http_client_intercept.install() if not skip_httplib2: httplib2_intercept.install() if not skip_requests: requests_intercept.install() if not skip_urllib: urllib_intercept.install_opener()
def response_for(): host, port = 'test.local', 80 urllib_intercept.install_opener() add_wsgi_intercept(host, port, lambda: handleRequest) url = 'http://{}:{}'.format(host, port) def response_for(data): if data is None: response = urlopen(url) else: response = urlopen(url, urlencode(data)) assert response.getcode() == 200 return response.read() yield response_for remove_wsgi_intercept()
def response_for(form_handler): """ Registers two intercepts, returns responses for them based on bool """ urllib_intercept.install_opener() add_wsgi_intercept(HOST, LOG_PORT, lambda: form_handler[0]) add_wsgi_intercept(HOST, NO_LOG_PORT, lambda: form_handler[1]) def response_for(data, log=False): if log: url = 'http://{}:{}'.format(HOST, LOG_PORT) else: url = 'http://{}:{}'.format(HOST, NO_LOG_PORT) if data is None: response = urlopen(url) else: response = urlopen(url, urlencode(data)) return response.code, response.read() yield response_for remove_wsgi_intercept()
def test_sitekey_frame(mocker): mocker.patch(MODULE + '.get_template', FakeTemplate) mocker.patch(MODULE + '.M2Crypto', FakeM2Crypto) urllib_intercept.install_opener() add_wsgi_intercept(HOST, 80, lambda: sitekey_frame.sitekey_frame, script_name=SCRIPT_NAME) try: response = urllib2.urlopen(urllib2.Request( 'http://{}/{}'.format(HOST, SCRIPT_NAME), headers={'User-Agent': 'foobar'}, )) assert response.code == 200 data = eval(response.read()) assert base64.b64decode(data['signature']) == TO_SIGN assert data['http_path'] == '/' + SCRIPT_NAME assert data['http_host'] == HOST assert data['http_ua'] == USER_AGENT finally: remove_wsgi_intercept()
def test_sitekey_frame(mocker): mocker.patch(MODULE + '.get_template', FakeTemplate) mocker.patch(MODULE + '.M2Crypto', FakeM2Crypto) urllib_intercept.install_opener() add_wsgi_intercept(HOST, 80, lambda: sitekey_frame.sitekey_frame, script_name=SCRIPT_NAME) try: response = urllib2.urlopen( urllib2.Request( 'http://{}/{}'.format(HOST, SCRIPT_NAME), headers={'User-Agent': 'foobar'}, )) assert response.code == 200 data = eval(response.read()) assert base64.b64decode(data['signature']) == TO_SIGN assert data['http_path'] == '/' + SCRIPT_NAME assert data['http_host'] == HOST assert data['http_ua'] == USER_AGENT finally: remove_wsgi_intercept()
def start(self): urllib_intercept.install_opener() add_wsgi_intercept(self._p_host, self._p_port, self._make_callback)
def test_https_default_port(): add_http_intercept(443) urllib_intercept.install_opener() urllib.request.urlopen('https://some_hopefully_nonexistant_domain/') assert wsgi_app.success() remove_intercept()
def __init__(self, port=9876): install_opener() wsgi_intercept.add_wsgi_intercept('localhost', port, self.interceptor)
def test_http(): add_http_intercept() urllib_intercept.install_opener() url_lib.urlopen('http://some_hopefully_nonexistant_domain:80/') assert wsgi_app.success() remove_intercept()
#!/usr/bin/env python __author__ = "Abhinav Sarkar <*****@*****.**>" __version__ = "0.2" __license__ = "GNU Lesser General Public License" import unittest import sys, os from wsgi_intercept.urllib_intercept import install_opener import wsgi_intercept from wsgi_test_app import create_wsgi_app install_opener() wsgi_intercept.add_wsgi_intercept('ws.audioscrobbler.com', 80, create_wsgi_app) sys.path.append(os.path.dirname(os.path.dirname(__file__))) from lastfm import Api class TestUser(unittest.TestCase): """ A test class for the Geo module. """ def setUp(self): self.user = api.get_user('RJ') def tearDown(self): pass def testUserStats(self): self.assertAlmostEqual(self.user.nearest_neighbour.stats.match, 0.000826, 5) def testUserPastEvents(self):