<?xml version="1.0" encoding="utf-8"?><testsuites><testsuite name="pytest" errors="0" failures="58" skipped="9" tests="137" time="188.337" timestamp="2026-04-03T09:56:56.737298" hostname="runnervm727z3"><testcase classname="tests.endpoints.attachments.test_attachments_add" name="test_add_success" time="2.720"><failure message="AssertionError: Expected status 200, got 400. URL: https://api.ganttpro.com/v1.0/attachments, Response: [{&quot;code&quot;:3005,&quot;msg&quot;:&quot;Code: 3005: body must have required property 'userId'&quot;}]">tests/endpoints/attachments/test_attachments_add.py:30: in test_add_success
    assert_status_code(response, 200)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 200, got 400. URL: https://api.ganttpro.com/v1.0/attachments, Response: [{"code":3005,"msg":"Code: 3005: body must have required property 'userId'"}]</failure></testcase><testcase classname="tests.endpoints.attachments.test_attachments_add" name="test_add_unauthorized" time="1.179"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/attachments, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/attachments/test_attachments_add.py:55: in test_add_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/attachments, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.attachments.test_attachments_add" name="test_add_missing_fields" time="1.195" /><testcase classname="tests.endpoints.attachments.test_attachments_delete" name="test_delete_attachment_unauthorized" time="0.001"><skipped type="pytest.skip" message="Attachment tests require file upload which is not yet implemented">/home/runner/work/api-tests-ganttpro/api-tests-ganttpro/tests/endpoints/attachments/test_attachments_delete.py:7: Attachment tests require file upload which is not yet implemented</skipped></testcase><testcase classname="tests.endpoints.attachments.test_attachments_delete" name="test_delete_attachment_not_found" time="1.201" /><testcase classname="tests.endpoints.attachments.test_attachments_delete_by_ids" name="test_delete_attachments_by_ids_success" time="0.001"><skipped type="pytest.skip" message="Attachment tests require file upload which is not yet implemented">/home/runner/work/api-tests-ganttpro/api-tests-ganttpro/tests/endpoints/attachments/test_attachments_delete_by_ids.py:7: Attachment tests require file upload which is not yet implemented</skipped></testcase><testcase classname="tests.endpoints.attachments.test_attachments_delete_by_ids" name="test_delete_attachments_by_ids_unauthorized" time="1.179"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/attachments/delete/byIds, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/attachments/test_attachments_delete_by_ids.py:32: in test_delete_attachments_by_ids_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/attachments/delete/byIds, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.attachments.test_attachments_delete_by_ids" name="test_delete_attachments_by_ids_missing_required_field" time="1.197" /><testcase classname="tests.endpoints.attachments.test_attachments_get_by_project" name="test_get_attachments_by_project_id_success" time="1.217" /><testcase classname="tests.endpoints.attachments.test_attachments_get_by_project" name="test_get_attachments_by_project_id_unauthorized" time="1.178"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/attachments/getByProjectId?projectId=1518509415138, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/attachments/test_attachments_get_by_project.py:34: in test_get_attachments_by_project_id_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/attachments/getByProjectId?projectId=1518509415138, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.attachments.test_attachments_get_by_project" name="test_get_attachments_by_project_id_missing_required_param" time="1.200"><failure message="AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/attachments/getByProjectId, Response: [{&quot;code&quot;:3005,&quot;msg&quot;:&quot;Code: 3005: query must have required property 'projectId'&quot;}]">tests/endpoints/attachments/test_attachments_get_by_project.py:45: in test_get_attachments_by_project_id_missing_required_param
    assert_status_code(response, 404)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/attachments/getByProjectId, Response: [{"code":3005,"msg":"Code: 3005: query must have required property 'projectId'"}]</failure></testcase><testcase classname="tests.endpoints.attachments.test_attachments_get_list" name="test_get_attachments_list_success" time="1.200" /><testcase classname="tests.endpoints.attachments.test_attachments_get_list" name="test_get_attachments_list_unauthorized" time="1.178"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/attachments?taskId=214480931, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/attachments/test_attachments_get_list.py:28: in test_get_attachments_list_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/attachments?taskId=214480931, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.attachments.test_attachments_get_list" name="test_get_attachments_list_missing_required_param" time="1.195"><failure message="AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/attachments, Response: [{&quot;code&quot;:3005,&quot;msg&quot;:&quot;Code: 3005: query must have required property 'taskId'&quot;}]">tests/endpoints/attachments/test_attachments_get_list.py:39: in test_get_attachments_list_missing_required_param
    assert_status_code(response, 404)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/attachments, Response: [{"code":3005,"msg":"Code: 3005: query must have required property 'taskId'"}]</failure></testcase><testcase classname="tests.endpoints.colors.test_colors_get" name="test_get_colors_success" time="1.198" /><testcase classname="tests.endpoints.colors.test_colors_get" name="test_get_colors_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/colors, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/colors/test_colors_get.py:27: in test_get_colors_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/colors, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.comments.test_comments_add" name="test_add_comment_to_task_success" time="1.004"><failure message="TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'">tests/endpoints/comments/test_comments_add.py:15: in test_add_comment_to_task_success
    "userId": int(user_id),
