def function2296(function1121): var2457 = Signal(function1121) var2367 = mock.Mock() var2457.append(var2367) var2457.freeze() with pytest.raises(RuntimeError): del var2457[0] assert (list(var2457) == [var2367])
def test_cannot_delitem_in_frozen_signal(app): signal = Signal(app) m1 = mock.Mock() signal.append(m1) signal.freeze() with pytest.raises(RuntimeError): del signal[0] assert list(signal) == [m1]
def function2559(function1121): var98 = Signal(function1121) var2142 = mock.Mock() var516 = mock.Mock() var98.append(var2142) var98.freeze() with pytest.raises(RuntimeError): var98[0] = var516 assert (list(var98) == [var2142])
def function2183(function1121): var4737 = Signal(function1121) var805 = mock.Mock() var3494 = mock.Mock() var4737.append(var805) var4737.freeze() with pytest.raises(RuntimeError): var4737.append(var3494) assert (list(var4737) == [var805])
def test_cannot_append_to_frozen_signal(app): signal = Signal(app) m1 = mock.Mock() m2 = mock.Mock() signal.append(m1) signal.freeze() with pytest.raises(RuntimeError): signal.append(m2) assert list(signal) == [m1]
def test_cannot_setitem_in_frozen_signal(app: Any) -> None: signal = Signal(app) m1 = mock.Mock() m2 = mock.Mock() signal.append(m1) signal.freeze() with pytest.raises(RuntimeError): signal[0] = m2 assert list(signal) == [m1]
def test_cannot_setitem_in_frozen_signal(app) -> None: signal = Signal(app) m1 = mock.Mock() m2 = mock.Mock() signal.append(m1) signal.freeze() with pytest.raises(RuntimeError): signal[0] = m2 assert list(signal) == [m1]
async def test_non_coroutine(app): signal = Signal(app) kwargs = {'foo': 1, 'bar': 2} callback = mock.Mock() signal.append(callback) signal.freeze() with pytest.raises(TypeError): await signal.send(**kwargs)
async def test_non_coroutine(app: Any) -> None: signal = Signal(app) kwargs = {"foo": 1, "bar": 2} callback = mock.Mock() signal.append(callback) signal.freeze() with pytest.raises(TypeError): await signal.send(**kwargs)
async def test_non_coroutine(app) -> None: signal = Signal(app) kwargs = {'foo': 1, 'bar': 2} callback = mock.Mock() signal.append(callback) signal.freeze() with pytest.raises(TypeError): await signal.send(**kwargs)
async def test_function_signal_dispatch(app): signal = Signal(app) kwargs = {'foo': 1, 'bar': 2} callback_mock = mock.Mock() async def callback(**kwargs): callback_mock(**kwargs) signal.append(callback) signal.freeze() await signal.send(**kwargs) callback_mock.assert_called_once_with(**kwargs)
async def test_function_signal_dispatch(app: Any) -> None: signal = Signal(app) kwargs = {"foo": 1, "bar": 2} callback_mock = mock.Mock() async def callback(**kwargs): callback_mock(**kwargs) signal.append(callback) signal.freeze() await signal.send(**kwargs) callback_mock.assert_called_once_with(**kwargs)
async def test_function_signal_dispatch(app) -> None: signal = Signal(app) kwargs = {'foo': 1, 'bar': 2} callback_mock = mock.Mock() async def callback(**kwargs): callback_mock(**kwargs) signal.append(callback) signal.freeze() await signal.send(**kwargs) callback_mock.assert_called_once_with(**kwargs)
class BaseApplication(collections.MutableMapping): def __init__(self): self._state = {} self._frozen = False self._on_startup = Signal(self) self._on_shutdown = Signal(self) self._on_cleanup = Signal(self) @property def frozen(self): return self._frozen def freeze(self): if self._frozen: return self._frozen = True self._on_startup.freeze() self._on_shutdown.freeze() self._on_cleanup.freeze() @property def on_startup(self): return self._on_startup @property def on_shutdown(self): return self._on_shutdown @property def on_cleanup(self): return self._on_cleanup async def startup(self): """Causes on_startup signal Should be called in the event loop along with the request handler. """ await self.on_startup.send(self) async def shutdown(self): """Causes on_shutdown signal Should be called before cleanup() """ await self.on_shutdown.send(self) async def cleanup(self): """Causes on_cleanup signal Should be called after shutdown() """ await self.on_cleanup.send(self) # MutableMapping API def __eq__(self, other): return self is other def __getitem__(self, key): return self._state[key] def _check_frozen(self): if self._frozen: warnings.warn( "Changing state of started or joined " "application is deprecated", DeprecationWarning, stacklevel=3) def __setitem__(self, key, value): self._check_frozen() self._state[key] = value def __delitem__(self, key): self._check_frozen() del self._state[key] def __len__(self): return len(self._state) def __iter__(self): return iter(self._state) ###################### def __repr__(self): return "<Application 0x{:x}>".format(id(self))