Company Logo

Tripsales API — автотесты

⚙️ Test Configuration
Test Type:
Automated Test Suite
Execution Mode:
Sequential
Parallel Execution:
No
Retry Failed Tests:
No
Test Data Source:
Configuration Files
Reporting Format:
HTML
Screenshot on Failure:
Yes
Video Recording:
No
🌍 Environment Details
Python Version:
3.12.13
Pytest Version:
9.1.1
Platform:
Linux 5.15.0-139-generic (x86_64)
Test Runner:
Tripsales
Test Start Time:
2026-07-02 22:43:45
Total Duration:
51.53 seconds
Report Generated:
2026-07-02 22:43:45
📊 Test Execution Summary
📝 72
Total Tests
✅ 30
Passed
❌ 11
Failed
⏭️ 31
Skipped
🤖 AI Error Analysis
🎯
Pattern-Based Analysis
Analyzing 11 failed test(s)
Analysis: Error patterns detected in test failures. For AI-powered suggestions with OpenAI/Claude, configure API keys in your settings.
Quick Fix: Review the Error Analysis section below for detailed error classifications and suggested actions.
🔌 Enable AI Analysis: Set ai.enable_ai_analysis: true and configure ai.provider and ai.api_key in pytest_html_dashboard.yaml for enhanced AI insights.

🚨 ERROR ANALYSIS & INSIGHTS

🔴 tests/integration/test_actualize_trip.py::test_actualize_preserves_done_and_replans_tail UNKNOWN

Error Type: AssertionError

Message: не удалось получить валидный access token за 12 попыток (известный баг — токен выдаётся через раз)

💡 Suggested Action: Review error message and stack trace, check logs for additional context

🔴 tests/integration/test_api_rust_proxy_live.py::test_landing_token_live UNKNOWN

Error Type: AssertionError

Message: landing-token 401: '{"error":"__UNAUTHORIZED__"}' assert False + where False = .ok

💡 Suggested Action: Review error message and stack trace, check logs for additional context

🔴 tests/integration/test_planner_delivery_composition.py::test_intercity_door_goes_via_warehouse_not_fictitious_direct UNKNOWN

Error Type: AssertionError

Message: нет ни одного валидного варианта assert []

💡 Suggested Action: Review error message and stack trace, check logs for additional context

🔴 tests/integration/test_planner_delivery_composition.py::test_near_city_direct_uses_plain_agent_door UNKNOWN

Error Type: AssertionError

Message: нет ни одного валидного варианта assert []

💡 Suggested Action: Review error message and stack trace, check logs for additional context

🔴 tests/integration/test_planner_delivery_composition.py::test_far_to_near_city_routes_via_warehouse_hub UNKNOWN

Error Type: AssertionError

Message: нет ни одного валидного варианта assert []

💡 Suggested Action: Review error message and stack trace, check logs for additional context

🔴 tests/integration/test_planner_delivery_composition.py::test_ftl_direct_door_is_real_agent_tariff UNKNOWN

Error Type: AssertionError

Message: нет ни одного валидного варианта assert []

💡 Suggested Action: Review error message and stack trace, check logs for additional context

🔴 tests/integration/test_planner_delivery_composition.py::test_no_tariff_city_from_moscow_uses_moscow_as_hub UNKNOWN

Error Type: AssertionError

Message: нет ни одного валидного варианта assert []

💡 Suggested Action: Review error message and stack trace, check logs for additional context

🔴 tests/integration/test_planner_delivery_composition.py::test_no_tariff_city_far_routes_via_moscow UNKNOWN

Error Type: AssertionError

Message: нет ни одного валидного варианта assert []

💡 Suggested Action: Review error message and stack trace, check logs for additional context

🔴 tests/trades/test_01_trades_smoke.py::TestOrdersTrips::test_delete_trip_idempotent UNKNOWN

Error Type: AssertionError

Message: assert 502 == 200 + where 502 = .status_code

💡 Suggested Action: Review error message and stack trace, check logs for additional context

