Files
kefu/deploy/my-customers-20260918/frozen-customer-notifications-missing-helper.json
T
2026-09-21 10:34:06 +08:00

1267 lines
82 KiB
JSON

{
"ok": false,
"expected_tests": 52,
"python": "3.12.14 (main, Aug 25 2026, 14:01:42) [MSC v.1944 64 bit (AMD64)]",
"executable": "C:\\wechat_rpa\\.build-venv\\Scripts\\python.exe",
"project": "C:\\wechat_rpa",
"exe": "C:\\wechat_rpa\\dist\\ZhenAI-WeCom-Assistant-v1.4.26\\ZhenAI-WeCom-Assistant-v1.4.26.exe",
"blocked_external_actions": [],
"tests_run": 52,
"passed": 7,
"failures": 45,
"skipped": 0,
"plugin_autoload_disabled": true,
"test_files": [
{
"path": "C:\\wechat_rpa\\tests\\test_review_assistant.py",
"sha256": "a61b1925f02f19bc96268a7ac7a6d2926ecc45123cd439fa516ea1cf4c874bb2"
},
{
"path": "C:\\wechat_rpa\\tests\\test_review_customer_notifications.py",
"sha256": "89f4298ded0ace59ce5e1cd36d48537470c49fe4e5ea34005b01314d5d36be06"
}
],
"exe_sha256": "f826524800d2cb923e9c68017ed2b01ee54f6767e054971807af27665046a427",
"qt_dependencies": {
"PySide6": "C:\\wechat_rpa\\.build-venv\\Lib\\site-packages\\PySide6\\__init__.py",
"PySide6.QtCore": "C:\\wechat_rpa\\.build-venv\\Lib\\site-packages\\PySide6\\QtCore.pyd",
"shiboken6": "C:\\wechat_rpa\\.build-venv\\Lib\\site-packages\\shiboken6\\__init__.py"
},
"pytest_dependencies": {
"pytest": {
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pytest\\__init__.py",
"version": "8.4.2",
"from_311_fallback": true
},
"pluggy": {
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pluggy\\__init__.py",
"version": "1.6.0",
"from_311_fallback": true
},
"iniconfig": {
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\iniconfig\\__init__.py",
"version": "",
"from_311_fallback": true
},
"packaging": {
"path": "C:\\wechat_rpa\\.build-venv\\Lib\\site-packages\\packaging\\__init__.py",
"version": "26.3",
"from_311_fallback": false
},
"pygments": {
"path": "C:\\wechat_rpa\\.build-venv\\Lib\\site-packages\\pygments\\__init__.py",
"version": "2.21.0",
"from_311_fallback": false
},
"colorama": {
"path": "C:\\wechat_rpa\\.build-venv\\Lib\\site-packages\\colorama\\__init__.py",
"version": "0.4.6",
"from_311_fallback": false
}
},
"pytest_compatibility_shim": {
"distribution": "pytest",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\py.py"
},
"frozen_modules": {
"review_assistant_contacts": {
"origin": "C:\\wechat_rpa\\dist\\ZhenAI-WeCom-Assistant-v1.4.26\\ZhenAI-WeCom-Assistant-v1.4.26.exe!PYZ.pyz/review_assistant_contacts",
"code_sha256": "ba353fbedaf3e41f8f6078e60925fc246e44754f4b447433560698d33e5a494f"
},
"review_assistant": {
"origin": "C:\\wechat_rpa\\dist\\ZhenAI-WeCom-Assistant-v1.4.26\\ZhenAI-WeCom-Assistant-v1.4.26.exe!PYZ.pyz/review_assistant",
"code_sha256": "124b329b2161917d33424d8459aaa76180f1f835c68d84a00a45e21a5a8bc80f"
}
},
"isolated_state": "C:\\Users\\isard\\AppData\\Local\\Temp\\frozen-customer-notify-xkzhai2q",
"pytest_args": [
"-q",
"--strict-markers",
"-p",
"no:cacheprovider",
"--noconftest",
"--import-mode=importlib",
"--rootdir=C:\\Users\\isard\\AppData\\Local\\Temp\\frozen-customer-notify-xkzhai2q",
"-c",
"C:\\Users\\isard\\AppData\\Local\\Temp\\frozen-customer-notify-xkzhai2q\\pytest.ini",
"--basetemp=C:\\Users\\isard\\AppData\\Local\\Temp\\frozen-customer-notify-xkzhai2q\\pytest-tmp",
"--log-file=C:\\Users\\isard\\AppData\\Local\\Temp\\frozen-customer-notify-xkzhai2q\\pytest.log",
"C:\\wechat_rpa\\tests\\test_review_assistant.py",
"C:\\wechat_rpa\\tests\\test_review_customer_notifications.py"
],
"pytest_exit_code": 1,
"collection_errors": [],
"test_results": [
{
"test": "::test_disabled_is_lazy_and_uses_supplied_root",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_disabled_is_lazy_and_uses_supplied_root",
"phase": "call",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_disabled_is_lazy_and_uses_supplied_root",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_deduplicate_episode_and_restart",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_deduplicate_episode_and_r0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_deduplicate_episode_and_restart",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_human_completion_is_idempotent_and_new_risk_is_new_episode",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_human_completion_is_idemp0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_human_completion_is_idempotent_and_new_risk_is_new_episode",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes0]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes0]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes1]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o1')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes1]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes2]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o2')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes2]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes3]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o3')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes3]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes4]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o4')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes4]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes5]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o5')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes5]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes6]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o6')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes6]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes7]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o7')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes7]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes8]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o8')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes8]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes9]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o9')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes9]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes10]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o10')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes10]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes11]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o11')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes11]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes12]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o12')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes12]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes13]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_untrusted_or_historical_o13')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_untrusted_or_historical_outbound_does_not_complete[changes13]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_delivery_protection_survives_human_reply[sending]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_delivery_protection_survi0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_delivery_protection_survives_human_reply[sending]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_delivery_protection_survives_human_reply[unknown]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_delivery_protection_survi1')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_delivery_protection_survives_human_reply[unknown]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_delivery_protection_survives_human_reply[uncertain]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_delivery_protection_survi2')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_delivery_protection_survives_human_reply[uncertain]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_delivery_protection_survives_human_reply[failed]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_delivery_protection_survi3')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_delivery_protection_survives_human_reply[failed]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_delivery_protection_survives_human_reply[sent_uncommitted]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_delivery_protection_survi4')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_delivery_protection_survives_human_reply[sent_uncommitted]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_bot_receipt_and_attempt_are_not_human",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_bot_receipt_and_attempt_a0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_bot_receipt_and_attempt_are_not_human",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unknown_native_send_fingerprint_cannot_release",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_unknown_native_send_finge0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_unknown_native_send_fingerprint_cannot_release",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_local_approve_cancels_reminder_without_granting_resume",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_local_approve_cancels_rem0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_local_approve_cancels_reminder_without_granting_resume",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_recipient_excluded_and_account_config_isolated",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_recipient_excluded_and_ac0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_recipient_excluded_and_account_config_isolated",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_notification_has_detail_and_utf8_limit",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_notification_has_detail_a0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_notification_has_detail_and_utf8_limit",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_notification_success_and_worker_owned_resources",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_notification_success_and_0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_notification_success_and_worker_owned_resources",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_notification_outcomes_never_release_customer[DeliveryUnknown-unknown]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_notification_outcomes_nev0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_notification_outcomes_never_release_customer[DeliveryUnknown-unknown]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_notification_outcomes_never_release_customer[DeliveryFailed-unknown]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_notification_outcomes_nev1')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_notification_outcomes_never_release_customer[DeliveryFailed-unknown]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_notification_outcomes_never_release_customer[NativeUnavailable-retry]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_notification_outcomes_nev2')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_notification_outcomes_never_release_customer[NativeUnavailable-retry]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_notification_outcomes_never_release_customer[SendCancelled-retry]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_notification_outcomes_nev3')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_notification_outcomes_never_release_customer[SendCancelled-retry]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_recipient_or_account_change_never_sends[False-1688856770803435]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_recipient_or_account_chan0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_recipient_or_account_change_never_sends[False-1688856770803435]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_recipient_or_account_change_never_sends[True-999]",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_recipient_or_account_chan1')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_recipient_or_account_change_never_sends[True-999]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_completed_or_changed_recipient_cancels_queued_notification",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_completed_or_changed_reci0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_completed_or_changed_recipient_cancels_queued_notification",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_cancel_while_disabled_closes_episode_without_resuming",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_cancel_while_disabled_clo0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_cancel_while_disabled_closes_episode_without_resuming",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_old_cancel_tombstone_does_not_clear_new_resume",
"phase": "setup",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_old_cancel_tombstone_does0')\n\n @pytest.fixture\n def setup(tmp_path):\n settings = {'review_assistant_accounts': {ACCOUNT: {'enabled': True, 'recipient_conv_id': RECIPIENT}}}\n service = ReviewAssistantCoordinator(tmp_path, lambda: settings, ACCOUNT)\n state = dict(account=ACCOUNT, conv_id=CONV, display_name='测试客户', awaiting_review=True,\n stage='awaiting_review', send_state='', review_reason='新风控', reply_text='未发送的草稿')\n incoming = msg()\n state['assistant_review_id'] = service.ensure_review(state, context(incoming))\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_assistant.py:39: AssertionError"
},
{
"test": "::test_old_cancel_tombstone_does_not_clear_new_resume",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_customer_recipient_m_and_both_s_orders_send_reminder[M:7881302444555666]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_customer_recipient_m_and_both_s_orders_send_reminder[M:7881302444555666]",
"phase": "call",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_customer_recipient_m_and_0')\nmonkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x00000162701880E0>\nrecipient = 'M:7881302444555666'\n\n @pytest.mark.parametrize('recipient', RECIPIENTS)\n def test_customer_recipient_m_and_both_s_orders_send_reminder(tmp_path, monkeypatch, recipient):\n service, _ = make_service(tmp_path, recipient)\n> add_episode(service)\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:87: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\nservice = <review_assistant.ReviewAssistantCoordinator object at 0x00000162701892B0>\n\n def add_episode(service):\n state = {'account': ACCOUNT, 'conv_id': CUSTOMER, 'display_name': '合成客户',\n 'awaiting_review': True, 'stage': 'awaiting_review', 'send_state': '',\n 'review_reason': '合成审核原因', 'reply_text': '未发送的合成草稿'}\n state['assistant_review_id'] = service.ensure_review(state, make_context())\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:47: AssertionError"
},
{
"test": "::test_customer_recipient_m_and_both_s_orders_send_reminder[M:7881302444555666]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_customer_recipient_m_and_both_s_orders_send_reminder[S:1688856770803435_7881302444555666]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_customer_recipient_m_and_both_s_orders_send_reminder[S:1688856770803435_7881302444555666]",
"phase": "call",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_customer_recipient_m_and_1')\nmonkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x0000016271719790>\nrecipient = 'S:1688856770803435_7881302444555666'\n\n @pytest.mark.parametrize('recipient', RECIPIENTS)\n def test_customer_recipient_m_and_both_s_orders_send_reminder(tmp_path, monkeypatch, recipient):\n service, _ = make_service(tmp_path, recipient)\n> add_episode(service)\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:87: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\nservice = <review_assistant.ReviewAssistantCoordinator object at 0x0000016271719610>\n\n def add_episode(service):\n state = {'account': ACCOUNT, 'conv_id': CUSTOMER, 'display_name': '合成客户',\n 'awaiting_review': True, 'stage': 'awaiting_review', 'send_state': '',\n 'review_reason': '合成审核原因', 'reply_text': '未发送的合成草稿'}\n state['assistant_review_id'] = service.ensure_review(state, make_context())\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:47: AssertionError"
},
{
"test": "::test_customer_recipient_m_and_both_s_orders_send_reminder[S:1688856770803435_7881302444555666]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_customer_recipient_m_and_both_s_orders_send_reminder[S:7881302444555666_1688856770803435]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_customer_recipient_m_and_both_s_orders_send_reminder[S:7881302444555666_1688856770803435]",
"phase": "call",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_customer_recipient_m_and_2')\nmonkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x0000016271718590>\nrecipient = 'S:7881302444555666_1688856770803435'\n\n @pytest.mark.parametrize('recipient', RECIPIENTS)\n def test_customer_recipient_m_and_both_s_orders_send_reminder(tmp_path, monkeypatch, recipient):\n service, _ = make_service(tmp_path, recipient)\n> add_episode(service)\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:87: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\nservice = <review_assistant.ReviewAssistantCoordinator object at 0x0000016271719DF0>\n\n def add_episode(service):\n state = {'account': ACCOUNT, 'conv_id': CUSTOMER, 'display_name': '合成客户',\n 'awaiting_review': True, 'stage': 'awaiting_review', 'send_state': '',\n 'review_reason': '合成审核原因', 'reply_text': '未发送的合成草稿'}\n state['assistant_review_id'] = service.ensure_review(state, make_context())\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:47: AssertionError"
},
{
"test": "::test_customer_recipient_m_and_both_s_orders_send_reminder[S:7881302444555666_1688856770803435]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_assistant_s_incoming_does_not_create_or_approve_customer_review[S:1688856770803435_7881302444555666]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_assistant_s_incoming_does_not_create_or_approve_customer_review[S:1688856770803435_7881302444555666]",
"phase": "call",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_assistant_s_incoming_does0')\nrecipient = 'S:1688856770803435_7881302444555666'\n\n @pytest.mark.parametrize('recipient', RECIPIENTS[1:])\n def test_assistant_s_incoming_does_not_create_or_approve_customer_review(tmp_path, recipient):\n service, _ = make_service(tmp_path, recipient)\n> state = add_episode(service)\n ^^^^^^^^^^^^^^^^^^^^\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:105: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\nservice = <review_assistant.ReviewAssistantCoordinator object at 0x0000016271719EE0>\n\n def add_episode(service):\n state = {'account': ACCOUNT, 'conv_id': CUSTOMER, 'display_name': '合成客户',\n 'awaiting_review': True, 'stage': 'awaiting_review', 'send_state': '',\n 'review_reason': '合成审核原因', 'reply_text': '未发送的合成草稿'}\n state['assistant_review_id'] = service.ensure_review(state, make_context())\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:47: AssertionError"
},
{
"test": "::test_assistant_s_incoming_does_not_create_or_approve_customer_review[S:1688856770803435_7881302444555666]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_assistant_s_incoming_does_not_create_or_approve_customer_review[S:7881302444555666_1688856770803435]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_assistant_s_incoming_does_not_create_or_approve_customer_review[S:7881302444555666_1688856770803435]",
"phase": "call",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_assistant_s_incoming_does1')\nrecipient = 'S:7881302444555666_1688856770803435'\n\n @pytest.mark.parametrize('recipient', RECIPIENTS[1:])\n def test_assistant_s_incoming_does_not_create_or_approve_customer_review(tmp_path, recipient):\n service, _ = make_service(tmp_path, recipient)\n> state = add_episode(service)\n ^^^^^^^^^^^^^^^^^^^^\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:105: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\nservice = <review_assistant.ReviewAssistantCoordinator object at 0x0000016271857E90>\n\n def add_episode(service):\n state = {'account': ACCOUNT, 'conv_id': CUSTOMER, 'display_name': '合成客户',\n 'awaiting_review': True, 'stage': 'awaiting_review', 'send_state': '',\n 'review_reason': '合成审核原因', 'reply_text': '未发送的合成草稿'}\n state['assistant_review_id'] = service.ensure_review(state, make_context())\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:47: AssertionError"
},
{
"test": "::test_assistant_s_incoming_does_not_create_or_approve_customer_review[S:7881302444555666_1688856770803435]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[S:111_7881302444555666]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[S:111_7881302444555666]",
"phase": "call",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[S:111_7881302444555666]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[S:1688856770803435_1688856770803435]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[S:1688856770803435_1688856770803435]",
"phase": "call",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[S:1688856770803435_1688856770803435]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[R:1688856770803435_7881302444555666]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[R:1688856770803435_7881302444555666]",
"phase": "call",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[R:1688856770803435_7881302444555666]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[customer:7881302444555666]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[customer:7881302444555666]",
"phase": "call",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[customer:7881302444555666]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[S:bad_1688856770803435]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[S:bad_1688856770803435]",
"phase": "call",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[S:bad_1688856770803435]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[M:1688856770803435]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[M:1688856770803435]",
"phase": "call",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unbound_group_placeholder_or_self_recipient_disabled[M:1688856770803435]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_relationship_revoked_or_unreadable_at_final_native_guard_blocks_send[last_check0]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_relationship_revoked_or_unreadable_at_final_native_guard_blocks_send[last_check0]",
"phase": "call",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_relationship_revoked_or_u0')\nmonkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x0000016271854CB0>\nlast_check = {'ok': False, 'reason': '客户关系已解除'}\n\n @pytest.mark.parametrize('last_check', [{'ok': False, 'reason': '客户关系已解除'},\n RuntimeError('合成关系读取失败')])\n def test_relationship_revoked_or_unreadable_at_final_native_guard_blocks_send(tmp_path, monkeypatch, last_check):\n service, _ = make_service(tmp_path, RECIPIENTS[1])\n> add_episode(service)\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:132: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\nservice = <review_assistant.ReviewAssistantCoordinator object at 0x0000016271856690>\n\n def add_episode(service):\n state = {'account': ACCOUNT, 'conv_id': CUSTOMER, 'display_name': '合成客户',\n 'awaiting_review': True, 'stage': 'awaiting_review', 'send_state': '',\n 'review_reason': '合成审核原因', 'reply_text': '未发送的合成草稿'}\n state['assistant_review_id'] = service.ensure_review(state, make_context())\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:47: AssertionError"
},
{
"test": "::test_relationship_revoked_or_unreadable_at_final_native_guard_blocks_send[last_check0]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_relationship_revoked_or_unreadable_at_final_native_guard_blocks_send[last_check1]",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_relationship_revoked_or_unreadable_at_final_native_guard_blocks_send[last_check1]",
"phase": "call",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_relationship_revoked_or_u1')\nmonkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x0000016271855D90>\nlast_check = RuntimeError('合成关系读取失败')\n\n @pytest.mark.parametrize('last_check', [{'ok': False, 'reason': '客户关系已解除'},\n RuntimeError('合成关系读取失败')])\n def test_relationship_revoked_or_unreadable_at_final_native_guard_blocks_send(tmp_path, monkeypatch, last_check):\n service, _ = make_service(tmp_path, RECIPIENTS[1])\n> add_episode(service)\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:132: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\nservice = <review_assistant.ReviewAssistantCoordinator object at 0x0000016271855730>\n\n def add_episode(service):\n state = {'account': ACCOUNT, 'conv_id': CUSTOMER, 'display_name': '合成客户',\n 'awaiting_review': True, 'stage': 'awaiting_review', 'send_state': '',\n 'review_reason': '合成审核原因', 'reply_text': '未发送的合成草稿'}\n state['assistant_review_id'] = service.ensure_review(state, make_context())\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:47: AssertionError"
},
{
"test": "::test_relationship_revoked_or_unreadable_at_final_native_guard_blocks_send[last_check1]",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_recipient_changed_during_fresh_relationship_check_blocks_send",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_recipient_changed_during_fresh_relationship_check_blocks_send",
"phase": "call",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_recipient_changed_during_0')\nmonkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x00000162717194F0>\n\n def test_recipient_changed_during_fresh_relationship_check_blocks_send(tmp_path, monkeypatch):\n service, settings = make_service(tmp_path, RECIPIENTS[1])\n> add_episode(service)\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:143: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\nservice = <review_assistant.ReviewAssistantCoordinator object at 0x0000016271718B00>\n\n def add_episode(service):\n state = {'account': ACCOUNT, 'conv_id': CUSTOMER, 'display_name': '合成客户',\n 'awaiting_review': True, 'stage': 'awaiting_review', 'send_state': '',\n 'review_reason': '合成审核原因', 'reply_text': '未发送的合成草稿'}\n state['assistant_review_id'] = service.ensure_review(state, make_context())\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:47: AssertionError"
},
{
"test": "::test_recipient_changed_during_fresh_relationship_check_blocks_send",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unknown_notification_survives_restart_without_retry",
"phase": "setup",
"outcome": "passed",
"xfail": "",
"detail": ""
},
{
"test": "::test_unknown_notification_survives_restart_without_retry",
"phase": "call",
"outcome": "failed",
"xfail": "",
"detail": "tmp_path = WindowsPath('C:/Users/isard/AppData/Local/Temp/frozen-customer-notify-xkzhai2q/pytest-tmp/test_unknown_notification_surv0')\nmonkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x0000016271719D90>\n\n def test_unknown_notification_survives_restart_without_retry(tmp_path, monkeypatch):\n service, settings = make_service(tmp_path, RECIPIENTS[1])\n> add_episode(service)\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:163: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\nservice = <review_assistant.ReviewAssistantCoordinator object at 0x000001627171AC90>\n\n def add_episode(service):\n state = {'account': ACCOUNT, 'conv_id': CUSTOMER, 'display_name': '合成客户',\n 'awaiting_review': True, 'stage': 'awaiting_review', 'send_state': '',\n 'review_reason': '合成审核原因', 'reply_text': '未发送的合成草稿'}\n state['assistant_review_id'] = service.ensure_review(state, make_context())\n> assert state['assistant_review_id']\nE AssertionError: assert ''\n\nC:\\wechat_rpa\\tests\\test_review_customer_notifications.py:47: AssertionError"
},
{
"test": "::test_unknown_notification_survives_restart_without_retry",
"phase": "teardown",
"outcome": "passed",
"xfail": "",
"detail": ""
}
],
"fallback_modules": [
{
"module": "_pytest",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\__init__.py"
},
{
"module": "_pytest._argcomplete",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_argcomplete.py"
},
{
"module": "_pytest._code",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_code\\__init__.py"
},
{
"module": "_pytest._code.code",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_code\\code.py"
},
{
"module": "_pytest._code.source",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_code\\source.py"
},
{
"module": "_pytest._io",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_io\\__init__.py"
},
{
"module": "_pytest._io.pprint",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_io\\pprint.py"
},
{
"module": "_pytest._io.saferepr",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_io\\saferepr.py"
},
{
"module": "_pytest._io.terminalwriter",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_io\\terminalwriter.py"
},
{
"module": "_pytest._io.wcwidth",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_io\\wcwidth.py"
},
{
"module": "_pytest._py",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_py\\__init__.py"
},
{
"module": "_pytest._py.error",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_py\\error.py"
},
{
"module": "_pytest._py.path",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_py\\path.py"
},
{
"module": "_pytest._version",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_version.py"
},
{
"module": "_pytest.assertion",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\assertion\\__init__.py"
},
{
"module": "_pytest.assertion.rewrite",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\assertion\\rewrite.py"
},
{
"module": "_pytest.assertion.truncate",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\assertion\\truncate.py"
},
{
"module": "_pytest.assertion.util",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\assertion\\util.py"
},
{
"module": "_pytest.cacheprovider",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\cacheprovider.py"
},
{
"module": "_pytest.capture",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\capture.py"
},
{
"module": "_pytest.compat",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\compat.py"
},
{
"module": "_pytest.config",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\config\\__init__.py"
},
{
"module": "_pytest.config.argparsing",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\config\\argparsing.py"
},
{
"module": "_pytest.config.compat",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\config\\compat.py"
},
{
"module": "_pytest.config.exceptions",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\config\\exceptions.py"
},
{
"module": "_pytest.config.findpaths",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\config\\findpaths.py"
},
{
"module": "_pytest.debugging",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\debugging.py"
},
{
"module": "_pytest.deprecated",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\deprecated.py"
},
{
"module": "_pytest.doctest",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\doctest.py"
},
{
"module": "_pytest.faulthandler",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\faulthandler.py"
},
{
"module": "_pytest.fixtures",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\fixtures.py"
},
{
"module": "_pytest.freeze_support",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\freeze_support.py"
},
{
"module": "_pytest.helpconfig",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\helpconfig.py"
},
{
"module": "_pytest.hookspec",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\hookspec.py"
},
{
"module": "_pytest.junitxml",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\junitxml.py"
},
{
"module": "_pytest.legacypath",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\legacypath.py"
},
{
"module": "_pytest.logging",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\logging.py"
},
{
"module": "_pytest.main",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\main.py"
},
{
"module": "_pytest.mark",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\mark\\__init__.py"
},
{
"module": "_pytest.mark.expression",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\mark\\expression.py"
},
{
"module": "_pytest.mark.structures",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\mark\\structures.py"
},
{
"module": "_pytest.monkeypatch",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\monkeypatch.py"
},
{
"module": "_pytest.nodes",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\nodes.py"
},
{
"module": "_pytest.outcomes",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\outcomes.py"
},
{
"module": "_pytest.pastebin",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\pastebin.py"
},
{
"module": "_pytest.pathlib",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\pathlib.py"
},
{
"module": "_pytest.pytester",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\pytester.py"
},
{
"module": "_pytest.python",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\python.py"
},
{
"module": "_pytest.python_api",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\python_api.py"
},
{
"module": "_pytest.raises",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\raises.py"
},
{
"module": "_pytest.recwarn",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\recwarn.py"
},
{
"module": "_pytest.reports",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\reports.py"
},
{
"module": "_pytest.runner",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\runner.py"
},
{
"module": "_pytest.scope",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\scope.py"
},
{
"module": "_pytest.setuponly",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\setuponly.py"
},
{
"module": "_pytest.setupplan",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\setupplan.py"
},
{
"module": "_pytest.skipping",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\skipping.py"
},
{
"module": "_pytest.stash",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\stash.py"
},
{
"module": "_pytest.terminal",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\terminal.py"
},
{
"module": "_pytest.threadexception",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\threadexception.py"
},
{
"module": "_pytest.timing",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\timing.py"
},
{
"module": "_pytest.tmpdir",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\tmpdir.py"
},
{
"module": "_pytest.tracemalloc",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\tracemalloc.py"
},
{
"module": "_pytest.unittest",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\unittest.py"
},
{
"module": "_pytest.unraisableexception",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\unraisableexception.py"
},
{
"module": "_pytest.warning_types",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\warning_types.py"
},
{
"module": "_pytest.warnings",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\warnings.py"
},
{
"module": "iniconfig",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\iniconfig\\__init__.py"
},
{
"module": "iniconfig._parse",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\iniconfig\\_parse.py"
},
{
"module": "iniconfig.exceptions",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\iniconfig\\exceptions.py"
},
{
"module": "pluggy",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pluggy\\__init__.py"
},
{
"module": "pluggy._callers",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pluggy\\_callers.py"
},
{
"module": "pluggy._hooks",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pluggy\\_hooks.py"
},
{
"module": "pluggy._manager",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pluggy\\_manager.py"
},
{
"module": "pluggy._result",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pluggy\\_result.py"
},
{
"module": "pluggy._tracing",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pluggy\\_tracing.py"
},
{
"module": "pluggy._version",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pluggy\\_version.py"
},
{
"module": "pluggy._warnings",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pluggy\\_warnings.py"
},
{
"module": "py",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\py.py"
},
{
"module": "py.error",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_py\\error.py"
},
{
"module": "py.path",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pytest\\_py\\path.py"
},
{
"module": "pytest",
"path": "C:\\Users\\isard\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pytest\\__init__.py"
}
],
"elapsed_seconds": 3.468
}