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():
    """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()
Example #3
0
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()
Example #4
0
	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()
Example #5
0
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()
Example #6
0
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()
Example #7
0
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()
Example #8
0
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()
Example #11
0
 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()
Example #13
0
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()
Example #14
0
 def __init__(self, port=9876):
     install_opener()
     wsgi_intercept.add_wsgi_intercept('localhost', port, self.interceptor)
Example #15
0
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()
 def __init__(self, port=9876):
     install_opener()
     wsgi_intercept.add_wsgi_intercept('localhost', port, self.interceptor)
Example #17
0
#!/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):
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()