| {"created": 1777835991.6229067, "duration": 20.48654079437256, "exitcode": 0, "root": "/media/ahad-hassan/Volume_E/FYP/FYP/docgenie", "environment": {}, "summary": {"passed": 63, "total": 63, "collected": 63}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": "api/tests/functional", "type": "Package"}]}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_missing_request_id_returns_422", "type": "Function", "lineno": 42}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_empty_seed_images_returns_422", "type": "Function", "lineno": 50}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_too_many_seed_images_returns_422", "type": "Function", "lineno": 54}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_invalid_seed_image_url_returns_422", "type": "Function", "lineno": 60}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_num_solutions_below_min_returns_422", "type": "Function", "lineno": 66}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_num_solutions_above_max_returns_422", "type": "Function", "lineno": 71}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_empty_body_returns_422", "type": "Function", "lineno": 76}]}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_nonexistent_request_id_is_not_422", "type": "Function", "lineno": 93}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_nonexistent_request_id_returns_404_or_503", "type": "Function", "lineno": 99}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_error_response_is_json", "type": "Function", "lineno": 105}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_error_response_has_detail", "type": "Function", "lineno": 109}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_swagger_string_tokens_not_422", "type": "Function", "lineno": 114}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_none_google_tokens_accepted", "type": "Function", "lineno": 122}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_num_solutions_boundary_values_schema_valid", "type": "Function", "lineno": 127}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_missing_prompt_params_uses_defaults", "type": "Function", "lineno": 135}]}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation", "type": "Class"}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic", "type": "Class"}]}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_missing_request_id_returns_422", "type": "Function", "lineno": 49}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_empty_seed_images_returns_422", "type": "Function", "lineno": 59}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_too_many_seed_images_returns_422", "type": "Function", "lineno": 66}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_invalid_seed_image_url_returns_422", "type": "Function", "lineno": 73}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_num_solutions_below_min_returns_422", "type": "Function", "lineno": 80}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_num_solutions_above_max_returns_422", "type": "Function", "lineno": 88}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_handwriting_ratio_out_of_range_returns_422", "type": "Function", "lineno": 96}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_non_json_body_returns_422", "type": "Function", "lineno": 104}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_empty_body_returns_422", "type": "Function", "lineno": 111}]}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_nonexistent_request_id_returns_404", "type": "Function", "lineno": 125}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_nonexistent_request_id_error_is_json", "type": "Function", "lineno": 131}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_nonexistent_request_id_has_detail", "type": "Function", "lineno": 137}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_swagger_string_token_is_sanitised", "type": "Function", "lineno": 142}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_none_google_tokens_are_accepted", "type": "Function", "lineno": 157}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_valid_num_solutions_boundary_values_accepted", "type": "Function", "lineno": 167}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_missing_prompt_params_uses_defaults", "type": "Function", "lineno": 177}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_request_id_with_user_prefix_is_accepted", "type": "Function", "lineno": 185}]}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation", "type": "Class"}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic", "type": "Class"}]}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint::test_root_returns_200", "type": "Function", "lineno": 15}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint::test_root_content_type_is_json", "type": "Function", "lineno": 19}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint::test_root_returns_healthy", "type": "Function", "lineno": 23}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint::test_root_response_has_version", "type": "Function", "lineno": 27}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint::test_root_schema_contract", "type": "Function", "lineno": 33}]}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_returns_200", "type": "Function", "lineno": 44}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_content_type_is_json", "type": "Function", "lineno": 48}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_returns_healthy_status", "type": "Function", "lineno": 52}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_response_has_version", "type": "Function", "lineno": 56}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_schema_contract", "type": "Function", "lineno": 61}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_and_root_agree", "type": "Function", "lineno": 66}]}, {"nodeid": "api/tests/functional/test_health_endpoints.py", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint", "type": "Class"}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint", "type": "Class"}]}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_unknown_uuid_returns_non_200", "type": "Function", "lineno": 27}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_unknown_uuid_response_is_json", "type": "Function", "lineno": 35}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_unknown_uuid_has_detail", "type": "Function", "lineno": 40}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_garbage_request_id_returns_error", "type": "Function", "lineno": 46}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_endpoint_is_get_only", "type": "Function", "lineno": 52}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_status_field_in_known_values_if_200", "type": "Function", "lineno": 59}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_200_response_contract_if_present", "type": "Function", "lineno": 72}]}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint", "type": "Class"}]}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_returns_200_for_any_user", "type": "Function", "lineno": 24}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_response_is_json", "type": "Function", "lineno": 31}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_response_has_required_fields", "type": "Function", "lineno": 38}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_jobs_is_a_list", "type": "Function", "lineno": 44}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_count_matches_jobs_length", "type": "Function", "lineno": 49}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_user_id_echoed_in_response", "type": "Function", "lineno": 56}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_default_limit_is_50", "type": "Function", "lineno": 65}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_default_offset_is_0", "type": "Function", "lineno": 70}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_custom_limit_is_respected", "type": "Function", "lineno": 75}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_custom_offset_is_respected", "type": "Function", "lineno": 80}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_limit_above_100_is_capped", "type": "Function", "lineno": 85}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_non_integer_user_id_returns_422", "type": "Function", "lineno": 95}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_endpoint_is_get_only", "type": "Function", "lineno": 102}]}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint", "type": "Class"}]}, {"nodeid": "api/tests/functional", "outcome": "passed", "result": [{"nodeid": "api/tests/functional/test_generate_async_endpoint.py", "type": "Module"}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py", "type": "Module"}, {"nodeid": "api/tests/functional/test_health_endpoints.py", "type": "Module"}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py", "type": "Module"}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py", "type": "Module"}]}], "tests": [{"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_missing_request_id_returns_422", "lineno": 42, "outcome": "passed", "keywords": ["test_missing_request_id_returns_422", "TestGenerateAsyncInputValidation", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0010588600052869879, "outcome": "passed"}, "call": {"duration": 1.4462855689998833, "outcome": "passed"}, "teardown": {"duration": 0.000161753996508196, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_empty_seed_images_returns_422", "lineno": 50, "outcome": "passed", "keywords": ["test_empty_seed_images_returns_422", "TestGenerateAsyncInputValidation", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00018862800061469898, "outcome": "passed"}, "call": {"duration": 0.24417091099894606, "outcome": "passed"}, "teardown": {"duration": 0.0006157120005809702, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_too_many_seed_images_returns_422", "lineno": 54, "outcome": "passed", "keywords": ["test_too_many_seed_images_returns_422", "TestGenerateAsyncInputValidation", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0008560910064261407, "outcome": "passed"}, "call": {"duration": 0.2579206790032913, "outcome": "passed"}, "teardown": {"duration": 0.0002722909994190559, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_invalid_seed_image_url_returns_422", "lineno": 60, "outcome": "passed", "keywords": ["test_invalid_seed_image_url_returns_422", "TestGenerateAsyncInputValidation", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00023865299590397626, "outcome": "passed"}, "call": {"duration": 0.30920990900631296, "outcome": "passed"}, "teardown": {"duration": 0.0005549909983528778, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_num_solutions_below_min_returns_422", "lineno": 66, "outcome": "passed", "keywords": ["test_num_solutions_below_min_returns_422", "TestGenerateAsyncInputValidation", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0005146629991941154, "outcome": "passed"}, "call": {"duration": 0.2497960390028311, "outcome": "passed"}, "teardown": {"duration": 0.00020212499657645822, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_num_solutions_above_max_returns_422", "lineno": 71, "outcome": "passed", "keywords": ["test_num_solutions_above_max_returns_422", "TestGenerateAsyncInputValidation", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0002838669970515184, "outcome": "passed"}, "call": {"duration": 0.2553867460010224, "outcome": "passed"}, "teardown": {"duration": 0.0004002350033260882, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncInputValidation::test_empty_body_returns_422", "lineno": 76, "outcome": "passed", "keywords": ["test_empty_body_returns_422", "TestGenerateAsyncInputValidation", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.000495346997922752, "outcome": "passed"}, "call": {"duration": 0.24309819199697813, "outcome": "passed"}, "teardown": {"duration": 0.0003183009976055473, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_nonexistent_request_id_is_not_422", "lineno": 93, "outcome": "passed", "keywords": ["test_nonexistent_request_id_is_not_422", "TestGenerateAsyncBusinessLogic", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00041878799675032496, "outcome": "passed"}, "call": {"duration": 0.3568645839986857, "outcome": "passed"}, "teardown": {"duration": 0.00022571600129595026, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_nonexistent_request_id_returns_404_or_503", "lineno": 99, "outcome": "passed", "keywords": ["test_nonexistent_request_id_returns_404_or_503", "TestGenerateAsyncBusinessLogic", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0002609389994177036, "outcome": "passed"}, "call": {"duration": 0.3758280170004582, "outcome": "passed"}, "teardown": {"duration": 0.000626013999863062, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_error_response_is_json", "lineno": 105, "outcome": "passed", "keywords": ["test_error_response_is_json", "TestGenerateAsyncBusinessLogic", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0009133050043601543, "outcome": "passed"}, "call": {"duration": 0.3410634329993627, "outcome": "passed"}, "teardown": {"duration": 0.0003017939961864613, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_error_response_has_detail", "lineno": 109, "outcome": "passed", "keywords": ["test_error_response_has_detail", "TestGenerateAsyncBusinessLogic", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00024965200282167643, "outcome": "passed"}, "call": {"duration": 0.324136016999546, "outcome": "passed"}, "teardown": {"duration": 0.00019041699852095917, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_swagger_string_tokens_not_422", "lineno": 114, "outcome": "passed", "keywords": ["test_swagger_string_tokens_not_422", "TestGenerateAsyncBusinessLogic", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00019946500106016174, "outcome": "passed"}, "call": {"duration": 0.33446765600092476, "outcome": "passed"}, "teardown": {"duration": 0.0006622229993809015, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_none_google_tokens_accepted", "lineno": 122, "outcome": "passed", "keywords": ["test_none_google_tokens_accepted", "TestGenerateAsyncBusinessLogic", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0006033460012986325, "outcome": "passed"}, "call": {"duration": 0.33233799500158057, "outcome": "passed"}, "teardown": {"duration": 0.0001684540038695559, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_num_solutions_boundary_values_schema_valid", "lineno": 127, "outcome": "passed", "keywords": ["test_num_solutions_boundary_values_schema_valid", "TestGenerateAsyncBusinessLogic", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00019121900550089777, "outcome": "passed"}, "call": {"duration": 0.7708374499998172, "outcome": "passed"}, "teardown": {"duration": 0.0006455780021497048, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_async_endpoint.py::TestGenerateAsyncBusinessLogic::test_missing_prompt_params_uses_defaults", "lineno": 135, "outcome": "passed", "keywords": ["test_missing_prompt_params_uses_defaults", "TestGenerateAsyncBusinessLogic", "test_generate_async_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0007468869953299873, "outcome": "passed"}, "call": {"duration": 0.3962158409995027, "outcome": "passed"}, "teardown": {"duration": 0.0004318549981690012, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_missing_request_id_returns_422", "lineno": 49, "outcome": "passed", "keywords": ["test_missing_request_id_returns_422", "TestGeneratePdfInputValidation", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0007576560019515455, "outcome": "passed"}, "call": {"duration": 0.24503759700019145, "outcome": "passed"}, "teardown": {"duration": 0.0006064659974072129, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_empty_seed_images_returns_422", "lineno": 59, "outcome": "passed", "keywords": ["test_empty_seed_images_returns_422", "TestGeneratePdfInputValidation", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0008903470006771386, "outcome": "passed"}, "call": {"duration": 0.2417143569982727, "outcome": "passed"}, "teardown": {"duration": 0.0004276870022295043, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_too_many_seed_images_returns_422", "lineno": 66, "outcome": "passed", "keywords": ["test_too_many_seed_images_returns_422", "TestGeneratePdfInputValidation", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0008335300008184277, "outcome": "passed"}, "call": {"duration": 0.2464154490007786, "outcome": "passed"}, "teardown": {"duration": 0.000219699002627749, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_invalid_seed_image_url_returns_422", "lineno": 73, "outcome": "passed", "keywords": ["test_invalid_seed_image_url_returns_422", "TestGeneratePdfInputValidation", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0002895380021072924, "outcome": "passed"}, "call": {"duration": 0.24328561799484305, "outcome": "passed"}, "teardown": {"duration": 0.0005479210012708791, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_num_solutions_below_min_returns_422", "lineno": 80, "outcome": "passed", "keywords": ["test_num_solutions_below_min_returns_422", "TestGeneratePdfInputValidation", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0006086790017434396, "outcome": "passed"}, "call": {"duration": 0.3150289570039604, "outcome": "passed"}, "teardown": {"duration": 0.0002317320031579584, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_num_solutions_above_max_returns_422", "lineno": 88, "outcome": "passed", "keywords": ["test_num_solutions_above_max_returns_422", "TestGeneratePdfInputValidation", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0002072889983537607, "outcome": "passed"}, "call": {"duration": 0.24371030800102744, "outcome": "passed"}, "teardown": {"duration": 0.0001426230010110885, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_handwriting_ratio_out_of_range_returns_422", "lineno": 96, "outcome": "passed", "keywords": ["test_handwriting_ratio_out_of_range_returns_422", "TestGeneratePdfInputValidation", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00018584499775897712, "outcome": "passed"}, "call": {"duration": 0.4894045770051889, "outcome": "passed"}, "teardown": {"duration": 0.0006439410062739626, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_non_json_body_returns_422", "lineno": 104, "outcome": "passed", "keywords": ["test_non_json_body_returns_422", "TestGeneratePdfInputValidation", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0005049800020060502, "outcome": "passed"}, "call": {"duration": 0.3943607869950938, "outcome": "passed"}, "teardown": {"duration": 0.000602676002017688, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfInputValidation::test_empty_body_returns_422", "lineno": 111, "outcome": "passed", "keywords": ["test_empty_body_returns_422", "TestGeneratePdfInputValidation", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0006607830000575632, "outcome": "passed"}, "call": {"duration": 0.3017838160012616, "outcome": "passed"}, "teardown": {"duration": 0.00039516900142189115, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_nonexistent_request_id_returns_404", "lineno": 125, "outcome": "passed", "keywords": ["test_nonexistent_request_id_returns_404", "TestGeneratePdfBusinessLogic", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0002728990002651699, "outcome": "passed"}, "call": {"duration": 0.3010831919964403, "outcome": "passed"}, "teardown": {"duration": 0.00043934299901593477, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_nonexistent_request_id_error_is_json", "lineno": 131, "outcome": "passed", "keywords": ["test_nonexistent_request_id_error_is_json", "TestGeneratePdfBusinessLogic", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0004685079984483309, "outcome": "passed"}, "call": {"duration": 0.4919843129973742, "outcome": "passed"}, "teardown": {"duration": 0.0003902040043612942, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_nonexistent_request_id_has_detail", "lineno": 137, "outcome": "passed", "keywords": ["test_nonexistent_request_id_has_detail", "TestGeneratePdfBusinessLogic", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00037708800664404407, "outcome": "passed"}, "call": {"duration": 0.2937686820005183, "outcome": "passed"}, "teardown": {"duration": 0.00048560099821770564, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_swagger_string_token_is_sanitised", "lineno": 142, "outcome": "passed", "keywords": ["test_swagger_string_token_is_sanitised", "TestGeneratePdfBusinessLogic", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0007031749992165715, "outcome": "passed"}, "call": {"duration": 0.38197076199867297, "outcome": "passed"}, "teardown": {"duration": 0.0002939990008599125, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_none_google_tokens_are_accepted", "lineno": 157, "outcome": "passed", "keywords": ["test_none_google_tokens_are_accepted", "TestGeneratePdfBusinessLogic", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.000203957999474369, "outcome": "passed"}, "call": {"duration": 0.3102797960018506, "outcome": "passed"}, "teardown": {"duration": 0.0003065089986193925, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_valid_num_solutions_boundary_values_accepted", "lineno": 167, "outcome": "passed", "keywords": ["test_valid_num_solutions_boundary_values_accepted", "TestGeneratePdfBusinessLogic", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00041687899647513404, "outcome": "passed"}, "call": {"duration": 0.6643048230034765, "outcome": "passed"}, "teardown": {"duration": 0.00018328399892197922, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_missing_prompt_params_uses_defaults", "lineno": 177, "outcome": "passed", "keywords": ["test_missing_prompt_params_uses_defaults", "TestGeneratePdfBusinessLogic", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0004798860027221963, "outcome": "passed"}, "call": {"duration": 0.2863150379998842, "outcome": "passed"}, "teardown": {"duration": 0.0003395969979465008, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_generate_pdf_endpoint.py::TestGeneratePdfBusinessLogic::test_request_id_with_user_prefix_is_accepted", "lineno": 185, "outcome": "passed", "keywords": ["test_request_id_with_user_prefix_is_accepted", "TestGeneratePdfBusinessLogic", "test_generate_pdf_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00045020499965175986, "outcome": "passed"}, "call": {"duration": 0.3007366839956376, "outcome": "passed"}, "teardown": {"duration": 0.0005790600043837912, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint::test_root_returns_200", "lineno": 15, "outcome": "passed", "keywords": ["test_root_returns_200", "TestRootEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0010385049972683191, "outcome": "passed"}, "call": {"duration": 0.24807020900334464, "outcome": "passed"}, "teardown": {"duration": 0.00018657100008567795, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint::test_root_content_type_is_json", "lineno": 19, "outcome": "passed", "keywords": ["test_root_content_type_is_json", "TestRootEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0002604320034151897, "outcome": "passed"}, "call": {"duration": 0.2750484139978653, "outcome": "passed"}, "teardown": {"duration": 0.0006151380002847873, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint::test_root_returns_healthy", "lineno": 23, "outcome": "passed", "keywords": ["test_root_returns_healthy", "TestRootEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.3043673219945049, "outcome": "passed"}, "call": {"duration": 0.0006634539968217723, "outcome": "passed"}, "teardown": {"duration": 0.0002367530032643117, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint::test_root_response_has_version", "lineno": 27, "outcome": "passed", "keywords": ["test_root_response_has_version", "TestRootEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0003284679987700656, "outcome": "passed"}, "call": {"duration": 0.00033017300302162766, "outcome": "passed"}, "teardown": {"duration": 0.00022288799664238468, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestRootEndpoint::test_root_schema_contract", "lineno": 33, "outcome": "passed", "keywords": ["test_root_schema_contract", "TestRootEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0004126959975110367, "outcome": "passed"}, "call": {"duration": 0.0002193689942942001, "outcome": "passed"}, "teardown": {"duration": 0.00018815899966284633, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_returns_200", "lineno": 44, "outcome": "passed", "keywords": ["test_health_returns_200", "TestHealthEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0003193689990439452, "outcome": "passed"}, "call": {"duration": 0.2543729280005209, "outcome": "passed"}, "teardown": {"duration": 0.0006887109993840568, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_content_type_is_json", "lineno": 48, "outcome": "passed", "keywords": ["test_health_content_type_is_json", "TestHealthEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0008060079999268055, "outcome": "passed"}, "call": {"duration": 0.24856293300399557, "outcome": "passed"}, "teardown": {"duration": 0.000279380998108536, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_returns_healthy_status", "lineno": 52, "outcome": "passed", "keywords": ["test_health_returns_healthy_status", "TestHealthEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.24738570900080958, "outcome": "passed"}, "call": {"duration": 0.0007358380025834776, "outcome": "passed"}, "teardown": {"duration": 0.0005231920004007407, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_response_has_version", "lineno": 56, "outcome": "passed", "keywords": ["test_health_response_has_version", "TestHealthEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0007183899942901917, "outcome": "passed"}, "call": {"duration": 0.000672582995321136, "outcome": "passed"}, "teardown": {"duration": 0.0004034570010844618, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_schema_contract", "lineno": 61, "outcome": "passed", "keywords": ["test_health_schema_contract", "TestHealthEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0006837640030425973, "outcome": "passed"}, "call": {"duration": 0.000670924004225526, "outcome": "passed"}, "teardown": {"duration": 0.0006018450003466569, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_health_endpoints.py::TestHealthEndpoint::test_health_and_root_agree", "lineno": 66, "outcome": "passed", "keywords": ["test_health_and_root_agree", "TestHealthEndpoint", "test_health_endpoints.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0004475630048546009, "outcome": "passed"}, "call": {"duration": 0.5380075079956441, "outcome": "passed"}, "teardown": {"duration": 0.0003118940003332682, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_unknown_uuid_returns_non_200", "lineno": 27, "outcome": "passed", "keywords": ["test_unknown_uuid_returns_non_200", "TestJobStatusEndpoint", "test_job_status_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0003528750021359883, "outcome": "passed"}, "call": {"duration": 0.3001516329968581, "outcome": "passed"}, "teardown": {"duration": 0.00026341999910073355, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_unknown_uuid_response_is_json", "lineno": 35, "outcome": "passed", "keywords": ["test_unknown_uuid_response_is_json", "TestJobStatusEndpoint", "test_job_status_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0003184300003340468, "outcome": "passed"}, "call": {"duration": 0.2871410959996865, "outcome": "passed"}, "teardown": {"duration": 0.0007027009996818379, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_unknown_uuid_has_detail", "lineno": 40, "outcome": "passed", "keywords": ["test_unknown_uuid_has_detail", "TestJobStatusEndpoint", "test_job_status_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0006867629999760538, "outcome": "passed"}, "call": {"duration": 0.2929407080009696, "outcome": "passed"}, "teardown": {"duration": 0.0004961619997629896, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_garbage_request_id_returns_error", "lineno": 46, "outcome": "passed", "keywords": ["test_garbage_request_id_returns_error", "TestJobStatusEndpoint", "test_job_status_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0005586209954344667, "outcome": "passed"}, "call": {"duration": 0.29536835799808614, "outcome": "passed"}, "teardown": {"duration": 0.0005078969988971949, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_endpoint_is_get_only", "lineno": 52, "outcome": "passed", "keywords": ["test_endpoint_is_get_only", "TestJobStatusEndpoint", "test_job_status_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00036942300357623026, "outcome": "passed"}, "call": {"duration": 0.35954990799655207, "outcome": "passed"}, "teardown": {"duration": 0.00041766100184759125, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_status_field_in_known_values_if_200", "lineno": 59, "outcome": "passed", "keywords": ["test_status_field_in_known_values_if_200", "TestJobStatusEndpoint", "test_job_status_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0005010739987483248, "outcome": "passed"}, "call": {"duration": 0.3028756359999534, "outcome": "passed"}, "teardown": {"duration": 0.0004444679943844676, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_job_status_endpoint.py::TestJobStatusEndpoint::test_200_response_contract_if_present", "lineno": 72, "outcome": "passed", "keywords": ["test_200_response_contract_if_present", "TestJobStatusEndpoint", "test_job_status_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0006097720033721998, "outcome": "passed"}, "call": {"duration": 0.30531538800278213, "outcome": "passed"}, "teardown": {"duration": 0.0004610579999280162, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_returns_200_for_any_user", "lineno": 24, "outcome": "passed", "keywords": ["test_returns_200_for_any_user", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0006593810030608438, "outcome": "passed"}, "call": {"duration": 0.3246818469997379, "outcome": "passed"}, "teardown": {"duration": 0.0005018690062570386, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_response_is_json", "lineno": 31, "outcome": "passed", "keywords": ["test_response_is_json", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.000311261996102985, "outcome": "passed"}, "call": {"duration": 0.3196866200014483, "outcome": "passed"}, "teardown": {"duration": 0.00043382100557209924, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_response_has_required_fields", "lineno": 38, "outcome": "passed", "keywords": ["test_response_has_required_fields", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0005076179950265214, "outcome": "passed"}, "call": {"duration": 0.2865136500040535, "outcome": "passed"}, "teardown": {"duration": 0.0006570420009666122, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_jobs_is_a_list", "lineno": 44, "outcome": "passed", "keywords": ["test_jobs_is_a_list", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0008368650014745072, "outcome": "passed"}, "call": {"duration": 0.30151564300467726, "outcome": "passed"}, "teardown": {"duration": 0.00014677999570267275, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_count_matches_jobs_length", "lineno": 49, "outcome": "passed", "keywords": ["test_count_matches_jobs_length", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00016177900397451594, "outcome": "passed"}, "call": {"duration": 0.3268101060020854, "outcome": "passed"}, "teardown": {"duration": 0.00023616800172021613, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_user_id_echoed_in_response", "lineno": 56, "outcome": "passed", "keywords": ["test_user_id_echoed_in_response", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00022181500389706343, "outcome": "passed"}, "call": {"duration": 0.28437962799944216, "outcome": "passed"}, "teardown": {"duration": 0.0004483880038606003, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_default_limit_is_50", "lineno": 65, "outcome": "passed", "keywords": ["test_default_limit_is_50", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0005509559996426105, "outcome": "passed"}, "call": {"duration": 0.2906966169975931, "outcome": "passed"}, "teardown": {"duration": 0.0004909900017082691, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_default_offset_is_0", "lineno": 70, "outcome": "passed", "keywords": ["test_default_offset_is_0", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0006275339983403683, "outcome": "passed"}, "call": {"duration": 0.30948905699915485, "outcome": "passed"}, "teardown": {"duration": 0.00014877099602017552, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_custom_limit_is_respected", "lineno": 75, "outcome": "passed", "keywords": ["test_custom_limit_is_respected", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.00016086499817902222, "outcome": "passed"}, "call": {"duration": 0.29846951600484317, "outcome": "passed"}, "teardown": {"duration": 0.00041236299875890836, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_custom_offset_is_respected", "lineno": 80, "outcome": "passed", "keywords": ["test_custom_offset_is_respected", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0004513649982982315, "outcome": "passed"}, "call": {"duration": 0.3994074099973659, "outcome": "passed"}, "teardown": {"duration": 0.00024419399414910004, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_limit_above_100_is_capped", "lineno": 85, "outcome": "passed", "keywords": ["test_limit_above_100_is_capped", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0002983209997182712, "outcome": "passed"}, "call": {"duration": 0.2929763419961091, "outcome": "passed"}, "teardown": {"duration": 0.00035351600672584027, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_non_integer_user_id_returns_422", "lineno": 95, "outcome": "passed", "keywords": ["test_non_integer_user_id_returns_422", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0004613920027622953, "outcome": "passed"}, "call": {"duration": 0.24897473899909528, "outcome": "passed"}, "teardown": {"duration": 0.0004213819993310608, "outcome": "passed"}}, {"nodeid": "api/tests/functional/test_user_jobs_endpoint.py::TestUserJobsEndpoint::test_endpoint_is_get_only", "lineno": 102, "outcome": "passed", "keywords": ["test_endpoint_is_get_only", "TestUserJobsEndpoint", "test_user_jobs_endpoint.py", "functional", "tests", "api", "docgenie", ""], "setup": {"duration": 0.0006004419992677867, "outcome": "passed"}, "call": {"duration": 0.27524505700421287, "outcome": "passed"}, "teardown": {"duration": 0.002309840994712431, "outcome": "passed"}}]} |