Пример #1
0
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')
Пример #2
0
def test_signal_bind_as_decor():
    signal = signalslib.Signal('test')

    @signal.bind
    def foo():
        pass

    assert foo in signal.callbacks
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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, )
Пример #6
0
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')
Пример #7
0
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
Пример #8
0
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)
Пример #9
0
def test_signal_bind_nonstrict():
    m = mock.MagicMock()
    signal = signalslib.Signal('Test', foo=dict)
    signal.bind_nonstrict(m)
Пример #10
0
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

Пример #11
0
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"""