def test_no_proxy(self): """ Starting with Agent 5.0.0, there should always be a local forwarder running and all payloads should go through it. So we should make sure that we pass the no_proxy environment variable that will be used by requests (See: https://github.com/kennethreitz/requests/pull/945 ) """ from os import environ as env env["http_proxy"] = "http://localhost:3128" env["https_proxy"] = env["http_proxy"] env["HTTP_PROXY"] = env["http_proxy"] env["HTTPS_PROXY"] = env["http_proxy"] set_no_proxy_settings() self.assertTrue("no_proxy" in env) self.assertEquals(env["no_proxy"], "127.0.0.1,localhost,169.254.169.254") self.assertEquals({}, get_environ_proxies( "http://localhost:17123/api/v1/series")) expected_proxies = { 'http': 'http://localhost:3128', 'https': 'http://localhost:3128', 'no': '127.0.0.1,localhost,169.254.169.254' } environ_proxies = get_environ_proxies("https://www.google.com") self.assertEquals(expected_proxies, environ_proxies, (expected_proxies, environ_proxies)) # Clear the env variables set env.pop("http_proxy", None) env.pop("https_proxy", None) env.pop("HTTP_PROXY", None) env.pop("HTTPS_PROXY", None)
def test_no_proxy(self): """ Starting with Agent 2.0.0, there should always be a local forwarder running and all payloads should go through it. So we should make sure that we pass the no_proxy environment variable that will be used by requests (See: https://github.com/kennethreitz/requests/pull/945 ) """ from os import environ as env env["http_proxy"] = "http://localhost:3128" env["https_proxy"] = env["http_proxy"] env["HTTP_PROXY"] = env["http_proxy"] env["HTTPS_PROXY"] = env["http_proxy"] set_no_proxy_settings() self.assertTrue("no_proxy" in env) self.assertEquals(env["no_proxy"], "127.0.0.1,localhost,169.254.169.254") self.assertEquals( {}, get_environ_proxies("http://localhost:17123/api/v1/series")) expected_proxies = { 'http': 'http://localhost:3128', 'https': 'http://localhost:3128', 'no': '127.0.0.1,localhost,169.254.169.254' } environ_proxies = get_environ_proxies("https://www.google.com") if os.environ.get('TRAVIS') and 'travis_apt' in environ_proxies: # Travis CI adds a `travis_apt` proxy which breaks this test if it's not removed. environ_proxies.pop("travis_apt", None) self.assertEquals(expected_proxies, environ_proxies, (expected_proxies, environ_proxies)) # Clear the env variables set env.pop("http_proxy", None) env.pop("https_proxy", None) env.pop("HTTP_PROXY", None) env.pop("HTTPS_PROXY", None)
def test_no_proxy(self): """ Starting with Agent 5.0.0, there should always be a local forwarder running and all payloads should go through it. So we should make sure that we pass the no_proxy environment variable that will be used by requests (See: https://github.com/kennethreitz/requests/pull/945 ) """ from os import environ as env env["http_proxy"] = "http://localhost:3128" env["https_proxy"] = env["http_proxy"] env["HTTP_PROXY"] = env["http_proxy"] env["HTTPS_PROXY"] = env["http_proxy"] set_no_proxy_settings() self.assertTrue("no_proxy" in env) self.assertEquals(env["no_proxy"], "127.0.0.1,localhost,169.254.169.254") self.assertEquals({}, get_environ_proxies( "http://localhost:18123/api/v1/series")) expected_proxies = { 'http': 'http://localhost:3128', 'https': 'http://localhost:3128', 'no': '127.0.0.1,localhost,169.254.169.254' } environ_proxies = {k:v for k,v in get_environ_proxies("https://www.google.com").iteritems() if k in ["http", "https", "no"]} self.assertEquals(expected_proxies, environ_proxies, (expected_proxies, environ_proxies)) # Clear the env variables set env.pop("http_proxy", None) env.pop("https_proxy", None) env.pop("HTTP_PROXY", None) env.pop("HTTPS_PROXY", None)
# stdlib from hashlib import md5 import logging import re #import zlib # 3p import requests import simplejson as json # project from config import get_version from utils.proxy import set_no_proxy_settings set_no_proxy_settings() # urllib3 logs a bunch of stuff at the info level requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.WARN) requests_log.propagate = True # From http://stackoverflow.com/questions/92438/stripping-non-printable-characters-from-a-string-in-python control_chars = ''.join(map(unichr, range(0, 32) + range(127, 160))) control_char_re = re.compile('[%s]' % re.escape(control_chars)) def remove_control_chars(s): return control_char_re.sub('', s)
from hashlib import md5 import logging import re import zlib import unicodedata # 3p import requests import simplejson as json # project from config import get_version from utils.proxy import set_no_proxy_settings set_no_proxy_settings() # urllib3 logs a bunch of stuff at the info level requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.WARN) requests_log.propagate = True # From http://stackoverflow.com/questions/92438/stripping-non-printable-characters-from-a-string-in-python control_chars = ''.join(map(unichr, range(0, 32) + range(127, 160))) control_char_re = re.compile('[%s]' % re.escape(control_chars)) def remove_control_chars(s, log): if isinstance(s, str): sanitized = control_char_re.sub('', s) elif isinstance(s, unicode):