E   TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'</failure></testcase><testcase classname="tests.endpoints.comments.test_comments_add" name="test_add_comment_to_task_unauthorized" time="1.003"><failure message="TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'">tests/endpoints/comments/test_comments_add.py:31: in test_add_comment_to_task_unauthorized
    "userId": int(user_id),
E   TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'</failure></testcase><testcase classname="tests.endpoints.comments.test_comments_add" name="test_add_comment_to_task_missing_required_fields" time="1.194" /><testcase classname="tests.endpoints.comments.test_comments_delete" name="test_delete_comment_unauthorized" time="0.199"><skipped type="pytest.skip" message="Could not create test comment: 400">/home/runner/work/api-tests-ganttpro/api-tests-ganttpro/tests/endpoints/comments/test_comments_delete.py:7: Could not create test comment: 400</skipped></testcase><testcase classname="tests.endpoints.comments.test_comments_delete" name="test_delete_comment_not_found" time="1.197" /><testcase classname="tests.endpoints.comments.test_comments_get_by_project" name="test_get_comments_by_project_id_success" time="1.207" /><testcase classname="tests.endpoints.comments.test_comments_get_by_project" name="test_get_comments_by_project_id_unauthorized" time="1.178"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/comments/getByProjectId?projectId=1518509415138, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/comments/test_comments_get_by_project.py:34: in test_get_comments_by_project_id_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/comments/getByProjectId?projectId=1518509415138, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.comments.test_comments_get_by_project" name="test_get_comments_by_project_id_missing_required_param" time="1.194"><failure message="AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/comments/getByProjectId, Response: [{&quot;code&quot;:3005,&quot;msg&quot;:&quot;Code: 3005: query must have required property 'projectId'&quot;}]">tests/endpoints/comments/test_comments_get_by_project.py:45: in test_get_comments_by_project_id_missing_required_param
    assert_status_code(response, 404)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/comments/getByProjectId, Response: [{"code":3005,"msg":"Code: 3005: query must have required property 'projectId'"}]</failure></testcase><testcase classname="tests.endpoints.comments.test_comments_get_list" name="test_get_comments_list_success" time="1.204" /><testcase classname="tests.endpoints.comments.test_comments_get_list" name="test_get_comments_list_unauthorized" time="1.178"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/comments?taskId=214480931, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/comments/test_comments_get_list.py:29: in test_get_comments_list_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/comments?taskId=214480931, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.comments.test_comments_get_list" name="test_get_comments_list_missing_required_param" time="1.198"><failure message="AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/comments, Response: [{&quot;code&quot;:3005,&quot;msg&quot;:&quot;Code: 3005: query must have required property 'taskId'&quot;}]">tests/endpoints/comments/test_comments_get_list.py:40: in test_get_comments_list_missing_required_param
    assert_status_code(response, 404)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/comments, Response: [{"code":3005,"msg":"Code: 3005: query must have required property 'taskId'"}]</failure></testcase><testcase classname="tests.endpoints.comments.test_comments_update" name="test_update_comment_success" time="0.001"><skipped type="pytest.skip" message="Could not create test comment: 400">/home/runner/work/api-tests-ganttpro/api-tests-ganttpro/tests/endpoints/comments/test_comments_update.py:7: Could not create test comment: 400</skipped></testcase><testcase classname="tests.endpoints.comments.test_comments_update" name="test_update_comment_unauthorized" time="0.000"><skipped type="pytest.skip" message="Could not create test comment: 400">/home/runner/work/api-tests-ganttpro/api-tests-ganttpro/tests/endpoints/comments/test_comments_update.py:23: Could not create test comment: 400</skipped></testcase><testcase classname="tests.endpoints.comments.test_comments_update" name="test_update_comment_missing_required_field" time="0.001"><skipped type="pytest.skip" message="Could not create test comment: 400">/home/runner/work/api-tests-ganttpro/api-tests-ganttpro/tests/endpoints/comments/test_comments_update.py:38: Could not create test comment: 400</skipped></testcase><testcase classname="tests.endpoints.languages.test_languages_get" name="test_get_languages_success" time="1.215" /><testcase classname="tests.endpoints.languages.test_languages_get" name="test_get_languages_unauthorized" time="1.176"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/languages, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/languages/test_languages_get.py:27: in test_get_languages_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/languages, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.links.test_links_create" name="test_create_link_success" time="3.964" /><testcase classname="tests.endpoints.links.test_links_create" name="test_create_link_unauthorized" time="1.178"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/links, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/links/test_links_create.py:31: in test_create_link_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/links, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.links.test_links_create" name="test_create_link_missing_required_fields" time="1.194" /><testcase classname="tests.endpoints.links.test_links_delete" name="test_delete_link_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/links/129688406, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/links/test_links_delete.py:18: in test_delete_link_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/links/129688406, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.links.test_links_delete" name="test_delete_link_not_found" time="1.203" /><testcase classname="tests.endpoints.links.test_links_get" name="test_get_link_success" time="1.200" /><testcase classname="tests.endpoints.links.test_links_get" name="test_get_link_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/links/129688406, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/links/test_links_get.py:32: in test_get_link_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/links/129688406, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.links.test_links_get" name="test_get_link_not_found" time="1.203" /><testcase classname="tests.endpoints.links.test_links_update" name="test_update_link_success" time="1.449" /><testcase classname="tests.endpoints.links.test_links_update" name="test_update_link_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/links/129688406, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/links/test_links_update.py:35: in test_update_link_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/links/129688406, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.links.test_links_update" name="test_update_link_invalid_id" time="1.200" /><testcase classname="tests.endpoints.projects.test_projects_get_list" name="test_get_projects_list_success" time="1.200" /><testcase classname="tests.endpoints.projects.test_projects_get_list" name="test_get_projects_list_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/projects, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/projects/test_projects_get_list.py:28: in test_get_projects_list_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/projects, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.projects.test_projects_get_list" name="test_get_projects_list_invalid_key" time="1.200"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/projects, Response: {&quot;code&quot;:1006,&quot;msg&quot;:&quot;Code 1006: Your api key is invalid or it's not exist&quot;}">tests/endpoints/projects/test_projects_get_list.py:39: in test_get_projects_list_invalid_key
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/projects, Response: {"code":1006,"msg":"Code 1006: Your api key is invalid or it's not exist"}</failure></testcase><testcase classname="tests.endpoints.resources.test_resources_get" name="test_get_resources_list_success" time="1.202" /><testcase classname="tests.endpoints.resources.test_resources_get" name="test_get_resources_list_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/resources, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/resources/test_resources_get.py:29: in test_get_resources_list_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/resources, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.resources.test_resources_get" name="test_get_resources_list_invalid_key" time="1.198"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/resources, Response: {&quot;code&quot;:1006,&quot;msg&quot;:&quot;Code 1006: Your api key is invalid or it's not exist&quot;}">tests/endpoints/resources/test_resources_get.py:41: in test_get_resources_list_invalid_key
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/resources, Response: {"code":1006,"msg":"Code 1006: Your api key is invalid or it's not exist"}</failure></testcase><testcase classname="tests.endpoints.resources.test_resources_get_list" name="test_get_resources_list_success" time="1.210" /><testcase classname="tests.endpoints.resources.test_resources_get_list" name="test_get_resources_list_unauthorized" time="1.178"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/resources, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/resources/test_resources_get_list.py:27: in test_get_resources_list_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/resources, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.roles.test_roles_account_get" name="test_get_account_roles_success" time="1.208" /><testcase classname="tests.endpoints.roles.test_roles_account_get" name="test_get_account_roles_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/roles/account, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/roles/test_roles_account_get.py:26: in test_get_account_roles_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/roles/account, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.roles.test_roles_project_get" name="test_get_project_roles_success" time="1.367" /><testcase classname="tests.endpoints.roles.test_roles_project_get" name="test_get_project_roles_unauthorized" time="1.176"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/roles/project, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/roles/test_roles_project_get.py:26: in test_get_project_roles_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/roles/project, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource" name="test_assign_resource_to_task_success" time="1.201"><skipped type="pytest.skip" message="API returned 500 on assignResource">/home/runner/work/api-tests-ganttpro/api-tests-ganttpro/tests/endpoints/tasks/test_tasks_assign_resource.py:19: API returned 500 on assignResource</skipped></testcase><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource" name="test_assign_resource_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/tasks/test_tasks_assign_resource.py:35: in test_assign_resource_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource" name="test_assign_resource_invalid_key" time="1.197"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource, Response: {&quot;code&quot;:1006,&quot;msg&quot;:&quot;Code 1006: Your api key is invalid or it's not exist&quot;}">tests/endpoints/tasks/test_tasks_assign_resource.py:51: in test_assign_resource_invalid_key
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource, Response: {"code":1006,"msg":"Code 1006: Your api key is invalid or it's not exist"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource" name="test_assign_resource_missing_required_field" time="1.198" /><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource_delete" name="test_delete_assign_from_task_success" time="1.453" /><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource_delete" name="test_delete_assign_from_task_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource?resourceId=1, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/tasks/test_tasks_assign_resource_delete.py:29: in test_delete_assign_from_task_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource?resourceId=1, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource_delete" name="test_delete_assign_from_task_missing_required_param" time="1.195"><failure message="AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource, Response: [{&quot;code&quot;:3005,&quot;msg&quot;:&quot;Code: 3005: query must have required property 'resourceId'&quot;}]">tests/endpoints/tasks/test_tasks_assign_resource_delete.py:41: in test_delete_assign_from_task_missing_required_param
    assert_status_code(response, 404)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource, Response: [{"code":3005,"msg":"Code: 3005: query must have required property 'resourceId'"}]</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource_post" name="test_assign_resources_to_task_success" time="1.504" /><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource_post" name="test_assign_resources_to_task_unauthorized" time="1.178"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/tasks/test_tasks_assign_resource_post.py:33: in test_assign_resources_to_task_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource_post" name="test_assign_resources_to_task_missing_required_field" time="1.197" /><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource_put" name="test_update_task_resource_success" time="1.498" /><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource_put" name="test_update_task_resource_unauthorized" time="1.179"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/tasks/test_tasks_assign_resource_put.py:33: in test_update_task_resource_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931/assignResource, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_assign_resource_put" name="test_update_task_resource_missing_required_field" time="1.198" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_success" time="1.855" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/tasks/test_tasks_create.py:39: in test_create_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_invalid_key" time="1.201"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks, Response: {&quot;code&quot;:1006,&quot;msg&quot;:&quot;Code 1006: Your api key is invalid or it's not exist&quot;}">tests/endpoints/tasks/test_tasks_create.py:55: in test_create_invalid_key
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks, Response: {"code":1006,"msg":"Code 1006: Your api key is invalid or it's not exist"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_missing_name" time="1.198" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_defaults" time="1.686"><failure message="AssertionError: assert 480 == 1440&#10; +  where 480 = &lt;built-in method get of dict object at 0x7f66a4b06f80&gt;('duration')&#10; +    where &lt;built-in method get of dict object at 0x7f66a4b06f80&gt; = {'attachments': [], 'color': 1, 'comments': [], 'createdAt': '2026-04-03T09:58:22.000Z', ...}.get">tests/endpoints/tasks/test_tasks_create.py:89: in test_create_defaults
    assert item.get("duration") == 1440  # API uses minutes (1 day = 1440 minutes)
E   AssertionError: assert 480 == 1440
E    +  where 480 = &lt;built-in method get of dict object at 0x7f66a4b06f80&gt;('duration')
E    +    where &lt;built-in method get of dict object at 0x7f66a4b06f80&gt; = {'attachments': [], 'color': 1, 'comments': [], 'createdAt': '2026-04-03T09:58:22.000Z', ...}.get</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_start_duration_calculates_end" time="2.135" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_end_duration_calculates_start" time="2.052" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_invalid_progress" time="1.198" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_invalid_color" time="1.195" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_missing_project_id" time="1.195" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_start_only_uses_default_duration" time="1.525"><failure message="AssertionError: assert False&#10; +  where False = &lt;built-in method startswith of str object at 0x7f66a4b56210&gt;('2025-01-05')&#10; +    where &lt;built-in method startswith of str object at 0x7f66a4b56210&gt; = '2025-01-06 09:00:00'.startswith&#10; +      where '2025-01-06 09:00:00' = &lt;built-in method get of dict object at 0x7f66a4abde00&gt;('startDate')&#10; +        where &lt;built-in method get of dict object at 0x7f66a4abde00&gt; = {'attachments': [], 'color': 1, 'comments': [], 'createdAt': '2026-04-03T09:58:31.000Z', ...}.get">tests/endpoints/tasks/test_tasks_create.py:217: in test_create_start_only_uses_default_duration
    assert item.get("startDate").startswith("2025-01-05")  # API returns datetime format
E   AssertionError: assert False
E    +  where False = &lt;built-in method startswith of str object at 0x7f66a4b56210&gt;('2025-01-05')
E    +    where &lt;built-in method startswith of str object at 0x7f66a4b56210&gt; = '2025-01-06 09:00:00'.startswith
E    +      where '2025-01-06 09:00:00' = &lt;built-in method get of dict object at 0x7f66a4abde00&gt;('startDate')
E    +        where &lt;built-in method get of dict object at 0x7f66a4abde00&gt; = {'attachments': [], 'color': 1, 'comments': [], 'createdAt': '2026-04-03T09:58:31.000Z', ...}.get</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_duration_only_sets_dates" time="2.170" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_all_dates_recalculates_end" time="2.032" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_progress_max_valid" time="1.988" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_progress_negative" time="1.196" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_color_min_max" time="3.596" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_duration_zero" time="1.195" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_duration_negative" time="1.191" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_blank_name" time="2.188" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_with_parent" time="2.252" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_with_resources" time="2.631" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_with_custom_field" time="1.003"><skipped type="pytest.skip" message="CUSTOM_FIELD_ID не задан">/home/runner/work/api-tests-ganttpro/api-tests-ganttpro/tests/endpoints/tasks/test_tasks_create.py:458: CUSTOM_FIELD_ID не задан</skipped></testcase><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_with_deadline" time="2.030" /><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_no_dates_sets_defaults" time="1.543"><failure message="AssertionError: assert 480 == 1440&#10; +  where 480 = &lt;built-in method get of dict object at 0x7f66a4b28c80&gt;('duration')&#10; +    where &lt;built-in method get of dict object at 0x7f66a4b28c80&gt; = {'attachments': [], 'color': 1, 'comments': [], 'createdAt': '2026-04-03T09:58:56.000Z', ...}.get">tests/endpoints/tasks/test_tasks_create.py:519: in test_create_no_dates_sets_defaults
    assert item.get("duration") == 1440  # Default duration in minutes
E   AssertionError: assert 480 == 1440
E    +  where 480 = &lt;built-in method get of dict object at 0x7f66a4b28c80&gt;('duration')
E    +    where &lt;built-in method get of dict object at 0x7f66a4b28c80&gt; = {'attachments': [], 'color': 1, 'comments': [], 'createdAt': '2026-04-03T09:58:56.000Z', ...}.get</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_create" name="test_create_milestone_type" time="1.998" /><testcase classname="tests.endpoints.tasks.test_tasks_delete" name="test_delete_success" time="2.283" /><testcase classname="tests.endpoints.tasks.test_tasks_delete" name="test_delete_unauthorized" time="2.292"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214481186, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/tasks/test_tasks_delete.py:28: in test_delete_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214481186, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_delete" name="test_delete_invalid_key" time="2.315"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214481192, Response: {&quot;code&quot;:1006,&quot;msg&quot;:&quot;Code 1006: Your api key is invalid or it's not exist&quot;}">tests/endpoints/tasks/test_tasks_delete.py:40: in test_delete_invalid_key
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214481192, Response: {"code":1006,"msg":"Code 1006: Your api key is invalid or it's not exist"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_delete" name="test_delete_nonexistent" time="1.195" /><testcase classname="tests.endpoints.tasks.test_tasks_delete_task" name="test_delete_task_unauthorized" time="1.178"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/tasks/test_tasks_delete_task.py:16: in test_delete_task_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_delete_task" name="test_delete_task_not_found" time="1.347" /><testcase classname="tests.endpoints.tasks.test_tasks_get_list" name="test_get_list_success" time="1.736" /><testcase classname="tests.endpoints.tasks.test_tasks_get_list" name="test_get_list_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks?projectId=1518509415138, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/tasks/test_tasks_get_list.py:28: in test_get_list_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks?projectId=1518509415138, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_get_list" name="test_get_list_invalid_key" time="1.198"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks?projectId=1518509415138, Response: {&quot;code&quot;:1006,&quot;msg&quot;:&quot;Code 1006: Your api key is invalid or it's not exist&quot;}">tests/endpoints/tasks/test_tasks_get_list.py:40: in test_get_list_invalid_key
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks?projectId=1518509415138, Response: {"code":1006,"msg":"Code 1006: Your api key is invalid or it's not exist"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_get_list" name="test_get_list_missing_project_id" time="1.197"><failure message="AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/tasks, Response: [{&quot;code&quot;:3005,&quot;msg&quot;:&quot;Code: 3005: query must have required property 'projectId'&quot;}]">tests/endpoints/tasks/test_tasks_get_list.py:52: in test_get_list_missing_project_id
    assert_status_code(response, 404)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/tasks, Response: [{"code":3005,"msg":"Code: 3005: query must have required property 'projectId'"}]</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_update" name="test_update_success" time="2.286" /><testcase classname="tests.endpoints.tasks.test_tasks_update" name="test_update_unauthorized" time="2.260"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214481204, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/tasks/test_tasks_update.py:35: in test_update_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214481204, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_update" name="test_update_invalid_key" time="2.312"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214481207, Response: {&quot;code&quot;:1006,&quot;msg&quot;:&quot;Code 1006: Your api key is invalid or it's not exist&quot;}">tests/endpoints/tasks/test_tasks_update.py:50: in test_update_invalid_key
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214481207, Response: {"code":1006,"msg":"Code 1006: Your api key is invalid or it's not exist"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_update" name="test_update_nonexistent" time="1.202" /><testcase classname="tests.endpoints.tasks.test_tasks_update_task" name="test_update_task_success" time="1.228" /><testcase classname="tests.endpoints.tasks.test_tasks_update_task" name="test_update_task_unauthorized" time="1.180"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/tasks/test_tasks_update_task.py:31: in test_update_task_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/tasks/214480931, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.tasks.test_tasks_update_task" name="test_update_task_invalid_id" time="1.359" /><testcase classname="tests.endpoints.team.test_team_get" name="test_get_team_success" time="1.197" /><testcase classname="tests.endpoints.team.test_team_get" name="test_get_team_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/team, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/team/test_team_get.py:27: in test_get_team_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/team, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.team.test_team_get" name="test_get_team_invalid_key" time="1.194"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/team, Response: {&quot;code&quot;:1006,&quot;msg&quot;:&quot;Code 1006: Your api key is invalid or it's not exist&quot;}">tests/endpoints/team/test_team_get.py:38: in test_get_team_invalid_key
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/team, Response: {"code":1006,"msg":"Code 1006: Your api key is invalid or it's not exist"}</failure></testcase><testcase classname="tests.endpoints.timelogs.test_timelogs_add" name="test_add_time_log_to_task_success" time="2.277" /><testcase classname="tests.endpoints.timelogs.test_timelogs_add" name="test_add_time_log_to_task_unauthorized" time="2.201"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/timelogs/test_timelogs_add.py:37: in test_add_time_log_to_task_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.timelogs.test_timelogs_add" name="test_add_time_log_to_task_missing_required_fields" time="1.197" /><testcase classname="tests.endpoints.timelogs.test_timelogs_delete" name="test_delete_time_log_unauthorized" time="1.386"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs/1271675, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/timelogs/test_timelogs_delete.py:18: in test_delete_time_log_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs/1271675, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.timelogs.test_timelogs_delete" name="test_delete_time_log_not_found" time="1.205" /><testcase classname="tests.endpoints.timelogs.test_timelogs_get_by_project" name="test_get_time_log_by_project_id_success" time="1.200" /><testcase classname="tests.endpoints.timelogs.test_timelogs_get_by_project" name="test_get_time_log_by_project_id_unauthorized" time="1.178"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs/getByProjectId?projectId=1518509415138, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/timelogs/test_timelogs_get_by_project.py:34: in test_get_time_log_by_project_id_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs/getByProjectId?projectId=1518509415138, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.timelogs.test_timelogs_get_by_project" name="test_get_time_log_by_project_id_missing_required_param" time="1.194"><failure message="AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs/getByProjectId, Response: [{&quot;code&quot;:3005,&quot;msg&quot;:&quot;Code: 3005: query must have required property 'projectId'&quot;}]">tests/endpoints/timelogs/test_timelogs_get_by_project.py:45: in test_get_time_log_by_project_id_missing_required_param
    assert_status_code(response, 404)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs/getByProjectId, Response: [{"code":3005,"msg":"Code: 3005: query must have required property 'projectId'"}]</failure></testcase><testcase classname="tests.endpoints.timelogs.test_timelogs_get_list" name="test_get_time_log_list_success" time="2.267" /><testcase classname="tests.endpoints.timelogs.test_timelogs_get_list" name="test_get_time_log_list_unauthorized" time="2.207"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs?taskId=214481222, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/timelogs/test_timelogs_get_list.py:29: in test_get_time_log_list_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs?taskId=214481222, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.timelogs.test_timelogs_get_list" name="test_get_time_log_list_missing_required_param" time="1.197"><failure message="AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs, Response: [{&quot;code&quot;:3005,&quot;msg&quot;:&quot;Code: 3005: query must have required property 'taskId'&quot;}]">tests/endpoints/timelogs/test_timelogs_get_list.py:40: in test_get_time_log_list_missing_required_param
    assert_status_code(response, 404)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 404, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs, Response: [{"code":3005,"msg":"Code: 3005: query must have required property 'taskId'"}]</failure></testcase><testcase classname="tests.endpoints.timelogs.test_timelogs_get_one" name="test_get_time_log_success" time="1.198" /><testcase classname="tests.endpoints.timelogs.test_timelogs_get_one" name="test_get_time_log_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs/1271675, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/timelogs/test_timelogs_get_one.py:32: in test_get_time_log_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs/1271675, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.timelogs.test_timelogs_get_one" name="test_get_time_log_not_found" time="1.260" /><testcase classname="tests.endpoints.timelogs.test_timelogs_update" name="test_update_time_log_success" time="1.218" /><testcase classname="tests.endpoints.timelogs.test_timelogs_update" name="test_update_time_log_unauthorized" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs/1271675, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/endpoints/timelogs/test_timelogs_update.py:35: in test_update_time_log_unauthorized
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/timeLogs/1271675, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.endpoints.timelogs.test_timelogs_update" name="test_update_time_log_invalid_id" time="1.193" /><testcase classname="tests.scenarios.test_scenario_example" name="test_scenario_example" time="0.001"><skipped type="pytest.skip" message="Scenario tests are placeholder for 2nd iteration">/home/runner/work/api-tests-ganttpro/api-tests-ganttpro/tests/scenarios/test_scenario_example.py:5: Scenario tests are placeholder for 2nd iteration</skipped></testcase><testcase classname="tests.smoke.test_smoke_public_gets" name="test_get_languages_success" time="1.196" /><testcase classname="tests.smoke.test_smoke_public_gets" name="test_get_colors_success" time="1.194" /><testcase classname="tests.smoke.test_smoke_public_gets" name="test_get_account_roles_success" time="1.200" /><testcase classname="tests.smoke.test_smoke_public_gets" name="test_get_project_roles_success" time="1.352" /><testcase classname="tests.smoke.test_smoke_public_gets" name="test_unauthorized_without_api_key" time="1.177"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/languages, Response: {&quot;code&quot;:1,&quot;text&quot;:&quot;Something went wrong. Please contact our support service to solve this issue&quot;}">tests/smoke/test_smoke_public_gets.py:43: in test_unauthorized_without_api_key
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/languages, Response: {"code":1,"text":"Something went wrong. Please contact our support service to solve this issue"}</failure></testcase><testcase classname="tests.smoke.test_smoke_public_gets" name="test_unauthorized_with_invalid_api_key" time="2.713"><failure message="AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/languages, Response: {&quot;code&quot;:1006,&quot;msg&quot;:&quot;Code 1006: Your api key is invalid or it's not exist&quot;}">tests/smoke/test_smoke_public_gets.py:54: in test_unauthorized_with_invalid_api_key
    assert_status_code(response, 401)
src/assertions.py:28: in assert_status_code
    assert response.status_code == expected_status, message
E   AssertionError: Expected status 401, got 400. URL: https://api.ganttpro.com/v1.0/languages, Response: {"code":1006,"msg":"Code 1006: Your api key is invalid or it's not exist"}</failure></testcase></testsuite></testsuites>