🔴 tests/trades/test_01_trades_smoke.py::TestInfra::test_goap_status UNKNOWN

Error Type: AssertionError

Message: assert 502 == 200 + where 502 = .status_code

💡 Suggested Action: Review error message and stack trace, check logs for additional context

🔴 tests/trades/test_01_trades_smoke.py::TestInfra::test_auction_scheduler_status UNKNOWN

Error Type: AssertionError

Message: assert 502 == 200 + where 502 = .status_code

💡 Suggested Action: Review error message and stack trace, check logs for additional context

📊 COMPREHENSIVE TEST RESULTS

S.No Test Case Start Time End Time Duration Result Error Category Result Details
1 tests/flows/test_calculator_scenarios.py::test_only_last_mile 22:43:45 22:43:45 5.612s SKIPPED N/A
2 tests/flows/test_calculator_scenarios.py::test_only_highway 22:43:45 22:43:45 0.001s SKIPPED N/A
3 tests/flows/test_calculator_scenarios.py::test_intracity 22:43:45 22:43:45 0.000s SKIPPED N/A
4 tests/flows/test_calculator_scenarios.py::test_first_mile_with_highway 22:43:45 22:43:45 0.000s SKIPPED N/A
5 tests/flows/test_calculator_scenarios.py::test_highway_with_last_mile 22:43:45 22:43:45 0.000s SKIPPED N/A
6 tests/flows/test_calculator_scenarios.py::test_intercity_door_to_door_over_300km 22:43:45 22:43:45 0.000s SKIPPED N/A
7 tests/flows/test_calculator_scenarios.py::test_intercity_door_to_door_reverse_spb_to_moscow 22:43:45 22:43:45 0.000s SKIPPED N/A
8 tests/flows/test_calculator_scenarios.py::test_ftl_moscow_to_spb_oneway 22:43:45 22:43:45 0.000s SKIPPED N/A
9 tests/flows/test_calculator_scenarios.py::test_ftl_moscow_to_spb_roundtrip 22:43:45 22:43:45 0.000s SKIPPED N/A
10 tests/flows/test_calculator_scenarios.py::test_only_first_mile 22:43:45 22:43:45 0.000s SKIPPED N/A
11 tests/flows/test_calculator_scenarios.py::test_tariff_uses_volume_weight_when_it_exceeds_actual 22:43:45 22:43:45 0.000s SKIPPED N/A
12 tests/flows/test_user_flow.py::test_check_invalid_token 22:43:45 22:43:45 0.017s PASSED N/A
13 tests/flows/test_warehouse_handling_flow.py::test_warehouse_handling_not_copied_across_freights 22:43:45 22:43:45 5.672s SKIPPED N/A
14 tests/flows/test_warehouse_handling_flow.py::test_each_warehouse_has_its_own_handling 22:43:45 22:43:45 0.001s SKIPPED N/A
15 tests/integration/test_actualize_trip.py::test_actualize_preserves_done_and_replans_tail 22:43:45 22:43:45 5.677s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:не удалось получить валидный access token за 12 попыток (известный баг — токен выдаётся через раз)
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
16 tests/integration/test_api_rust_proxy_live.py::test_search_cities_live 22:43:45 22:43:45 5.625s SKIPPED N/A
17 tests/integration/test_api_rust_proxy_live.py::test_search_freights_live 22:43:45 22:43:45 0.000s SKIPPED N/A
18 tests/integration/test_api_rust_proxy_live.py::test_get_city_live 22:43:45 22:43:45 0.000s SKIPPED N/A
19 tests/integration/test_api_rust_proxy_live.py::test_get_order_live 22:43:45 22:43:45 0.000s SKIPPED N/A
20 tests/integration/test_api_rust_proxy_live.py::test_get_trips_many_live 22:43:45 22:43:45 0.000s SKIPPED N/A
21 tests/integration/test_api_rust_proxy_live.py::test_landing_token_live 22:43:45 22:43:45 0.116s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:landing-token 401: '{"error":"__UNAUTHORIZED__"}' assert False + where False = .ok
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
22 tests/integration/test_api_rust_proxy_live.py::test_incidents_list_live 22:43:45 22:43:45 0.000s SKIPPED N/A
23 tests/integration/test_api_rust_proxy_live.py::test_vrt_health_live 22:43:45 22:43:45 0.000s SKIPPED N/A
24 tests/integration/test_order_full_flow.py::test_order_full_flow_with_attributes 22:43:45 22:43:45 5.712s SKIPPED N/A
25 tests/integration/test_planner_delivery_composition.py::test_intercity_door_goes_via_warehouse_not_fictitious_direct 22:43:45 22:43:45 0.065s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:нет ни одного валидного варианта assert []
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
26 tests/integration/test_planner_delivery_composition.py::test_near_city_direct_uses_plain_agent_door 22:43:45 22:43:45 0.009s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:нет ни одного валидного варианта assert []
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
27 tests/integration/test_planner_delivery_composition.py::test_far_to_near_city_routes_via_warehouse_hub 22:43:45 22:43:45 0.009s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:нет ни одного валидного варианта assert []
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
28 tests/integration/test_planner_delivery_composition.py::test_ftl_direct_door_is_real_agent_tariff 22:43:45 22:43:45 0.014s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:нет ни одного валидного варианта assert []
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
29 tests/integration/test_planner_delivery_composition.py::test_no_tariff_city_from_moscow_uses_moscow_as_hub 22:43:45 22:43:45 0.010s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:нет ни одного валидного варианта assert []
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
30 tests/integration/test_planner_delivery_composition.py::test_no_tariff_city_far_routes_via_moscow 22:43:45 22:43:45 0.007s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:нет ни одного валидного варианта assert []
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
31 tests/integration/test_planner_discount_live.py::test_service_discount_recalculates_calculation 22:43:45 22:43:45 0.006s SKIPPED N/A
32 tests/integration/test_planner_discount_live.py::test_zero_discount_target_not_found_is_404 22:43:45 22:43:45 0.005s SKIPPED N/A
33 tests/integration/test_schedule_overlap_live.py::test_schedule_overlap_two_trips 22:43:45 22:43:45 5.699s SKIPPED N/A
34 tests/integration/test_vrt_goap_live.py::test_vrt_goap_plan_self_contained 22:43:45 22:43:45 5.728s SKIPPED N/A
35 tests/integration/test_works_live.py::test_works_save_and_by_owner 22:43:45 22:43:45 5.732s SKIPPED N/A
36 tests/integration/test_works_live.py::test_works_save_replaces_not_appends 22:43:45 22:43:45 0.001s SKIPPED N/A
37 tests/integration/test_works_live.py::test_by_owner_unknown_owner_empty 22:43:45 22:43:45 0.000s SKIPPED N/A
38 tests/integration/test_works_live.py::test_work_state_set_get_and_idempotent 22:43:45 22:43:45 0.000s SKIPPED N/A
39 tests/integration/test_wpt_process_live.py::test_wpt_pdf_create_quotes_live 22:43:45 22:43:45 5.730s SKIPPED N/A
40 tests/integration/test_wpt_process_live.py::test_wpt_generate_documents_trip_live 22:43:45 22:43:45 0.000s SKIPPED N/A
41 tests/trades/test_01_trades_smoke.py::TestRouteTariff::test_get_all_returns_list 22:43:45 22:43:45 0.029s PASSED N/A
42 tests/trades/test_01_trades_smoke.py::TestRouteTariff::test_not_found 22:43:45 22:43:45 0.002s PASSED N/A
43 tests/trades/test_01_trades_smoke.py::TestRouteTariff::test_delete_idempotent 22:43:45 22:43:45 0.002s PASSED N/A
44 tests/trades/test_01_trades_smoke.py::TestCommissionPolicy::test_get_all_returns_list 22:43:45 22:43:45 0.002s PASSED N/A
45 tests/trades/test_01_trades_smoke.py::TestCommissionPolicy::test_not_found 22:43:45 22:43:45 0.001s PASSED N/A
46 tests/trades/test_01_trades_smoke.py::TestCommissionPolicy::test_delete_idempotent 22:43:45 22:43:45 0.001s PASSED N/A
47 tests/trades/test_01_trades_smoke.py::TestTransportRequest::test_get_all_returns_list 22:43:45 22:43:45 0.002s PASSED N/A
48 tests/trades/test_01_trades_smoke.py::TestTransportRequest::test_filter_by_status 22:43:45 22:43:45 0.001s PASSED N/A
49 tests/trades/test_01_trades_smoke.py::TestTransportRequest::test_not_found 22:43:45 22:43:45 0.001s PASSED N/A
50 tests/trades/test_01_trades_smoke.py::TestTransportRequest::test_delete_idempotent 22:43:45 22:43:45 0.002s PASSED N/A
51 tests/trades/test_01_trades_smoke.py::TestLtlTripTemplate::test_get_all_returns_list 22:43:45 22:43:45 0.002s PASSED N/A
52 tests/trades/test_01_trades_smoke.py::TestLtlTripTemplate::test_filter_active 22:43:45 22:43:45 0.002s PASSED N/A
53 tests/trades/test_01_trades_smoke.py::TestLtlTripTemplate::test_not_found 22:43:45 22:43:45 0.002s PASSED N/A
54 tests/trades/test_01_trades_smoke.py::TestLtlTripTemplate::test_delete_idempotent 22:43:45 22:43:45 0.002s PASSED N/A
55 tests/trades/test_01_trades_smoke.py::TestAuctionTrip::test_get_all_returns_list 22:43:45 22:43:45 0.003s PASSED N/A
56 tests/trades/test_01_trades_smoke.py::TestAuctionTrip::test_filter_by_status 22:43:45 22:43:45 0.002s PASSED N/A
57 tests/trades/test_01_trades_smoke.py::TestAuctionTrip::test_not_found 22:43:45 22:43:45 0.001s PASSED N/A
58 tests/trades/test_01_trades_smoke.py::TestAuctionTrip::test_delete_idempotent 22:43:45 22:43:45 0.001s PASSED N/A
59 tests/trades/test_01_trades_smoke.py::TestAuction::test_get_all_returns_list 22:43:45 22:43:45 0.002s PASSED N/A
60 tests/trades/test_01_trades_smoke.py::TestAuction::test_filter_by_status 22:43:45 22:43:45 0.001s PASSED N/A
61 tests/trades/test_01_trades_smoke.py::TestAuction::test_not_found 22:43:45 22:43:45 0.001s PASSED N/A
62 tests/trades/test_01_trades_smoke.py::TestAuction::test_delete_idempotent 22:43:45 22:43:45 0.001s PASSED N/A
63 tests/trades/test_01_trades_smoke.py::TestAuction::test_delete_participant_idempotent 22:43:45 22:43:45 0.002s PASSED N/A
64 tests/trades/test_01_trades_smoke.py::TestAuction::test_delete_bid_idempotent 22:43:45 22:43:45 0.002s PASSED N/A
65 tests/trades/test_01_trades_smoke.py::TestOrdersTrips::test_get_orders_returns_list 22:43:45 22:43:45 0.002s PASSED N/A
66 tests/trades/test_01_trades_smoke.py::TestOrdersTrips::test_get_trips_returns_list 22:43:45 22:43:45 0.002s PASSED N/A
67 tests/trades/test_01_trades_smoke.py::TestOrdersTrips::test_order_not_found 22:43:45 22:43:45 0.001s PASSED N/A
68 tests/trades/test_01_trades_smoke.py::TestOrdersTrips::test_trip_not_found 22:43:45 22:43:45 0.001s PASSED N/A
69 tests/trades/test_01_trades_smoke.py::TestOrdersTrips::test_delete_order_idempotent 22:43:45 22:43:45 0.002s PASSED N/A
70 tests/trades/test_01_trades_smoke.py::TestOrdersTrips::test_delete_trip_idempotent 22:43:45 22:43:45 0.001s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:assert 502 == 200 + where 502 = .status_code
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
71 tests/trades/test_01_trades_smoke.py::TestInfra::test_goap_status 22:43:45 22:43:45 0.001s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:assert 502 == 200 + where 502 = .status_code
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
72 tests/trades/test_01_trades_smoke.py::TestInfra::test_auction_scheduler_status 22:43:45 22:43:45 0.001s FAILED UNKNOWN
🚫 Error Details
Type:AssertionError
Category:UNKNOWN
Message:assert 502 == 200 + where 502 = .status_code
Suggested Action:Review error message and stack trace, check logs for additional context
Stack Trace:
NoneType: None
📊

