Esempio n. 1
0
 def test_get_http_proxy_ignores_user_in_httpproxy(self, mock_host):
     mock_host.return_value = None
     with patch.dict(os.environ,
                     {'http_proxy': 'http://*****:*****@foo.com:80'}):
         h, p = restutil._get_http_proxy()
         self.assertEqual("foo.com", h)
         self.assertEqual(80, p)
Esempio n. 2
0
 def test_set_openssl_fips(self, _, __):
     daemon_handler = get_daemon_handler()
     daemon_handler.running = False
     with patch.dict("os.environ"):
         daemon_handler.run()
         self.assertTrue(OPENSSL_FIPS_ENVIRONMENT in os.environ)
         self.assertEqual('1', os.environ[OPENSSL_FIPS_ENVIRONMENT])
Esempio n. 3
0
 def test_get_http_proxy_ignores_user_in_httpproxy(self, mock_host):
     mock_host.return_value = None
     with patch.dict(os.environ, {
                                 'http_proxy' : 'http://*****:*****@foo.com:80'
                             }):
         h, p = restutil._get_http_proxy() # pylint: disable=protected-access,invalid-name
         self.assertEqual("foo.com", h)
         self.assertEqual(80, p)
Esempio n. 4
0
 def test_get_http_proxy_https_uses_httpsproxy(self, mock_host):
     mock_host.return_value = None
     with patch.dict(os.environ, {
                                 'http_proxy' : 'http://foo.com:80',
                                 'https_proxy' : 'https://bar.com:443'
                             }):
         h, p = restutil._get_http_proxy(secure=True) # pylint: disable=protected-access,invalid-name
         self.assertEqual("bar.com", h)
         self.assertEqual(443, p)
Esempio n. 5
0
    def test_get_no_proxy_with_values_set(self):
        no_proxy_list = ["foo.com", "www.google.com"]
        with patch.dict(os.environ, {'no_proxy': ",".join(no_proxy_list)}):
            no_proxy_from_environment = restutil.get_no_proxy()

            self.assertEqual(len(no_proxy_list),
                             len(no_proxy_from_environment))

            for i, j in zip(no_proxy_from_environment, no_proxy_list):
                self.assertEqual(i, j)
Esempio n. 6
0
 def test_get_http_proxy_http_uses_httpproxy(self, mock_host):
     mock_host.return_value = None
     with patch.dict(
             os.environ, {
                 'http_proxy': 'http://foo.com:80',
                 'https_proxy': 'https://bar.com:443'
             }):
         h, p = restutil._get_http_proxy()
         self.assertEqual("foo.com", h)
         self.assertEqual(80, p)
Esempio n. 7
0
 def test_bypass_proxy(self):
     no_proxy_list = [
         "foo.com", "www.google.com", "168.63.129.16", "Microsoft.com"
     ]
     with patch.dict(os.environ, {'no_proxy': ",".join(no_proxy_list)}):
         self.assertFalse(restutil.bypass_proxy("http://bar.com"))
         self.assertTrue(restutil.bypass_proxy("http://foo.com"))
         self.assertTrue(restutil.bypass_proxy("http://168.63.129.16"))
         self.assertFalse(restutil.bypass_proxy("http://baz.com"))
         self.assertFalse(restutil.bypass_proxy("http://10.1.1.1"))
         self.assertTrue(restutil.bypass_proxy("http://www.microsoft.com"))
Esempio n. 8
0
    def test_get_no_proxy_with_incorrect_variable_set(self):
        no_proxy_list = ["foo.com", "www.google.com", "", ""]
        no_proxy_list_cleaned = [entry for entry in no_proxy_list if entry]

        with patch.dict(os.environ, {'no_proxy': ",".join(no_proxy_list)}):
            no_proxy_from_environment = restutil.get_no_proxy()

            self.assertEqual(len(no_proxy_list_cleaned),
                             len(no_proxy_from_environment))

            for i, j in zip(no_proxy_from_environment, no_proxy_list_cleaned):
                print(i, j)
                self.assertEqual(i, j)
