testit-cli 2.10.3__tar.gz → 2.10.3.post580__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {testit_cli-2.10.3/src/testit_cli.egg-info → testit_cli-2.10.3.post580}/PKG-INFO +2 -3
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/setup.py +4 -16
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/apiclient.py +66 -80
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/autotests_filter.py +8 -7
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/click_commands.py +4 -4
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/converter.py +59 -54
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/dir_worker.py +1 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/filter_factory.py +13 -11
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/html_escape_utils.py +3 -3
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/importer.py +5 -5
- testit_cli-2.10.3.post580/src/testit_cli/models/__init__.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/models/testrun.py +3 -4
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/service.py +9 -8
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/testrun_metadata.py +11 -8
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580/src/testit_cli.egg-info}/PKG-INFO +2 -3
- testit_cli-2.10.3.post580/src/testit_cli.egg-info/SOURCES.txt +37 -0
- testit_cli-2.10.3.post580/src/testit_cli.egg-info/requires.txt +4 -0
- testit_cli-2.10.3.post580/src/testit_cli.egg-info/top_level.txt +1 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/tests/test_testrun_metadata.py +6 -6
- testit_cli-2.10.3/src/testit_cli/__init__.py +0 -30
- testit_cli-2.10.3/src/testit_cli/adapters_api/__init__.py +0 -27
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/__init__.py +0 -3
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/attachments_api.py +0 -487
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/auto_tests_api.py +0 -1711
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/configurations_api.py +0 -200
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/custom_attributes_api.py +0 -607
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/parameters_api.py +0 -464
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/project_attributes_api.py +0 -354
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/project_sections_api.py +0 -204
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/project_work_items_api.py +0 -212
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/projects_api.py +0 -610
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/sections_api.py +0 -311
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/test_results_api.py +0 -477
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/test_runs_api.py +0 -1121
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/work_items_api.py +0 -477
- testit_cli-2.10.3/src/testit_cli/adapters_api/api/workflows_api.py +0 -174
- testit_cli-2.10.3/src/testit_cli/adapters_api/api_client.py +0 -898
- testit_cli-2.10.3/src/testit_cli/adapters_api/apis/__init__.py +0 -30
- testit_cli-2.10.3/src/testit_cli/adapters_api/configuration.py +0 -488
- testit_cli-2.10.3/src/testit_cli/adapters_api/exceptions.py +0 -158
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/__init__.py +0 -5
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_auto_tests_id_work_items_post_request.py +0 -319
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_auto_tests_post_request.py +0 -397
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_auto_tests_put_request.py +0 -401
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_auto_tests_search_post_request.py +0 -327
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_configurations_search_post_request.py +0 -339
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_custom_attributes_global_id_put_request.py +0 -337
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_custom_attributes_global_post_request.py +0 -343
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_custom_attributes_search_post_request.py +0 -351
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_parameters_post_request.py +0 -335
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_parameters_search_post_request.py +0 -327
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_projects_post_request.py +0 -334
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_projects_project_id_attributes_put_request.py +0 -355
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_projects_project_id_attributes_search_post_request.py +0 -339
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_projects_project_id_work_items_search_post_request.py +0 -321
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_projects_search_post_request.py +0 -381
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_sections_post_request.py +0 -347
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_test_results_id_put_request.py +0 -397
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_test_results_search_post_request.py +0 -383
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_test_runs_id_reruns_post_request.py +0 -331
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_test_runs_post_request.py +0 -347
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_test_runs_put_request.py +0 -350
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/adapters_work_items_post_request.py +0 -415
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/assign_attachment_api_model.py +0 -263
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/assign_auto_test_case_id_api_model.py +0 -263
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/assign_iteration_api_model.py +0 -274
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/attachment_api_result.py +0 -287
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/attachment_model.py +0 -307
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/attachment_put_model.py +0 -263
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/attachment_put_model_auto_test_step_results_model.py +0 -304
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/attachment_update_request.py +0 -263
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test.py +0 -346
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_api_result.py +0 -350
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_api_result_layer.py +0 -325
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_case_api_model.py +0 -263
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_create_api_model.py +0 -348
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_create_api_model_layer.py +0 -328
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_filter_api_model.py +0 -311
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_id_model.py +0 -263
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_model.py +0 -410
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_model_last_test_result_configuration.py +0 -323
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_model_last_test_result_status.py +0 -341
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_result_reason_short.py +0 -274
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_results_for_test_run_model.py +0 -355
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_search_api_model.py +0 -268
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_search_api_model_filter.py +0 -373
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_search_api_model_includes.py +0 -327
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_search_include_api_model.py +0 -265
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_step.py +0 -274
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_step_api_model.py +0 -274
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_step_api_result.py +0 -271
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_step_model.py +0 -274
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_step_result.py +0 -304
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_step_result_update_request.py +0 -304
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_update_api_model.py +0 -354
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/auto_test_work_item_identifier_api_result.py +0 -269
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/available_test_result_outcome.py +0 -293
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/configuration_filter_model.py +0 -277
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/configuration_model.py +0 -319
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/configuration_short_model.py +0 -269
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/create_empty_test_run_api_model.py +0 -294
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/create_link_api_model.py +0 -285
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/create_parameter_api_model.py +0 -281
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/create_project_api_model.py +0 -278
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/create_step_api_model.py +0 -273
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/create_work_item_api_model.py +0 -372
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_api_result.py +0 -340
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_model.py +0 -338
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_option_api_result.py +0 -279
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_option_model.py +0 -283
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_option_post_api_model.py +0 -271
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_option_update_api_model.py +0 -283
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_put_model.py +0 -314
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_search_api_model.py +0 -292
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_search_api_result.py +0 -348
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_type.py +0 -294
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/custom_attribute_types_enum.py +0 -294
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/date_time_range_selector_model.py +0 -261
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/deletion_state.py +0 -291
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/detailed_project_api_result.py +0 -314
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/detailed_project_api_result_workflow.py +0 -325
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/failure_category_model.py +0 -293
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/global_custom_attribute_post_api_model.py +0 -292
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/global_custom_attribute_update_api_model.py +0 -284
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/guid_extraction_model.py +0 -261
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/image_resize_type.py +0 -290
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/int32_range_selector_model.py +0 -261
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/int64_range_selector_model.py +0 -261
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/iteration_api_result.py +0 -272
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/iteration_model.py +0 -272
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/label_api_model.py +0 -266
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/label_api_result.py +0 -269
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/label_short_model.py +0 -272
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/layer_api_model.py +0 -277
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/layer_api_result.py +0 -274
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/layer_source.py +0 -291
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/link_api_result.py +0 -286
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/link_create_api_model.py +0 -285
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/link_model.py +0 -295
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/link_post_model.py +0 -291
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/link_put_model.py +0 -295
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/link_short_api_result.py +0 -277
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/link_type.py +0 -294
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/link_update_api_model.py +0 -289
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/manual_rerun_api_result.py +0 -263
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/manual_rerun_select_test_results_api_model.py +0 -272
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/manual_rerun_select_test_results_api_model_extraction_model.py +0 -321
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/manual_rerun_select_test_results_api_model_filter.py +0 -383
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/manual_rerun_test_result_api_model.py +0 -262
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/manual_rerun_test_result_api_model_test_result_ids.py +0 -323
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/operation.py +0 -269
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/parameter_api_result.py +0 -293
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/parameter_iteration_model.py +0 -267
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/parameter_short_api_result.py +0 -281
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/parameter_short_model.py +0 -299
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/parameters_filter_api_model.py +0 -265
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/problem_details.py +0 -279
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/project_api_result.py +0 -297
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/project_attributes_filter_model.py +0 -288
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/project_shortest_api_result.py +0 -292
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/project_type_model.py +0 -290
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/projects_filter_model.py +0 -322
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/projects_filter_model_autotests_count.py +0 -323
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/projects_filter_model_checklists_count.py +0 -323
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/projects_filter_model_created_date.py +0 -323
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/projects_filter_model_shared_steps_count.py +0 -323
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/projects_filter_model_test_cases_count.py +0 -323
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/section_model.py +0 -306
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/section_post_model.py +0 -298
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/section_shared_step.py +0 -337
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/section_with_steps_model.py +0 -325
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/shared_step_model.py +0 -292
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/shared_step_result_api_model.py +0 -269
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/step_comment_api_model.py +0 -314
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/step_model.py +0 -292
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/step_post_model.py +0 -273
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/step_result_api_model.py +0 -288
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/tag_model.py +0 -267
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_result_link_api_result.py +0 -291
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_result_outcome.py +0 -293
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_result_response.py +0 -378
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_result_short_response.py +0 -356
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_result_short_response_status.py +0 -329
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_result_step_comment_update_request.py +0 -290
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_result_update_request.py +0 -338
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_results_filter_api_model.py +0 -324
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_results_filter_api_model_duration.py +0 -323
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_run_api_result.py +0 -324
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_run_api_result_status.py +0 -329
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_run_state.py +0 -292
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_status_api_result.py +0 -280
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_status_api_type.py +0 -293
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_status_model.py +0 -296
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/test_status_type.py +0 -293
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/update_empty_test_run_api_model.py +0 -299
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/update_link_api_model.py +0 -289
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/validation_problem_details.py +0 -289
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_api_result.py +0 -422
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_entity_type_api_model.py +0 -291
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_filter_api_model.py +0 -372
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_filter_api_model_duration.py +0 -323
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_id_api_model.py +0 -263
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_parameter_key_api_model.py +0 -263
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_parameter_key_api_result.py +0 -263
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_priority_api_model.py +0 -293
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_priority_model.py +0 -293
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_select_api_model.py +0 -268
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_select_api_model_filter.py +0 -431
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_short_api_result.py +0 -368
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_source_type_model.py +0 -290
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_state_api_model.py +0 -291
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_states.py +0 -291
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/work_item_type_model.py +0 -291
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/workflow_api_result.py +0 -274
- testit_cli-2.10.3/src/testit_cli/adapters_api/model/workflow_status_api_result.py +0 -280
- testit_cli-2.10.3/src/testit_cli/adapters_api/model_utils.py +0 -2058
- testit_cli-2.10.3/src/testit_cli/adapters_api/models/__init__.py +0 -185
- testit_cli-2.10.3/src/testit_cli/adapters_api/rest.py +0 -356
- testit_cli-2.10.3/src/testit_cli.egg-info/SOURCES.txt +0 -235
- testit_cli-2.10.3/src/testit_cli.egg-info/requires.txt +0 -5
- testit_cli-2.10.3/src/testit_cli.egg-info/top_level.txt +0 -2
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/LICENSE +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/README.md +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/setup.cfg +0 -0
- {testit_cli-2.10.3/src/testit_cli/models → testit_cli-2.10.3.post580/src/testit_cli}/__init__.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/__main__.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/file_worker.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/http_retry.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/logger.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/models/config.py +1 -1
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/models/mode.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/models/status_type.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/models/testcase.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/models/testrun_link.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/parser.py +1 -1
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/service_factory.py +3 -3
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli/validation.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli.egg-info/dependency_links.txt +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/src/testit_cli.egg-info/entry_points.txt +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/tests/test_click.py +0 -0
- {testit_cli-2.10.3 → testit_cli-2.10.3.post580}/tests/test_service.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: testit-cli
|
|
3
|
-
Version: 2.10.3
|
|
3
|
+
Version: 2.10.3.post580
|
|
4
4
|
Summary: This tool is the command line wrapper of Test IT allowing you to upload the test results in real time to Test IT
|
|
5
5
|
Home-page: https://pypi.org/project/testit-cli/
|
|
6
6
|
Author: Integration team
|
|
@@ -16,11 +16,10 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
License-File: LICENSE
|
|
19
|
+
Requires-Dist: testit-api-client==7.6.1.post580
|
|
19
20
|
Requires-Dist: validators
|
|
20
21
|
Requires-Dist: tqdm
|
|
21
22
|
Requires-Dist: click~=8.0.4
|
|
22
|
-
Requires-Dist: urllib3>=2.6.0
|
|
23
|
-
Requires-Dist: python-dateutil
|
|
24
23
|
Dynamic: author
|
|
25
24
|
Dynamic: author-email
|
|
26
25
|
Dynamic: classifier
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
from setuptools import find_packages, setup
|
|
2
2
|
|
|
3
|
-
VERSION = "2.10.3"
|
|
4
|
-
|
|
5
|
-
ADAPTERS_ROOT = "src/testit_cli/adapters_api"
|
|
6
|
-
ADAPTERS_PACKAGES = ["adapters_api"] + [
|
|
7
|
-
f"adapters_api.{pkg}" for pkg in find_packages(where=ADAPTERS_ROOT)
|
|
8
|
-
]
|
|
9
|
-
CLI_PACKAGES = [
|
|
10
|
-
pkg for pkg in find_packages(where="src")
|
|
11
|
-
if not pkg.startswith("testit_cli.adapters_api")
|
|
12
|
-
]
|
|
3
|
+
VERSION = "2.10.3.post580"
|
|
13
4
|
|
|
14
5
|
setup(
|
|
15
6
|
name='testit-cli',
|
|
@@ -33,12 +24,9 @@ setup(
|
|
|
33
24
|
'Programming Language :: Python :: 3.12',
|
|
34
25
|
],
|
|
35
26
|
py_modules=['testit_cli'],
|
|
36
|
-
packages=
|
|
37
|
-
package_dir={
|
|
38
|
-
|
|
39
|
-
'adapters_api': ADAPTERS_ROOT,
|
|
40
|
-
},
|
|
41
|
-
install_requires=['validators', 'tqdm', 'click~=8.0.4', 'urllib3>=2.6.0', 'python-dateutil'],
|
|
27
|
+
packages=find_packages(where='src'),
|
|
28
|
+
package_dir={'': 'src'},
|
|
29
|
+
install_requires=['testit-api-client==7.6.1.post580', 'validators', 'tqdm', 'click~=8.0.4'],
|
|
42
30
|
entry_points={
|
|
43
31
|
'console_scripts': [
|
|
44
32
|
'testit = testit_cli.__main__:console_main'
|
|
@@ -3,65 +3,57 @@ import logging
|
|
|
3
3
|
import os
|
|
4
4
|
import typing
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
)
|
|
14
|
-
from adapters_api.apis import TestRunsApi as AdaptersTestRunsApi
|
|
15
|
-
from adapters_api.apis import (
|
|
16
|
-
WorkflowsApi,
|
|
17
|
-
)
|
|
18
|
-
from adapters_api.models import (
|
|
19
|
-
AdaptersAutoTestsPostRequest,
|
|
20
|
-
AdaptersAutoTestsPutRequest,
|
|
21
|
-
AdaptersAutoTestsSearchPostRequest,
|
|
22
|
-
AdaptersProjectsPostRequest,
|
|
23
|
-
AdaptersTestResultsSearchPostRequest,
|
|
24
|
-
AdaptersTestRunsIdRerunsPostRequest,
|
|
25
|
-
AdaptersTestRunsPostRequest,
|
|
26
|
-
AdaptersTestRunsPutRequest,
|
|
6
|
+
from testit_api_client import ApiClient as TmsClient
|
|
7
|
+
from testit_api_client import Configuration
|
|
8
|
+
from testit_api_client.apis import AttachmentsApi, AutoTestsApi, TestRunsApi, TestResultsApi, ProjectsApi, WorkflowsApi
|
|
9
|
+
from testit_api_client.models import (
|
|
10
|
+
ApiV2AutoTestsSearchPostRequest,
|
|
11
|
+
ApiV2TestResultsSearchPostRequest,
|
|
12
|
+
ApiV2TestRunsIdRerunsPostRequest,
|
|
27
13
|
AttachmentModel,
|
|
28
14
|
AttachmentPutModel,
|
|
29
|
-
|
|
15
|
+
AutoTestModel,
|
|
30
16
|
AutoTestResultsForTestRunModel,
|
|
31
|
-
|
|
17
|
+
CreateAutoTestRequest,
|
|
32
18
|
ManualRerunApiResult,
|
|
33
19
|
ManualRerunSelectTestResultsApiModelExtractionModel,
|
|
34
20
|
ManualRerunSelectTestResultsApiModelFilter,
|
|
35
|
-
|
|
21
|
+
TestRunV2ApiResult,
|
|
22
|
+
UpdateAutoTestRequest,
|
|
23
|
+
UpdateEmptyRequest,
|
|
36
24
|
TestResultShortResponse,
|
|
37
|
-
|
|
25
|
+
CreateEmptyRequest,
|
|
26
|
+
AutoTestApiResult,
|
|
27
|
+
DetailedProjectApiResult,
|
|
38
28
|
WorkflowApiResult,
|
|
29
|
+
CreateProjectRequest,
|
|
39
30
|
)
|
|
31
|
+
|
|
40
32
|
from .converter import Converter
|
|
41
|
-
from .html_escape_utils import HtmlEscapeUtils
|
|
42
33
|
from .http_retry import with_http_retries
|
|
43
34
|
from .models.testrun import TestRun
|
|
35
|
+
from .html_escape_utils import HtmlEscapeUtils
|
|
44
36
|
|
|
45
37
|
|
|
46
38
|
class ApiClient:
|
|
47
|
-
"""Class representing an api client
|
|
39
|
+
"""Class representing an api client"""
|
|
48
40
|
|
|
49
41
|
def __init__(self, url: str, token: str, disable_cert_validation: bool):
|
|
50
|
-
|
|
42
|
+
client_config = Configuration(host=url)
|
|
43
|
+
client_config.verify_ssl = not disable_cert_validation
|
|
51
44
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
adapters_client = AdaptersHttpClient(
|
|
55
|
-
configuration=adapters_config,
|
|
45
|
+
client = TmsClient(
|
|
46
|
+
configuration=client_config,
|
|
56
47
|
header_name="Authorization",
|
|
57
|
-
header_value=
|
|
48
|
+
header_value="PrivateToken " + token,
|
|
58
49
|
)
|
|
59
|
-
|
|
60
|
-
self.
|
|
61
|
-
self.
|
|
62
|
-
self.
|
|
63
|
-
self.
|
|
64
|
-
self.
|
|
50
|
+
|
|
51
|
+
self.__test_run_api = TestRunsApi(api_client=client)
|
|
52
|
+
self.__autotest_api = AutoTestsApi(api_client=client)
|
|
53
|
+
self.__attachments_api = AttachmentsApi(api_client=client)
|
|
54
|
+
self.__test_results_api = TestResultsApi(api_client=client)
|
|
55
|
+
self.__projects_api = ProjectsApi(api_client=client)
|
|
56
|
+
self.__workflows_api = WorkflowsApi(api_client=client)
|
|
65
57
|
|
|
66
58
|
def create_test_run(
|
|
67
59
|
self,
|
|
@@ -76,14 +68,12 @@ class ApiClient:
|
|
|
76
68
|
create_kwargs["tags"] = tags
|
|
77
69
|
if links:
|
|
78
70
|
create_kwargs["links"] = links
|
|
79
|
-
model =
|
|
71
|
+
model = CreateEmptyRequest(**create_kwargs)
|
|
80
72
|
model = HtmlEscapeUtils.escape_html_in_object(model)
|
|
81
73
|
logging.debug(f"Creating test run with model: {model}")
|
|
82
74
|
|
|
83
|
-
test_run:
|
|
84
|
-
lambda: self.__test_run_api.
|
|
85
|
-
adapters_test_runs_post_request=model
|
|
86
|
-
),
|
|
75
|
+
test_run: TestRunV2ApiResult = with_http_retries(
|
|
76
|
+
lambda: self.__test_run_api.create_empty(create_empty_request=model),
|
|
87
77
|
label="Create test run",
|
|
88
78
|
)
|
|
89
79
|
|
|
@@ -97,7 +87,7 @@ class ApiClient:
|
|
|
97
87
|
)
|
|
98
88
|
logging.debug(f"Test run created: {test_run}")
|
|
99
89
|
|
|
100
|
-
return Converter.
|
|
90
|
+
return Converter.test_run_v2_get_model_to_test_run(test_run)
|
|
101
91
|
|
|
102
92
|
def rerun_test_run(self, test_run_id: str,
|
|
103
93
|
configuration_ids: list[str] = None,
|
|
@@ -112,14 +102,10 @@ class ApiClient:
|
|
|
112
102
|
test_result_ids: list[str] = None,
|
|
113
103
|
webhook_ids: list[str] = None) -> None:
|
|
114
104
|
"""Function reruns test run and returns manual rerun result."""
|
|
115
|
-
if failure_categories:
|
|
116
|
-
logging.warning(
|
|
117
|
-
"failure_categories is not supported by adapters rerun filter and will be ignored"
|
|
118
|
-
)
|
|
119
|
-
|
|
120
105
|
filter_model = ManualRerunSelectTestResultsApiModelFilter(
|
|
121
106
|
configuration_ids=configuration_ids,
|
|
122
107
|
status_codes=status_codes,
|
|
108
|
+
failure_categories=failure_categories,
|
|
123
109
|
namespace=namespace,
|
|
124
110
|
class_name=class_name,
|
|
125
111
|
auto_test_global_ids=auto_test_global_ids,
|
|
@@ -127,16 +113,16 @@ class ApiClient:
|
|
|
127
113
|
exclude_auto_test_tags=exclude_auto_test_tags,
|
|
128
114
|
name=auto_test_name
|
|
129
115
|
) if any(param is not None for param in [
|
|
130
|
-
configuration_ids, status_codes,
|
|
116
|
+
configuration_ids, status_codes, failure_categories,
|
|
131
117
|
namespace, class_name, auto_test_global_ids, auto_test_tags,
|
|
132
118
|
exclude_auto_test_tags, auto_test_name
|
|
133
119
|
]) else None
|
|
134
120
|
|
|
135
121
|
extraction_model = ManualRerunSelectTestResultsApiModelExtractionModel(
|
|
136
|
-
test_result_ids=
|
|
122
|
+
test_result_ids=test_result_ids
|
|
137
123
|
) if test_result_ids is not None else None
|
|
138
124
|
|
|
139
|
-
model =
|
|
125
|
+
model = ApiV2TestRunsIdRerunsPostRequest(
|
|
140
126
|
filter=filter_model,
|
|
141
127
|
extraction_model=extraction_model,
|
|
142
128
|
webhook_ids=webhook_ids
|
|
@@ -144,9 +130,9 @@ class ApiClient:
|
|
|
144
130
|
|
|
145
131
|
logging.debug(f"Rerunning test run {test_run_id} with model: {model}")
|
|
146
132
|
|
|
147
|
-
result: ManualRerunApiResult = self.__test_run_api.
|
|
133
|
+
result: ManualRerunApiResult = self.__test_run_api.api_v2_test_runs_id_reruns_post(
|
|
148
134
|
id=test_run_id,
|
|
149
|
-
|
|
135
|
+
api_v2_test_runs_id_reruns_post_request=model
|
|
150
136
|
)
|
|
151
137
|
|
|
152
138
|
logging.info(f'Reran testrun (ID: {test_run_id})\nTest results count: {result.test_results_count}')
|
|
@@ -154,11 +140,12 @@ class ApiClient:
|
|
|
154
140
|
|
|
155
141
|
def update_test_run(self, test_run: TestRun) -> None:
|
|
156
142
|
"""Function updates test run."""
|
|
157
|
-
model:
|
|
143
|
+
model: UpdateEmptyRequest = Converter.test_run_to_update_empty_request(test_run)
|
|
158
144
|
model = HtmlEscapeUtils.escape_html_in_object(model)
|
|
159
145
|
logging.debug(f"Updating test run with model: {model}")
|
|
160
146
|
|
|
161
|
-
|
|
147
|
+
# UpdateEmptyRequest
|
|
148
|
+
self.__test_run_api.update_empty(update_empty_request=model)
|
|
162
149
|
|
|
163
150
|
logging.info(f'Updated testrun (ID: {test_run.id})')
|
|
164
151
|
|
|
@@ -168,7 +155,7 @@ class ApiClient:
|
|
|
168
155
|
|
|
169
156
|
test_run = self.get_test_run(test_run_id)
|
|
170
157
|
if test_run is not None and test_run.state != "Completed":
|
|
171
|
-
self.__test_run_api.
|
|
158
|
+
self.__test_run_api.complete_test_run(test_run_id)
|
|
172
159
|
|
|
173
160
|
logging.info(f"Completed testrun (ID: {test_run_id})")
|
|
174
161
|
|
|
@@ -176,48 +163,47 @@ class ApiClient:
|
|
|
176
163
|
"""Function gets test run and returns test run."""
|
|
177
164
|
logging.debug(f"Getting test run {test_run_id}")
|
|
178
165
|
|
|
179
|
-
test_run:
|
|
166
|
+
test_run: TestRunV2ApiResult = self.__test_run_api.get_test_run_by_id(test_run_id)
|
|
180
167
|
if test_run is not None:
|
|
181
168
|
logging.debug(f"Got testrun (ID: {test_run_id})")
|
|
182
|
-
return Converter.
|
|
169
|
+
return Converter.test_run_v2_get_model_to_test_run(test_run)
|
|
183
170
|
|
|
184
171
|
logging.error(f"Test run {test_run_id} not found!")
|
|
185
172
|
raise Exception(f"Test run {test_run_id} not found!")
|
|
186
173
|
|
|
187
|
-
def get_autotests(self, model:
|
|
174
|
+
def get_autotests(self, model: ApiV2AutoTestsSearchPostRequest) \
|
|
188
175
|
-> list[AutoTestApiResult]:
|
|
189
176
|
"""Function returns list of AutoTestApiResult."""
|
|
190
177
|
logging.debug(f"Getting autotests: {model}")
|
|
191
178
|
|
|
192
|
-
autotests: list[AutoTestApiResult] = self.__autotest_api.
|
|
193
|
-
|
|
179
|
+
autotests: list[AutoTestApiResult] = (self.__autotest_api.api_v2_auto_tests_search_post
|
|
180
|
+
(api_v2_auto_tests_search_post_request=model))
|
|
194
181
|
|
|
195
182
|
logging.debug(f"Got autotests: {autotests}")
|
|
196
183
|
|
|
197
184
|
return autotests
|
|
198
185
|
|
|
199
|
-
def create_autotest(self, model:
|
|
186
|
+
def create_autotest(self, model: CreateAutoTestRequest) -> str:
|
|
200
187
|
"""Function creates autotest and returns autotest id."""
|
|
201
188
|
model = HtmlEscapeUtils.escape_html_in_object(model)
|
|
202
189
|
|
|
203
190
|
logging.debug(f"Creating autotest {model}")
|
|
204
191
|
|
|
205
|
-
response:
|
|
206
|
-
adapters_auto_tests_post_request=model)
|
|
192
|
+
response: AutoTestModel = self.__autotest_api.create_auto_test(create_auto_test_request=model)
|
|
207
193
|
|
|
208
194
|
logging.debug(f"Created autotest {response}")
|
|
209
195
|
|
|
210
196
|
return str(response.id)
|
|
211
197
|
|
|
212
|
-
def update_autotest(self, model:
|
|
198
|
+
def update_autotest(self, model: UpdateAutoTestRequest) -> None:
|
|
213
199
|
"""Function updates autotest"""
|
|
214
200
|
try:
|
|
215
|
-
escaped_model:
|
|
201
|
+
escaped_model: UpdateAutoTestRequest = HtmlEscapeUtils.escape_html_in_object(model)
|
|
216
202
|
|
|
217
203
|
logging.debug(f"Updating autotest {escaped_model}")
|
|
218
204
|
|
|
219
|
-
|
|
220
|
-
|
|
205
|
+
# UpdateAutoTestRequest
|
|
206
|
+
self.__autotest_api.update_auto_test(update_auto_test_request=escaped_model)
|
|
221
207
|
|
|
222
208
|
logging.debug(f'Updated "{model.name}" successfully!')
|
|
223
209
|
except Exception as exc:
|
|
@@ -232,7 +218,7 @@ class ApiClient:
|
|
|
232
218
|
|
|
233
219
|
logging.debug(f"Adding autotest results to testrun {testrun_id}: {escaped_model}")
|
|
234
220
|
|
|
235
|
-
self.__test_run_api.
|
|
221
|
+
self.__test_run_api.set_auto_test_results_for_test_run(
|
|
236
222
|
id=testrun_id, auto_test_results_for_test_run_model=[escaped_model]
|
|
237
223
|
)
|
|
238
224
|
logging.debug(
|
|
@@ -249,7 +235,8 @@ class ApiClient:
|
|
|
249
235
|
if os.path.isfile(attachment):
|
|
250
236
|
with open(attachment, "rb+") as file:
|
|
251
237
|
try:
|
|
252
|
-
attachment_response: AttachmentModel = self.__attachments_api.
|
|
238
|
+
attachment_response: AttachmentModel = self.__attachments_api.api_v2_attachments_post(
|
|
239
|
+
# file_type
|
|
253
240
|
file=file)
|
|
254
241
|
|
|
255
242
|
attachment_ids.append(AttachmentPutModel(id=attachment_response.id))
|
|
@@ -264,13 +251,13 @@ class ApiClient:
|
|
|
264
251
|
|
|
265
252
|
def get_test_results(
|
|
266
253
|
self,
|
|
267
|
-
model:
|
|
254
|
+
model: ApiV2TestResultsSearchPostRequest
|
|
268
255
|
) -> list[TestResultShortResponse]:
|
|
269
256
|
"""Function returns list of TestResultShortGetModel."""
|
|
270
257
|
logging.debug(f"Getting test results: {model}")
|
|
271
258
|
|
|
272
|
-
test_results: list[TestResultShortResponse] = self.__test_results_api.
|
|
273
|
-
|
|
259
|
+
test_results: list[TestResultShortResponse] = self.__test_results_api.api_v2_test_results_search_post(
|
|
260
|
+
api_v2_test_results_search_post_request=model)
|
|
274
261
|
|
|
275
262
|
logging.debug(f"Got test results: {test_results}")
|
|
276
263
|
|
|
@@ -278,11 +265,11 @@ class ApiClient:
|
|
|
278
265
|
|
|
279
266
|
def __get_project(self, project_id: str) -> DetailedProjectApiResult:
|
|
280
267
|
"""Function returns DetailedProjectApiResult."""
|
|
281
|
-
return self.__projects_api.
|
|
268
|
+
return self.__projects_api.get_project_by_id(id=project_id)
|
|
282
269
|
|
|
283
270
|
def __get_workflow_by_id(self, workflow_id: str) -> WorkflowApiResult:
|
|
284
271
|
"""Function returns WorkflowApiResult."""
|
|
285
|
-
return self.__workflows_api.
|
|
272
|
+
return self.__workflows_api.api_v2_workflows_id_get(id=workflow_id)
|
|
286
273
|
|
|
287
274
|
def get_status_codes(self, project_id: str) -> typing.List[str]:
|
|
288
275
|
"""Function returns list of statuses from project."""
|
|
@@ -293,12 +280,11 @@ class ApiClient:
|
|
|
293
280
|
|
|
294
281
|
def create_project(self, name: str, description: str = None, is_favorite: bool = None, workflow_id: str = None) -> str:
|
|
295
282
|
"""Function creates project and returns project id."""
|
|
296
|
-
model =
|
|
297
|
-
name=name, description=description, is_favorite=is_favorite, workflow_id=workflow_id)
|
|
283
|
+
model = CreateProjectRequest(name=name, description=description, is_favorite=is_favorite, workflow_id=workflow_id)
|
|
298
284
|
model = HtmlEscapeUtils.escape_html_in_object(model)
|
|
299
285
|
logging.debug(f"Creating project with model: {model}")
|
|
300
286
|
|
|
301
|
-
project = self.__projects_api.
|
|
287
|
+
project = self.__projects_api.create_project(create_project_request=model)
|
|
302
288
|
|
|
303
289
|
logging.info(f'Created new project (ID: {project.id})')
|
|
304
290
|
logging.debug(f"Project created: {project}")
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import hashlib
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from
|
|
5
|
-
from
|
|
3
|
+
from testit_api_client.model.api_v2_auto_tests_search_post_request import ApiV2AutoTestsSearchPostRequest
|
|
4
|
+
from testit_api_client.model.api_v2_test_results_search_post_request import ApiV2TestResultsSearchPostRequest
|
|
5
|
+
from testit_api_client.model.auto_test_api_result import AutoTestApiResult
|
|
6
|
+
|
|
6
7
|
from .apiclient import ApiClient
|
|
7
8
|
from .converter import Converter
|
|
8
9
|
from .filter_factory import FilterFactory
|
|
@@ -16,7 +17,7 @@ class AutotestsFilter:
|
|
|
16
17
|
|
|
17
18
|
def create_filter(self):
|
|
18
19
|
"""Function returns str of filter by autotests for test Framework run command."""
|
|
19
|
-
test_results_search_post_request:
|
|
20
|
+
test_results_search_post_request: ApiV2TestResultsSearchPostRequest = (
|
|
20
21
|
Converter.testrun_id_and_configuration_id_and_in_progress_outcome_to_test_results_search_post_request(
|
|
21
22
|
self.__config.testrun_id,
|
|
22
23
|
self.__config.configuration_id))
|
|
@@ -28,9 +29,9 @@ class AutotestsFilter:
|
|
|
28
29
|
|
|
29
30
|
raise Exception(exception)
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
autotests_search_post_request:
|
|
33
|
-
Converter.
|
|
32
|
+
autotest_ids: list[int] = Converter.test_result_short_get_models_to_autotest_ids(test_results)
|
|
33
|
+
autotests_search_post_request: ApiV2AutoTestsSearchPostRequest = (
|
|
34
|
+
Converter.autotest_ids_to_autotests_search_post_request(autotest_ids))
|
|
34
35
|
autotests: list[AutoTestApiResult] = self.__api_client.get_autotests(autotests_search_post_request)
|
|
35
36
|
external_keys: list[str] = Converter.autotest_models_to_external_keys(autotests)
|
|
36
37
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
from itertools import chain
|
|
2
|
-
|
|
3
1
|
import click
|
|
4
2
|
|
|
3
|
+
from itertools import chain
|
|
4
|
+
|
|
5
5
|
from .models.config import Config
|
|
6
6
|
from .service_factory import ServiceFactory
|
|
7
7
|
from .testrun_metadata import parse_testrun_links, parse_testrun_tags
|
|
8
|
-
from .validation import
|
|
8
|
+
from .validation import validate_uuid, validate_url
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
@click.group()
|
|
@@ -282,7 +282,7 @@ def rerun_test_run(url, token, testrun_id, configuration_id, status_code, failur
|
|
|
282
282
|
|
|
283
283
|
|
|
284
284
|
PYTHON_FRAMEWORKS = ['pytest', 'robotframework', 'behave', 'nose']
|
|
285
|
-
JAVA_FRAMEWORKS = ['gradle-testng', 'gradle-junit5', 'gradle-junit4', 'gradle-cucumber', 'maven-testng', 'maven-junit5', 'maven-junit4', 'maven-cucumber']
|
|
285
|
+
JAVA_FRAMEWORKS = ['gradle-testng', 'gradle-junit6', 'gradle-junit5', 'gradle-junit4', 'gradle-cucumber', 'maven-testng', 'maven-junit6', 'maven-junit5', 'maven-junit4', 'maven-cucumber']
|
|
286
286
|
KOTLIN_FRAMEWORKS = ['kotest']
|
|
287
287
|
JAVASCRIPT_FRAMEWORKS = ['cucumberjs', 'codeceptjs', 'jest', 'mocha', 'playwright', 'testcafe', 'cypress']
|
|
288
288
|
DOTNET_FRAMEWORKS = ['mstest', 'nunit', 'xunit', 'specflow']
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import typing
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
3
|
+
from testit_api_client.model.api_v2_auto_tests_search_post_request import ApiV2AutoTestsSearchPostRequest
|
|
4
|
+
from testit_api_client.model.api_v2_test_results_search_post_request import ApiV2TestResultsSearchPostRequest
|
|
5
|
+
from testit_api_client.model.attachment_api_result import AttachmentApiResult
|
|
6
|
+
from testit_api_client.model.auto_test_api_result import AutoTestApiResult
|
|
7
|
+
from testit_api_client.model.auto_test_search_api_model_filter import AutoTestSearchApiModelFilter
|
|
8
|
+
from testit_api_client.model.auto_test_search_api_model_includes import AutoTestSearchApiModelIncludes
|
|
9
|
+
from testit_api_client.model.create_auto_test_request import CreateAutoTestRequest
|
|
10
|
+
from testit_api_client.model.link_api_result import LinkApiResult
|
|
11
|
+
from testit_api_client.model.test_run_v2_api_result import TestRunV2ApiResult
|
|
12
|
+
from testit_api_client.model.update_auto_test_request import UpdateAutoTestRequest
|
|
13
|
+
from testit_api_client.model.update_empty_request import UpdateEmptyRequest
|
|
14
|
+
from testit_api_client.models import (
|
|
15
|
+
AutoTestResultsForTestRunModel,
|
|
16
|
+
AttachmentPutModel,
|
|
17
|
+
LinkPutModel,
|
|
18
|
+
TestStatusType,
|
|
19
|
+
TestStatusApiType,
|
|
20
|
+
TestResultShortResponse,
|
|
21
|
+
)
|
|
22
|
+
from testit_api_client.model.assign_attachment_api_model import AssignAttachmentApiModel
|
|
23
|
+
|
|
21
24
|
from .models.testcase import TestCase
|
|
22
25
|
from .models.testrun import TestRun
|
|
23
26
|
|
|
@@ -25,7 +28,7 @@ from .models.testrun import TestRun
|
|
|
25
28
|
class Converter:
|
|
26
29
|
@staticmethod
|
|
27
30
|
def project_id_and_external_id_to_autotests_search_post_request(
|
|
28
|
-
project_id: str, external_id: str) ->
|
|
31
|
+
project_id: str, external_id: str) -> ApiV2AutoTestsSearchPostRequest:
|
|
29
32
|
autotests_filter = AutoTestSearchApiModelFilter(
|
|
30
33
|
project_ids=[project_id],
|
|
31
34
|
external_ids=[external_id],
|
|
@@ -35,38 +38,38 @@ class Converter:
|
|
|
35
38
|
include_links=False,
|
|
36
39
|
include_labels=False)
|
|
37
40
|
|
|
38
|
-
return
|
|
41
|
+
return ApiV2AutoTestsSearchPostRequest(filter=autotests_filter, includes=autotests_includes)
|
|
39
42
|
|
|
40
43
|
@staticmethod
|
|
41
|
-
def
|
|
42
|
-
|
|
44
|
+
def autotest_ids_to_autotests_search_post_request(
|
|
45
|
+
autotest_ids: typing.List[int]) -> ApiV2AutoTestsSearchPostRequest:
|
|
43
46
|
autotests_filter = AutoTestSearchApiModelFilter(
|
|
44
|
-
|
|
45
|
-
is_deleted=False)
|
|
47
|
+
global_ids=autotest_ids)
|
|
46
48
|
autotests_includes = AutoTestSearchApiModelIncludes(
|
|
47
49
|
include_steps=False,
|
|
48
50
|
include_links=False,
|
|
49
51
|
include_labels=False)
|
|
50
52
|
|
|
51
|
-
return
|
|
53
|
+
return ApiV2AutoTestsSearchPostRequest(filter=autotests_filter, includes=autotests_includes)
|
|
52
54
|
|
|
53
55
|
@staticmethod
|
|
54
56
|
def testrun_id_and_configuration_id_and_in_progress_outcome_to_test_results_search_post_request(
|
|
55
57
|
testrun_id: str,
|
|
56
|
-
configuration_id: str) ->
|
|
57
|
-
return
|
|
58
|
+
configuration_id: str) -> ApiV2TestResultsSearchPostRequest:
|
|
59
|
+
return ApiV2TestResultsSearchPostRequest(
|
|
58
60
|
test_run_ids=[testrun_id],
|
|
59
61
|
configuration_ids=[configuration_id],
|
|
60
62
|
status_types=[TestStatusApiType("InProgress")])
|
|
61
63
|
|
|
62
64
|
@staticmethod
|
|
63
|
-
def
|
|
64
|
-
test_results: typing.List[TestResultShortResponse]) -> typing.List[
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
def test_result_short_get_models_to_autotest_ids(
|
|
66
|
+
test_results: typing.List[TestResultShortResponse]) -> typing.List[int]:
|
|
67
|
+
autotest_ids = []
|
|
68
|
+
|
|
69
|
+
for test_result in test_results:
|
|
70
|
+
autotest_ids.append(test_result.autotest_global_id)
|
|
71
|
+
|
|
72
|
+
return autotest_ids
|
|
70
73
|
|
|
71
74
|
@staticmethod
|
|
72
75
|
def autotest_models_to_external_keys(
|
|
@@ -85,8 +88,8 @@ class Converter:
|
|
|
85
88
|
|
|
86
89
|
@staticmethod
|
|
87
90
|
def test_result_to_create_autotest_request(
|
|
88
|
-
result: TestCase, external_id: str, project_id: str) ->
|
|
89
|
-
return
|
|
91
|
+
result: TestCase, external_id: str, project_id: str) -> CreateAutoTestRequest:
|
|
92
|
+
return CreateAutoTestRequest(
|
|
90
93
|
external_id=external_id,
|
|
91
94
|
project_id=project_id,
|
|
92
95
|
name=result.get_name(),
|
|
@@ -96,8 +99,8 @@ class Converter:
|
|
|
96
99
|
|
|
97
100
|
@staticmethod
|
|
98
101
|
def test_result_to_update_autotest_request(
|
|
99
|
-
result: TestCase, external_id: str, project_id: str) ->
|
|
100
|
-
return
|
|
102
|
+
result: TestCase, external_id: str, project_id: str) -> UpdateAutoTestRequest:
|
|
103
|
+
return UpdateAutoTestRequest(
|
|
101
104
|
external_id=external_id,
|
|
102
105
|
project_id=project_id,
|
|
103
106
|
name=result.get_name(),
|
|
@@ -125,18 +128,16 @@ class Converter:
|
|
|
125
128
|
return model
|
|
126
129
|
|
|
127
130
|
@classmethod
|
|
128
|
-
def
|
|
129
|
-
state = test_run_model.state_name
|
|
130
|
-
state_value = getattr(state, "value", None) or str(state)
|
|
131
|
+
def test_run_v2_get_model_to_test_run(cls, test_run_model: TestRunV2ApiResult) -> TestRun:
|
|
131
132
|
return TestRun(
|
|
132
133
|
id=test_run_model.id,
|
|
133
134
|
project_id=test_run_model.project_id,
|
|
134
|
-
state=
|
|
135
|
+
state=test_run_model.state_name.value,
|
|
135
136
|
name=test_run_model.name,
|
|
136
|
-
description=test_run_model.description
|
|
137
|
-
launch_source=test_run_model.launch_source
|
|
137
|
+
description=test_run_model.description,
|
|
138
|
+
launch_source=test_run_model.launch_source,
|
|
138
139
|
attachments=cls.attachment_models_to_attachment_put_models(test_run_model.attachments),
|
|
139
|
-
links=cls.
|
|
140
|
+
links=cls.link_models_to_link_put_models(test_run_model.links),
|
|
140
141
|
tags=list(test_run_model.tags) if test_run_model.tags else [],
|
|
141
142
|
)
|
|
142
143
|
|
|
@@ -146,7 +147,7 @@ class Converter:
|
|
|
146
147
|
attachment_models: typing.List[AttachmentApiResult]) -> typing.List[AssignAttachmentApiModel]:
|
|
147
148
|
attachment_put_models = []
|
|
148
149
|
|
|
149
|
-
for attachment_model in attachment_models
|
|
150
|
+
for attachment_model in attachment_models:
|
|
150
151
|
attachment_put_models.append(
|
|
151
152
|
cls.attachment_model_to_attachment_put_model(attachment_model))
|
|
152
153
|
|
|
@@ -166,32 +167,36 @@ class Converter:
|
|
|
166
167
|
return list(map(lambda x: Converter.attachment_put_model_to_assign_attachment(x), attachment_models))
|
|
167
168
|
|
|
168
169
|
@classmethod
|
|
169
|
-
def
|
|
170
|
+
def link_models_to_link_put_models(
|
|
170
171
|
cls,
|
|
171
|
-
link_models: typing.List[LinkApiResult]) -> typing.List[
|
|
172
|
+
link_models: typing.List[LinkApiResult]) -> typing.List[LinkPutModel]:
|
|
172
173
|
link_put_models = []
|
|
173
174
|
|
|
174
|
-
for link_model in link_models
|
|
175
|
+
for link_model in link_models:
|
|
175
176
|
link_put_models.append(
|
|
176
|
-
cls.
|
|
177
|
+
cls.link_model_to_link_put_model(link_model))
|
|
177
178
|
|
|
178
179
|
return link_put_models
|
|
179
180
|
|
|
180
181
|
@staticmethod
|
|
181
|
-
def
|
|
182
|
-
return
|
|
182
|
+
def link_model_to_link_put_model(link_model: LinkApiResult) -> LinkPutModel:
|
|
183
|
+
return LinkPutModel(
|
|
183
184
|
url=link_model.url,
|
|
184
185
|
id=link_model.id,
|
|
185
186
|
title=link_model.title,
|
|
186
187
|
description=link_model.description,
|
|
187
188
|
type=link_model.type,
|
|
189
|
+
has_info=link_model.has_info
|
|
188
190
|
)
|
|
189
191
|
|
|
190
192
|
@staticmethod
|
|
191
|
-
def
|
|
192
|
-
return
|
|
193
|
+
def test_run_to_update_empty_request(test_run: TestRun) -> UpdateEmptyRequest:
|
|
194
|
+
return UpdateEmptyRequest(
|
|
195
|
+
# str
|
|
193
196
|
id=test_run.id,
|
|
197
|
+
# str
|
|
194
198
|
name=test_run.name,
|
|
199
|
+
# str
|
|
195
200
|
description=test_run.description,
|
|
196
201
|
launch_source=test_run.launch_source,
|
|
197
202
|
attachments=test_run.attachments,
|