def test_signal_emit_eager(): m = mock.MagicMock() signal = signalslib.Signal('Test', test=str) signal.bind_nonstrict(m) signal.emit_eager(test='test') m.assert_called_once_with(test='test')
def test_signal_bind_as_decor(): signal = signalslib.Signal('test') @signal.bind def foo(): pass assert foo in signal.callbacks
def test_signal_emit_unmatching_data_signature(data): def foo(baz: str, bar): pass signal = signalslib.Signal('test', baz=str) signal.bind(foo) with mock.patch('edp.signalslib.signal_manager') as signal_manager_mock: with pytest.raises(TypeError): signal.emit(**data)
def test_signal_emit(): def foo(): pass signal = signalslib.Signal('test') signal.bind(foo) with mock.patch('edp.signalslib.signal_manager') as signal_manager_mock: signal.emit() signal_manager_mock.emit.assert_called_once_with(signal)
def test_bind_signal_decorator(): signal = signalslib.Signal('test') @plugins.bind_signal(signal) def foo(): pass marks = plugins.get_function_marks(foo) assert len(marks) == 1 assert marks[0].name == plugins.MARKS.SIGNAL assert marks[0].options['signals'] == (signal, )
def test_signal_bind_func_no_args(signature, result): def foo(): pass signal = signalslib.Signal('test', **signature) try: signal.bind(foo) except TypeError: if result: raise AssertionError('Function was not binded') else: if not result: raise AssertionError('Function was binded')
def test_register_plugin_signals(): signal = signalslib.Signal('test') class Plugin1(plugins.BasePlugin): @plugins.bind_signal(signal) def method(self): pass plugin1 = Plugin1() plugin_manager = plugins.PluginManager([plugin1]) plugin_manager.register_plugin_signals() assert len(signal.callbacks) == 1
def test_signal_execution_e2e(): mock_func = mock.MagicMock() def test_func(foo: str, bar: int): mock_func(foo=foo, bar=bar) signal = signalslib.Signal('test', foo=str, bar=int) signal.bind(test_func) with signalslib.signal_manager.get_signal_executor_thread(): time.sleep(0.5) signal.emit(foo='test', bar=1) time.sleep(1) mock_func.assert_called_once_with(foo='test', bar=1)
def test_signal_bind_nonstrict(): m = mock.MagicMock() signal = signalslib.Signal('Test', foo=dict) signal.bind_nonstrict(m)
from edp.gui.compiled.overlay_window import Ui_Form from edp.gui.components.base import JournalEventHandlerMixin from edp.gui.components.overlay_widgets.base import BaseOverlayWidget from edp.gui.components.overlay_widgets.manager import get_registered_widgets from edp.gui.utils import clear_layout from edp.utils import winhotkeys, catcherr OPACITY_ALMOST_NONE = 0.08 OPACITY_HALF = 0.5 OPACITY_FULL = 1.0 logger = logging.getLogger(__name__) toggle_overlay_signal = signalslib.Signal('toggle overlay ui') hotkey_list = [ winhotkeys.HotkeyInfo(winhotkeys.signal_emit_action(toggle_overlay_signal), win32con.VK_TAB, win32con.MOD_CONTROL) ] class WindowRect(NamedTuple): """Container for window position and size information""" x: int y: int h: int w: int
from edp.gui.forms import main_window from edp.gui.forms.settings_window import VLayoutTab from edp.settings import BaseSettings from edp.utils import catcherr AUTH_URL = URL('https://auth.frontierstore.net') API_URL = URL('https://companion.orerve.net') base64url = lambda b: base64.urlsafe_b64encode(b).decode().replace('=', '') generate_verifier = lambda: base64url(os.urandom(35)) generate_challenge = lambda verifier: base64url(hashlib.sha256(verifier.encode()).digest()) generate_state = lambda: base64url(os.urandom(8)) logger = logging.getLogger(__name__) access_token_set_signal = signalslib.Signal('capi access token set', access_token=str) login_required_signal = signalslib.Signal('capi login required') refresh_required_signal = signalslib.Signal('capi token refresh required') market_info_signal = signalslib.Signal('capi market info signal', data=dict) profile_info_signal = signalslib.Signal('capi profile info signal', data=dict) shipyard_info_signal = signalslib.Signal('capi shipyard info signal', data=dict) class CapiException(Exception): """General CAPI exception that may be rised by routines in this module""" class LoginRequired(CapiException): """Raised when token refreshing is failed"""