Esempio n. 9
0
    def test_get_no_proxy_with_ip_addresses_set(self):
        no_proxy_var = "10.0.0.1,10.0.0.2,10.0.0.3,10.0.0.4,10.0.0.5,10.0.0.6,10.0.0.7,10.0.0.8,10.0.0.9,10.0.0.10,"
        no_proxy_list = ['10.0.0.1', '10.0.0.2', '10.0.0.3', '10.0.0.4', '10.0.0.5',
                         '10.0.0.6', '10.0.0.7', '10.0.0.8', '10.0.0.9', '10.0.0.10']

        with patch.dict(os.environ, {
            'no_proxy': no_proxy_var
        }):
            no_proxy_from_environment = restutil.get_no_proxy()

            self.assertEqual(len(no_proxy_list), len(no_proxy_from_environment)) 

            for i, j in zip(no_proxy_from_environment, no_proxy_list):
                self.assertEqual(i, j)
Esempio n. 10
0
    def test_http_request_proxy_with_no_proxy_check(self, _http_request, sleep,
                                                    mock_get_http_proxy):  # pylint: disable=unused-argument
        mock_http_resp = MagicMock()
        mock_http_resp.read = Mock(return_value="hehe")
        _http_request.return_value = mock_http_resp
        mock_get_http_proxy.return_value = "host", 1234  # Return a host/port combination

        no_proxy_list = ["foo.com", "www.google.com", "168.63.129.16"]
        with patch.dict(os.environ, {'no_proxy': ",".join(no_proxy_list)}):
            # Test http get
            resp = restutil.http_get("http://foo.com", use_proxy=True)
            self.assertEqual("hehe", resp.read())
            self.assertEqual(0, mock_get_http_proxy.call_count)

            # Test http get
            resp = restutil.http_get("http://bar.com", use_proxy=True)
            self.assertEqual("hehe", resp.read())
            self.assertEqual(1, mock_get_http_proxy.call_count)
Esempio n. 11
0
    def test_proxy_conditions_with_no_proxy(self):
        should_use_proxy = True
        should_not_use_proxy = False
        use_proxy = True

        no_proxy_list = ["foo.com", "www.google.com", "168.63.129.16"]
        with patch.dict(os.environ, {'no_proxy': ",".join(no_proxy_list)}):
            host = "10.0.0.1"
            self.assertEqual(should_use_proxy, use_proxy
                             and not restutil.bypass_proxy(host))

            host = "foo.com"
            self.assertEqual(should_not_use_proxy, use_proxy
                             and not restutil.bypass_proxy(host))

            host = "www.google.com"
            self.assertEqual(should_not_use_proxy, use_proxy
                             and not restutil.bypass_proxy(host))

            host = "168.63.129.16"
            self.assertEqual(should_not_use_proxy, use_proxy
                             and not restutil.bypass_proxy(host))

            host = "www.bar.com"
            self.assertEqual(should_use_proxy, use_proxy
                             and not restutil.bypass_proxy(host))

        no_proxy_list = ["10.0.0.1/24"]
        with patch.dict(os.environ, {'no_proxy': ",".join(no_proxy_list)}):
            host = "www.bar.com"
            self.assertEqual(should_use_proxy, use_proxy
                             and not restutil.bypass_proxy(host))

            host = "10.0.0.1"
            self.assertEqual(should_not_use_proxy, use_proxy
                             and not restutil.bypass_proxy(host))

            host = "10.0.1.1"
            self.assertEqual(should_use_proxy, use_proxy
                             and not restutil.bypass_proxy(host))

        # When No_proxy is empty
        with patch.dict(os.environ, {'no_proxy': ""}):
            host = "10.0.0.1"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "foo.com"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "www.google.com"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "168.63.129.16"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "www.bar.com"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "10.0.0.1"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "10.0.1.1"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

        # When os.environ is empty - No global variables defined.
        with patch.dict(os.environ, {}):
            host = "10.0.0.1"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "foo.com"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "www.google.com"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "168.63.129.16"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "www.bar.com"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "10.0.0.1"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))

            host = "10.0.1.1"
            self.assertTrue(use_proxy and not restutil.bypass_proxy(host))