============================= test session starts =============================
platform win32 -- Python 3.14.3, pytest-9.0.2, pluggy-1.6.0 -- C:\Users\groot\Development\Working\OpenSource\pyindus\.venv\Scripts\python.exe
cachedir: .pytest_cache
rootdir: C:\Users\groot\Development\Working\OpenSource\pyindus
configfile: pyproject.toml
plugins: anyio-4.12.1, cov-7.0.0, respx-0.22.0
collecting ... collected 60 items

tests/test_auth.py::TestLogin::test_login_success PASSED                 [  1%]
tests/test_auth.py::TestLogin::test_login_flow_creation_fails PASSED     [  3%]
tests/test_auth.py::TestLogin::test_login_no_flow_id PASSED              [  5%]
tests/test_auth.py::TestVerifyOTP::test_verify_otp_success PASSED        [  6%]
tests/test_auth.py::TestVerifyOTP::test_verify_otp_without_login PASSED  [  8%]
tests/test_auth.py::TestVerifyOTP::test_verify_otp_failure PASSED        [ 10%]
tests/test_auth.py::TestRefresh::test_refresh_success PASSED             [ 11%]
tests/test_auth.py::TestRefresh::test_refresh_expired PASSED             [ 13%]
tests/test_auth.py::TestGetMe::test_get_me_success PASSED                [ 15%]
tests/test_auth.py::TestGetMe::test_get_me_unauthenticated PASSED        [ 16%]
tests/test_auth.py::TestSessionPersistence::test_save_and_load_session PASSED [ 18%]
tests/test_auth.py::TestSessionPersistence::test_load_nonexistent_session PASSED [ 20%]
tests/test_auth.py::TestSessionPersistence::test_load_expired_session PASSED [ 21%]
tests/test_auth.py::TestCSRFExtraction::test_extract_from_ui_nodes PASSED [ 23%]
tests/test_auth.py::TestCSRFExtraction::test_extract_from_top_level PASSED [ 25%]
tests/test_auth.py::TestCSRFExtraction::test_no_token_found PASSED       [ 26%]
tests/test_auth.py::TestErrorExtraction::test_extract_from_ui_messages PASSED [ 28%]
tests/test_auth.py::TestErrorExtraction::test_extract_from_node_messages PASSED [ 30%]
tests/test_auth.py::TestErrorExtraction::test_extract_from_error_dict PASSED [ 31%]
tests/test_chat.py::TestGetTaskGraphs::test_get_task_graphs PASSED       [ 33%]
tests/test_chat.py::TestGetTaskGraphs::test_get_task_graphs_empty PASSED [ 35%]
tests/test_chat.py::TestGetTaskGraphs::test_get_task_graph_detail PASSED [ 36%]
tests/test_chat.py::TestCreateSession::test_create_session PASSED        [ 38%]
tests/test_chat.py::TestCreateSession::test_create_session_auth_error PASSED [ 40%]
tests/test_chat.py::TestSendPrompt::test_send_prompt_success PASSED      [ 41%]
tests/test_chat.py::TestSendPrompt::test_send_prompt_api_error PASSED    [ 43%]
tests/test_chat.py::TestListSessions::test_list_sessions PASSED          [ 45%]
tests/test_chat.py::TestListSessions::test_list_sessions_empty PASSED    [ 46%]
tests/test_chat.py::TestAccountAndConfig::test_get_account_me PASSED     [ 48%]
tests/test_chat.py::TestAccountAndConfig::test_get_config PASSED         [ 50%]
tests/test_chat.py::TestRequestErrorHandling::test_401_raises_auth_error PASSED [ 51%]
tests/test_chat.py::TestRequestErrorHandling::test_500_raises_api_error PASSED [ 53%]
tests/test_client.py::TestClientContextManager::test_context_manager PASSED [ 55%]
tests/test_client.py::TestClientAuth::test_full_login_flow PASSED        [ 56%]
tests/test_client.py::TestClientChat::test_chat_creates_session_automatically PASSED [ 58%]
tests/test_client.py::TestClientChat::test_chat_reuses_session PASSED    [ 60%]
tests/test_client.py::TestClientChat::test_chat_with_explicit_session PASSED [ 61%]
tests/test_client.py::TestClientChat::test_chat_not_authenticated PASSED [ 63%]
tests/test_client.py::TestClientChat::test_new_session PASSED            [ 65%]
tests/test_client.py::TestClientChat::test_get_models PASSED             [ 66%]
tests/test_client.py::TestClientChat::test_list_sessions PASSED          [ 68%]
tests/test_client.py::TestClientSessionPersistence::test_save_and_load_session PASSED [ 70%]
tests/test_models.py::TestUserInfo::test_parse_from_api PASSED           [ 71%]
tests/test_models.py::TestUserInfo::test_default_values PASSED           [ 73%]
tests/test_models.py::TestChatAccount::test_parse_from_api PASSED        [ 75%]
tests/test_models.py::TestTaskGraph::test_parse_from_api PASSED          [ 76%]
tests/test_models.py::TestTaskGraph::test_minimal_data PASSED            [ 78%]
tests/test_models.py::TestChatSession::test_parse_from_api PASSED        [ 80%]
tests/test_models.py::TestStep::test_thinking_step PASSED                [ 81%]
tests/test_models.py::TestStep::test_tool_call_step PASSED               [ 83%]
tests/test_models.py::TestStep::test_tool_result_step PASSED             [ 85%]
tests/test_models.py::TestStep::test_separator_step PASSED               [ 86%]
tests/test_models.py::TestPromptResponse::test_parse_from_api PASSED     [ 88%]
tests/test_models.py::TestPromptResponse::test_answer_extraction PASSED  [ 90%]
tests/test_models.py::TestPromptResponse::test_thinking_extraction PASSED [ 91%]
tests/test_models.py::TestPromptResponse::test_tool_calls PASSED         [ 93%]
tests/test_models.py::TestPromptResponse::test_tool_results PASSED       [ 95%]
tests/test_models.py::TestPromptResponse::test_simple_response_no_tools PASSED [ 96%]
tests/test_models.py::TestRefreshResponse::test_parse_from_api PASSED    [ 98%]
tests/test_models.py::TestConfig::test_parse_from_api PASSED             [100%]

============================= 60 passed in 7.67s ==============================