Detailed Step Execution Results

📋 Overview: This section provides comprehensive details for each individual test step across all test cases. Use the interactive features to explore step execution patterns and identify potential issues.

[TIP] Click headers to sort   🔍 Hover for tooltips   📊 Interactive charts

Step Status Overview

🎯 Test Case 📝 Step Name ⚡ Status 📷 Screenshot ⚠️ Error Details
TC-1000 1. test_only_last_mile SKIP N/A N/A
TC-1000 2. test_only_highway SKIP N/A N/A
TC-1000 3. test_intracity SKIP N/A N/A
TC-1000 4. test_first_mile_with_highway SKIP N/A N/A
TC-1000 5. test_highway_with_last_mile SKIP N/A N/A
TC-1000 6. test_intercity_door_to_door_over_300km SKIP N/A N/A
TC-1000 7. test_intercity_door_to_door_reverse_spb_to_moscow SKIP N/A N/A
TC-1000 8. test_ftl_moscow_to_spb_oneway SKIP N/A N/A
TC-1000 9. test_ftl_moscow_to_spb_roundtrip SKIP N/A N/A
TC-1000 10. test_only_first_mile SKIP N/A N/A
TC-1000 11. test_tariff_uses_volume_weight_when_it_exceeds_actual SKIP N/A N/A
TC-1000 12. test_check_invalid_token PASS N/A N/A
TC-1000 13. test_warehouse_handling_not_copied_across_freights SKIP N/A N/A
TC-1000 14. test_each_warehouse_has_its_own_handling SKIP N/A N/A
TC-1000 15. test_actualize_preserves_done_and_replans_tail FAIL N/A AssertionError: не удалось получить валидный access token за 12 по...
TC-1000 16. test_search_cities_live SKIP N/A N/A
TC-1000 17. test_search_freights_live SKIP N/A N/A
TC-1000 18. test_get_city_live SKIP N/A N/A
TC-1000 19. test_get_order_live SKIP N/A N/A
TC-1000 20. test_get_trips_many_live SKIP N/A N/A
TC-1000 21. test_landing_token_live FAIL N/A AssertionError: landing-token 401: '{"error":"__UNAUTHORIZED__"}' ...
TC-1000 22. test_incidents_list_live SKIP N/A N/A
TC-1000 23. test_vrt_health_live SKIP N/A N/A
TC-1000 24. test_order_full_flow_with_attributes SKIP N/A N/A
TC-1000 25. test_intercity_door_goes_via_warehouse_not_fictitious_direct FAIL N/A AssertionError: нет ни одного валидного варианта assert []...
TC-1000 26. test_near_city_direct_uses_plain_agent_door FAIL N/A AssertionError: нет ни одного валидного варианта assert []...
TC-1000 27. test_far_to_near_city_routes_via_warehouse_hub FAIL N/A AssertionError: нет ни одного валидного варианта assert []...
TC-1000 28. test_ftl_direct_door_is_real_agent_tariff FAIL N/A AssertionError: нет ни одного валидного варианта assert []...
TC-1000 29. test_no_tariff_city_from_moscow_uses_moscow_as_hub FAIL N/A AssertionError: нет ни одного валидного варианта assert []...
TC-1000 30. test_no_tariff_city_far_routes_via_moscow FAIL N/A AssertionError: нет ни одного валидного варианта assert []...
TC-1000 31. test_service_discount_recalculates_calculation SKIP N/A N/A
TC-1000 32. test_zero_discount_target_not_found_is_404 SKIP N/A N/A
TC-1000 33. test_schedule_overlap_two_trips SKIP N/A N/A
TC-1000 34. test_vrt_goap_plan_self_contained SKIP N/A N/A
TC-1000 35. test_works_save_and_by_owner SKIP N/A N/A
TC-1000 36. test_works_save_replaces_not_appends SKIP N/A N/A
TC-1000 37. test_by_owner_unknown_owner_empty SKIP N/A N/A
TC-1000 38. test_work_state_set_get_and_idempotent SKIP N/A N/A
TC-1000 39. test_wpt_pdf_create_quotes_live SKIP N/A N/A
TC-1000 40. test_wpt_generate_documents_trip_live SKIP N/A N/A
TestRouteTariff 41. test_get_all_returns_list PASS N/A N/A
TestRouteTariff 42. test_not_found PASS N/A N/A
TestRouteTariff 43. test_delete_idempotent PASS N/A N/A
TestCommissionPolicy 44. test_get_all_returns_list PASS N/A N/A
TestCommissionPolicy 45. test_not_found PASS N/A N/A
TestCommissionPolicy 46. test_delete_idempotent PASS N/A N/A
TestTransportRequest 47. test_get_all_returns_list PASS N/A N/A
TestTransportRequest 48. test_filter_by_status PASS N/A N/A
TestTransportRequest 49. test_not_found PASS N/A N/A
TestTransportRequest 50. test_delete_idempotent PASS N/A N/A
TestLtlTripTemplate 51. test_get_all_returns_list PASS N/A N/A
TestLtlTripTemplate 52. test_filter_active PASS N/A N/A
TestLtlTripTemplate 53. test_not_found PASS N/A N/A
TestLtlTripTemplate 54. test_delete_idempotent PASS N/A N/A
TestAuctionTrip 55. test_get_all_returns_list PASS N/A N/A
TestAuctionTrip 56. test_filter_by_status PASS N/A N/A
TestAuctionTrip 57. test_not_found PASS N/A N/A
TestAuctionTrip 58. test_delete_idempotent PASS N/A N/A
TestAuction 59. test_get_all_returns_list PASS N/A N/A
TestAuction 60. test_filter_by_status PASS N/A N/A
TestAuction 61. test_not_found PASS N/A N/A
TestAuction 62. test_delete_idempotent PASS N/A N/A
TestAuction 63. test_delete_participant_idempotent PASS N/A N/A
TestAuction 64. test_delete_bid_idempotent PASS N/A N/A
TestOrdersTrips 65. test_get_orders_returns_list PASS N/A N/A
TestOrdersTrips 66. test_get_trips_returns_list PASS N/A N/A
TestOrdersTrips 67. test_order_not_found PASS N/A N/A
TestOrdersTrips 68. test_trip_not_found PASS N/A N/A
TestOrdersTrips 69. test_delete_order_idempotent PASS N/A N/A
TestOrdersTrips 70. test_delete_trip_idempotent FAIL N/A AssertionError: assert 502 == 200 + where 502 = ...
TestInfra 71. test_goap_status FAIL N/A AssertionError: assert 502 == 200 + where 502 = ...
TestInfra 72. test_auction_scheduler_status FAIL N/A AssertionError: assert 502 == 200 + where 502 = ...
📊 Historical Trends
📈 Pass Rate Trend
0.0%
vs. last 7 days
🔄 Flaky Tests Detected
41
passed sometimes, failed others
⚡ Avg Execution Time
0.72s
average per test
📅 Total Runs Tracked
1
test execution runs