diff options
Diffstat (limited to 'tests/test_onionshare_settings.py')
-rw-r--r-- | tests/test_onionshare_settings.py | 180 |
1 files changed, 88 insertions, 92 deletions
diff --git a/tests/test_onionshare_settings.py b/tests/test_onionshare_settings.py index bcc2f7cb..0bce2f94 100644 --- a/tests/test_onionshare_settings.py +++ b/tests/test_onionshare_settings.py @@ -28,85 +28,86 @@ from onionshare import common, settings, strings @pytest.fixture def os_path_expanduser(monkeypatch): - monkeypatch.setattr('os.path.expanduser', lambda path: path) + monkeypatch.setattr("os.path.expanduser", lambda path: path) @pytest.fixture def settings_obj(sys_onionshare_dev_mode, platform_linux): _common = common.Common() - _common.version = 'DUMMY_VERSION_1.2.3' + _common.version = "DUMMY_VERSION_1.2.3" return settings.Settings(_common) class TestSettings: def test_init(self, settings_obj): expected_settings = { - 'version': 'DUMMY_VERSION_1.2.3', - 'connection_type': 'bundled', - 'control_port_address': '127.0.0.1', - 'control_port_port': 9051, - 'socks_address': '127.0.0.1', - 'socks_port': 9050, - 'socket_file_path': '/var/run/tor/control', - 'auth_type': 'no_auth', - 'auth_password': '', - 'close_after_first_download': True, - 'autostop_timer': False, - 'autostart_timer': False, - 'use_stealth': False, - 'use_autoupdate': True, - 'autoupdate_timestamp': None, - 'no_bridges': True, - 'tor_bridges_use_obfs4': False, - 'tor_bridges_use_meek_lite_azure': False, - 'tor_bridges_use_custom_bridges': '', - 'use_legacy_v2_onions': False, - 'save_private_key': False, - 'private_key': '', - 'slug': '', - 'hidservauth_string': '', - 'data_dir': os.path.expanduser('~/OnionShare'), - 'public_mode': False + "version": "DUMMY_VERSION_1.2.3", + "connection_type": "bundled", + "control_port_address": "127.0.0.1", + "control_port_port": 9051, + "socks_address": "127.0.0.1", + "socks_port": 9050, + "socket_file_path": "/var/run/tor/control", + "auth_type": "no_auth", + "auth_password": "", + "close_after_first_download": True, + "autostop_timer": False, + "autostart_timer": False, + "use_stealth": False, + "use_autoupdate": True, + "autoupdate_timestamp": None, + "no_bridges": True, + "tor_bridges_use_obfs4": False, + "tor_bridges_use_meek_lite_azure": False, + "tor_bridges_use_custom_bridges": "", + "use_legacy_v2_onions": False, + "save_private_key": False, + "private_key": "", + "password": "", + "hidservauth_string": "", + "data_dir": os.path.expanduser("~/OnionShare"), + "public_mode": False, + "csp_header_disabled": False, } for key in settings_obj._settings: # Skip locale, it will not always default to the same thing - if key != 'locale': + if key != "locale": assert settings_obj._settings[key] == settings_obj.default_settings[key] assert settings_obj._settings[key] == expected_settings[key] def test_fill_in_defaults(self, settings_obj): - del settings_obj._settings['version'] + del settings_obj._settings["version"] settings_obj.fill_in_defaults() - assert settings_obj._settings['version'] == 'DUMMY_VERSION_1.2.3' + assert settings_obj._settings["version"] == "DUMMY_VERSION_1.2.3" def test_load(self, settings_obj): custom_settings = { - 'version': 'CUSTOM_VERSION', - 'socks_port': 9999, - 'use_stealth': True + "version": "CUSTOM_VERSION", + "socks_port": 9999, + "use_stealth": True, } tmp_file, tmp_file_path = tempfile.mkstemp() - with open(tmp_file, 'w') as f: + with open(tmp_file, "w") as f: json.dump(custom_settings, f) settings_obj.filename = tmp_file_path settings_obj.load() - assert settings_obj._settings['version'] == 'CUSTOM_VERSION' - assert settings_obj._settings['socks_port'] == 9999 - assert settings_obj._settings['use_stealth'] is True + assert settings_obj._settings["version"] == "CUSTOM_VERSION" + assert settings_obj._settings["socks_port"] == 9999 + assert settings_obj._settings["use_stealth"] is True os.remove(tmp_file_path) assert os.path.exists(tmp_file_path) is False def test_save(self, monkeypatch, settings_obj): - monkeypatch.setattr(strings, '_', lambda _: '') + monkeypatch.setattr(strings, "_", lambda _: "") - settings_filename = 'default_settings.json' + settings_filename = "default_settings.json" tmp_dir = tempfile.gettempdir() settings_path = os.path.join(tmp_dir, settings_filename) settings_obj.filename = settings_path settings_obj.save() - with open(settings_path, 'r') as f: + with open(settings_path, "r") as f: settings = json.load(f) assert settings_obj._settings == settings @@ -115,69 +116,64 @@ class TestSettings: assert os.path.exists(settings_path) is False def test_get(self, settings_obj): - assert settings_obj.get('version') == 'DUMMY_VERSION_1.2.3' - assert settings_obj.get('connection_type') == 'bundled' - assert settings_obj.get('control_port_address') == '127.0.0.1' - assert settings_obj.get('control_port_port') == 9051 - assert settings_obj.get('socks_address') == '127.0.0.1' - assert settings_obj.get('socks_port') == 9050 - assert settings_obj.get('socket_file_path') == '/var/run/tor/control' - assert settings_obj.get('auth_type') == 'no_auth' - assert settings_obj.get('auth_password') == '' - assert settings_obj.get('close_after_first_download') is True - assert settings_obj.get('use_stealth') is False - assert settings_obj.get('use_autoupdate') is True - assert settings_obj.get('autoupdate_timestamp') is None - assert settings_obj.get('autoupdate_timestamp') is None - assert settings_obj.get('no_bridges') is True - assert settings_obj.get('tor_bridges_use_obfs4') is False - assert settings_obj.get('tor_bridges_use_meek_lite_azure') is False - assert settings_obj.get('tor_bridges_use_custom_bridges') == '' - + assert settings_obj.get("version") == "DUMMY_VERSION_1.2.3" + assert settings_obj.get("connection_type") == "bundled" + assert settings_obj.get("control_port_address") == "127.0.0.1" + assert settings_obj.get("control_port_port") == 9051 + assert settings_obj.get("socks_address") == "127.0.0.1" + assert settings_obj.get("socks_port") == 9050 + assert settings_obj.get("socket_file_path") == "/var/run/tor/control" + assert settings_obj.get("auth_type") == "no_auth" + assert settings_obj.get("auth_password") == "" + assert settings_obj.get("close_after_first_download") is True + assert settings_obj.get("use_stealth") is False + assert settings_obj.get("use_autoupdate") is True + assert settings_obj.get("autoupdate_timestamp") is None + assert settings_obj.get("autoupdate_timestamp") is None + assert settings_obj.get("no_bridges") is True + assert settings_obj.get("tor_bridges_use_obfs4") is False + assert settings_obj.get("tor_bridges_use_meek_lite_azure") is False + assert settings_obj.get("tor_bridges_use_custom_bridges") == "" def test_set_version(self, settings_obj): - settings_obj.set('version', 'CUSTOM_VERSION') - assert settings_obj._settings['version'] == 'CUSTOM_VERSION' + settings_obj.set("version", "CUSTOM_VERSION") + assert settings_obj._settings["version"] == "CUSTOM_VERSION" def test_set_control_port_port(self, settings_obj): - settings_obj.set('control_port_port', 999) - assert settings_obj._settings['control_port_port'] == 999 + settings_obj.set("control_port_port", 999) + assert settings_obj._settings["control_port_port"] == 999 - settings_obj.set('control_port_port', 'NON_INTEGER') - assert settings_obj._settings['control_port_port'] == 9051 + settings_obj.set("control_port_port", "NON_INTEGER") + assert settings_obj._settings["control_port_port"] == 9051 def test_set_socks_port(self, settings_obj): - settings_obj.set('socks_port', 888) - assert settings_obj._settings['socks_port'] == 888 + settings_obj.set("socks_port", 888) + assert settings_obj._settings["socks_port"] == 888 - settings_obj.set('socks_port', 'NON_INTEGER') - assert settings_obj._settings['socks_port'] == 9050 + settings_obj.set("socks_port", "NON_INTEGER") + assert settings_obj._settings["socks_port"] == 9050 - def test_filename_darwin( - self, - monkeypatch, - os_path_expanduser, - platform_darwin): + def test_filename_darwin(self, monkeypatch, os_path_expanduser, platform_darwin): obj = settings.Settings(common.Common()) - assert (obj.filename == - '~/Library/Application Support/OnionShare/onionshare.json') - - def test_filename_linux( - self, - monkeypatch, - os_path_expanduser, - platform_linux): + assert ( + obj.filename == "~/Library/Application Support/OnionShare/onionshare.json" + ) + + def test_filename_linux(self, monkeypatch, os_path_expanduser, platform_linux): obj = settings.Settings(common.Common()) - assert obj.filename == '~/.config/onionshare/onionshare.json' + assert obj.filename == "~/.config/onionshare/onionshare.json" - def test_filename_windows( - self, - monkeypatch, - platform_windows): - monkeypatch.setenv('APPDATA', 'C:') + def test_filename_windows(self, monkeypatch, platform_windows): + monkeypatch.setenv("APPDATA", "C:") obj = settings.Settings(common.Common()) - assert obj.filename.replace('/', '\\') == 'C:\\OnionShare\\onionshare.json' + assert obj.filename.replace("/", "\\") == "C:\\OnionShare\\onionshare.json" def test_set_custom_bridge(self, settings_obj): - settings_obj.set('tor_bridges_use_custom_bridges', 'Bridge 45.3.20.65:9050 21300AD88890A49C429A6CB9959CFD44490A8F6E') - assert settings_obj._settings['tor_bridges_use_custom_bridges'] == 'Bridge 45.3.20.65:9050 21300AD88890A49C429A6CB9959CFD44490A8F6E' + settings_obj.set( + "tor_bridges_use_custom_bridges", + "Bridge 45.3.20.65:9050 21300AD88890A49C429A6CB9959CFD44490A8F6E", + ) + assert ( + settings_obj._settings["tor_bridges_use_custom_bridges"] + == "Bridge 45.3.20.65:9050 21300AD88890A49C429A6CB9959CFD44490A8F6E" + ) |