onionshare/tests/SettingsGuiBaseTest.py
2018-10-16 15:53:35 +11:00

50 lines
1.4 KiB
Python

import json
import os
import sys
from PyQt5 import QtWidgets
from onionshare import strings
from onionshare.common import Common
from onionshare.settings import Settings
from onionshare.onion import Onion
from onionshare.web import Web
from onionshare_gui import Application, OnionShare
from onionshare_gui.settings_dialog import SettingsDialog
class SettingsGuiBaseTest(object):
@staticmethod
def set_up(test_settings, settings_filename):
'''Create the GUI'''
# Create our test file
testfile = open('/tmp/test.txt', 'w')
testfile.write('onionshare')
testfile.close()
common = Common()
common.settings = Settings(common)
common.define_css()
strings.load_strings(common)
# Start the Onion
testonion = Onion(common)
global qtapp
qtapp = Application(common)
app = OnionShare(common, testonion, True, 0)
web = Web(common, False, True)
for key, val in common.settings.default_settings.items():
if key not in test_settings:
test_settings[key] = val
open('/tmp/{}.json'.format(settings_filename), 'w').write(json.dumps(test_settings))
gui = SettingsDialog(common, testonion, qtapp, '/tmp/{}.json'.format(settings_filename), True)
return gui
@staticmethod
def tear_down():
'''Clean up after tests'''
os.remove('/tmp/settings.json')