async def test_change_state(): fsm1 = await fsm.create_controller(dict(), 'foo', 1, Start, fsm.NullTracer, fsm.NullTracer) await fsm1.inboxes['default'].put(Input1()) await fsm1.inboxes['default'].put(Input2()) await fsm1.inboxes['default'].put(messages.Shutdown()) await fsm1.receive_messages() assert fsm1.state is A
async def test_channels_with_queue(): fsm1 = await fsm.create_controller(dict(), 'foo', 1, Start, fsm.NullTracer, fsm.NullTracer) fsm2 = await fsm.create_controller(dict(), 'foo', 2, Start, fsm.NullTracer, fsm.NullTracer) fsm1.outboxes['default'] = fsm.Channel(fsm1, fsm2, fsm.NullTracer, Queue()) await fsm1.inboxes['default'].put(Input3()) await fsm1.inboxes['default'].put(messages.Shutdown()) await fsm1.receive_messages() assert fsm1.state is Start
async def test_change_state_instrumented(): settings.instrumented = True try: fsm1 = await fsm.create_controller(dict(), 'foo', 1, Start, fsm.NullTracer, fsm.NullTracer) await fsm1.inboxes['default'].put(Input1()) await fsm1.inboxes['default'].put(Input2()) await fsm1.inboxes['default'].put(messages.Shutdown()) await fsm1.receive_messages() assert fsm1.state is A finally: settings.instrumented = False
async def test_channels_instrumented(): settings.instrumented = True try: fsm1 = await fsm.create_controller(dict(), 'foo', 1, Start, fsm.NullTracer, fsm.NullTracer) fsm2 = await fsm.create_controller(dict(), 'foo', 2, Start, fsm.NullTracer, fsm.NullTracer) fsm1.outboxes['default'] = fsm.Channel(fsm1, fsm2, fsm.NullTracer) await fsm1.inboxes['default'].put(Input3()) await fsm1.inboxes['default'].put(messages.Shutdown()) await fsm1.receive_messages() assert fsm1.state is Start finally: settings.instrumented = False