Beispiel #1
0
async def test_signals():
    x, y = X(), Y()

    on_stopped_mock = Mock()
    on_started_mock = Mock()

    @y.on_stopped.connect
    async def my_on_stopped(self, value, **kwargs):
        on_stopped_mock(self, value)

    @y.on_started.connect
    async def my_on_started(self, value, **kwargs):
        on_started_mock(self, value)

    await y.on_started.send(value=1)
    on_started_mock.assert_called_once_with(y, 1)

    await y.on_stopped.send(value=2)
    on_stopped_mock.assert_called_once_with(y, 2)
    assert on_started_mock.call_count == 1
    await x.on_started.send(value=3)
    await x.on_stopped(value=4)

    assert x.on_started.ident
    assert label(x.on_started)
    assert repr(x.on_started)

    assert on_started_mock.call_count == 1
    assert on_stopped_mock.call_count == 1
Beispiel #2
0
 def test_label(self, *, table):
     assert label(table)
Beispiel #3
0
def test_label(app):
    assert label(new_stream(app))
Beispiel #4
0
 def test_label(self, *, app):
     assert label(app)
Beispiel #5
0
 def _topic_buffer_full_dict(self) -> MutableMapping[str, int]:
     return {
         label(topic): count
         for topic, count in self.topic_buffer_full.items()
     }
Beispiel #6
0
 def _events_by_task_dict(self) -> MutableMapping[str, int]:
     return {
         label(task): count
         for task, count in self.events_by_task.items()
     }
Beispiel #7
0
 def _events_by_stream_dict(self) -> MutableMapping[str, int]:
     return {
         label(stream): count
         for stream, count in self.events_by_stream.items()
     }
Beispiel #8
0
 def test_label(self, *, proxy):
     assert label(proxy) == 'Proxy'
Beispiel #9
0
 def test_label(self, *, store):
     assert label(store)
Beispiel #10
0
 def test_label(self, *, agent):
     assert label(agent)
Beispiel #11
0
 def test_label(self, *, service):
     assert label(service)
Beispiel #12
0
 def test_label(self, *, con):
     assert label(con)
Beispiel #13
0
 def test_label(self, *, s):
     assert label(s)
Beispiel #14
0
def test_label(*, channel):
    assert label(channel)
Beispiel #15
0
def test_sync_signals():
    x = SyncX()
    x2 = SyncX()

    on_stopped_mock = Mock()
    on_started_mock = Mock()

    @x.on_stopped.connect
    def my_on_stopped(self, code: int, reason: str, **kwargs: Any) -> None:
        assert kwargs['signal'] == x.on_stopped
        on_stopped_mock(self, code, reason)

    @x.on_started.connect
    def my_on_started(self, **kwargs: Any) -> None:
        assert kwargs['signal'] == x.on_started
        on_started_mock(self)

    x.on_started.send()
    on_started_mock.assert_called_once_with(x)

    x.on_stopped.send(303, 'sorry not sorry')
    on_stopped_mock.assert_called_once_with(x, 303, 'sorry not sorry')
    assert on_started_mock.call_count == 1

    assert x.on_started.ident
    assert label(x.on_started)
    assert label(X.on_started)
    assert repr(x.on_started)
    assert repr(X.on_started)

    prev, x.on_started.owner = x.on_started.owner, None
    assert label(x.on_started)
    x.on_started.owner = prev

    x.on_started()
    assert on_started_mock.call_count == 2

    x2.on_started.send()
    x2.on_started.send()

    assert on_started_mock.call_count == 2

    new_sender = Mock()
    sig2 = x2.on_started.clone(default_sender=new_sender)
    assert sig2.default_sender == new_sender

    sig3 = sig2.with_default_sender(None)
    assert sig3.default_sender == sig2.default_sender

    new_sender2 = Mock()
    sig4 = sig3.with_default_sender(new_sender2)
    assert sig4.default_sender == new_sender2

    sig4.name = ''
    sig4.__set_name__(sig3, 'foo')
    assert sig4.name == 'foo'
    assert sig4.owner == sig3
    sig4.__set_name__(sig2, 'bar')
    assert sig4.name == 'foo'
    assert sig4.owner == sig2

    sig4.default_sender = None
    with pytest.raises(TypeError):
        sig4.unpack_sender_from_args()
    assert sig4.unpack_sender_from_args(1) == (1, ())
    assert sig4.unpack_sender_from_args(1, 2) == (1, [2])

    partial_yes = sig4.connect(None)
    mockfun = Mock()
    partial_yes(mockfun)
    sig4.disconnect(mockfun)

    sig2.connect(mockfun, weak=True)
    sig2.disconnect(mockfun, weak=True)
Beispiel #16
0
 def test_label(self, *, reader):
     assert label(reader)