mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-07-16 11:00:54 +00:00
🐛 fix bug and improve test coverage
This commit is contained in:
@ -7,22 +7,30 @@ from utils import make_fake_event
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_matcher_mutex():
|
||||
from nonebot.plugins.single_session import matcher_mutex
|
||||
from nonebot.plugins.single_session import matcher_mutex, _running_matcher
|
||||
|
||||
am = asynccontextmanager(matcher_mutex)
|
||||
event = make_fake_event()()
|
||||
event_1 = make_fake_event()()
|
||||
event_2 = make_fake_event(_session_id="test1")()
|
||||
event_3 = make_fake_event(_session_id=None)()
|
||||
|
||||
async with am(event) as ctx:
|
||||
assert ctx == False
|
||||
assert not _running_matcher
|
||||
|
||||
async with am(event) as ctx:
|
||||
async with am(event_1) as ctx_1:
|
||||
assert ctx == False
|
||||
assert ctx_1 == True
|
||||
assert not _running_matcher
|
||||
|
||||
async with am(event) as ctx:
|
||||
async with am(event_2) as ctx_2:
|
||||
assert ctx == False
|
||||
assert ctx_2 == False
|
||||
assert not _running_matcher
|
||||
|
||||
async with am(event_3) as ctx_3:
|
||||
assert ctx_3 == False
|
||||
assert not _running_matcher
|
||||
|
Reference in New Issue
Block a user