2018-01-17 10:51:49 -08:00
|
|
|
from .base_config_test import BaseConfigTest, fmod_sl
|
|
|
|
|
2023-05-19 08:35:15 -07:00
|
|
|
import sys
|
2018-01-17 10:51:49 -08:00
|
|
|
import os
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
# ============================================================================
|
2023-05-19 08:35:15 -07:00
|
|
|
@pytest.mark.skipif(sys.version_info >= (3, 10), reason="need to reexamine on py3.10")
|
2018-01-17 10:51:49 -08:00
|
|
|
class TestSOCKSProxy(BaseConfigTest):
|
|
|
|
@classmethod
|
|
|
|
def setup_class(cls):
|
2018-01-30 18:26:53 -08:00
|
|
|
pytest.importorskip('socks')
|
2018-01-17 10:51:49 -08:00
|
|
|
os.environ['SOCKS_HOST'] = 'localhost'
|
2018-01-29 16:34:25 -08:00
|
|
|
os.environ['SOCKS_PORT'] = '0'
|
2018-01-17 10:51:49 -08:00
|
|
|
|
|
|
|
super(TestSOCKSProxy, cls).setup_class('config_test.yaml')
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def teardown_class(cls):
|
|
|
|
super(TestSOCKSProxy, cls).teardown_class()
|
|
|
|
|
|
|
|
def test_socks_attempt_connect(self, fmod_sl):
|
|
|
|
# no proxy is set, expect to fail if socks is being used
|
|
|
|
resp = self.get('/live/{0}http://httpbin.org/get', fmod_sl, status=400)
|
|
|
|
assert resp.status_int == 400
|
|
|
|
|
2019-08-29 11:59:45 -07:00
|
|
|
def test_socks_disable_enable(self, fmod_sl):
|
|
|
|
os.environ['SOCKS_DISABLE'] = '1'
|
|
|
|
|
|
|
|
resp = self.get('/live/{0}http://httpbin.org/get', fmod_sl, status=200)
|
|
|
|
assert resp.status_int == 200
|
|
|
|
|
|
|
|
os.environ['SOCKS_DISABLE'] = ''
|
2018-01-17 10:51:49 -08:00
|
|
|
|
2019-08-29 11:59:45 -07:00
|
|
|
resp = self.get('/live/{0}http://httpbin.org/get', fmod_sl, status=400)
|
|
|
|
assert resp.status_int == 400
|