def test_token_chain_trigger_first(): token = CancelToken("token") token2 = CancelToken("token2") token3 = CancelToken("token3") chain = token.chain(token2).chain(token3) assert not chain.triggered token.trigger() assert chain.triggered assert chain.triggered_token == token
def test_token_chain_trigger_last(): token = CancelToken("token") token2 = CancelToken("token2") token3 = CancelToken("token3") intermediate_chain = token.chain(token2) chain = intermediate_chain.chain(token3) assert not chain.triggered token3.trigger() assert chain.triggered assert chain.triggered_token == token3 assert not intermediate_chain.triggered
async def test_cancellable_wait_operation_cancelled(event_loop): token = CancelToken("token") token.trigger() with pytest.raises(OperationCancelled): await token.cancellable_wait(asyncio.sleep(0.02)) await assert_only_current_task_not_done()
def test_token_single(): token = CancelToken("token") assert not token.triggered token.trigger() assert token.triggered assert token.triggered_token == token