From 0daec4cfe646a4d1e835623a32675a8deae499a9 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 9 Apr 2026 11:50:06 +0000 Subject: [PATCH] Regenerate client from commit fe29175 of spec repo --- .generator/schemas/v2/openapi.yaml | 372 ++++++++++++++++++ docs/datadog_api_client.v2.model.rst | 147 +++++++ .../GetFlakyTestsManagementPolicies.py | 35 ++ .../UpdateFlakyTestsManagementPolicies.py | 111 ++++++ src/datadog_api_client/configuration.py | 2 + .../v2/api/test_optimization_api.py | 82 ++++ ...ests_management_policies_attempt_to_fix.py | 36 ++ ...ky_tests_management_policies_attributes.py | 86 ++++ ...s_management_policies_auto_disable_rule.py | 67 ++++ ...anagement_policies_auto_quarantine_rule.py | 45 +++ ...y_tests_management_policies_branch_rule.py | 64 +++ ...on_flaky_tests_management_policies_data.py | 73 ++++ ...laky_tests_management_policies_disabled.py | 88 +++++ ...ent_policies_disabled_failure_rate_rule.py | 83 ++++ ...sts_management_policies_disabled_status.py | 43 ++ ...y_tests_management_policies_get_request.py | 44 +++ ...agement_policies_get_request_attributes.py | 39 ++ ...ts_management_policies_get_request_data.py | 62 +++ ...y_tests_management_policies_quarantined.py | 88 +++++ ..._policies_quarantined_failure_rate_rule.py | 64 +++ ...laky_tests_management_policies_response.py | 46 +++ ...on_flaky_tests_management_policies_type.py | 38 ++ ...ests_management_policies_update_request.py | 44 +++ ...ment_policies_update_request_attributes.py | 93 +++++ ...management_policies_update_request_data.py | 63 +++ ...s_management_policies_request_data_type.py | 40 ++ ...s_management_policies_request_data_type.py | 40 ++ src/datadog_api_client/v2/models/__init__.py | 84 ++++ tests/v2/features/test_optimization.feature | 64 +++ tests/v2/features/undo.json | 12 + 30 files changed, 2155 insertions(+) create mode 100644 examples/v2/test-optimization/GetFlakyTestsManagementPolicies.py create mode 100644 examples/v2/test-optimization/UpdateFlakyTestsManagementPolicies.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_attempt_to_fix.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_attributes.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_auto_disable_rule.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_auto_quarantine_rule.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_branch_rule.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_data.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled_status.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request_attributes.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request_data.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_quarantined.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_response.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_type.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request_attributes.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request_data.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_get_flaky_tests_management_policies_request_data_type.py create mode 100644 src/datadog_api_client/v2/model/test_optimization_update_flaky_tests_management_policies_request_data_type.py diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index d235bdcd3d..1b3abec107 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -70243,6 +70243,286 @@ components: type: string x-enum-varnames: - TEST_OPTIMIZATION_DELETE_SERVICE_SETTINGS_REQUEST + TestOptimizationFlakyTestsManagementPoliciesAttemptToFix: + description: Configuration for the attempt-to-fix Flaky Tests Management policy. + properties: + retries: + description: Number of retries when attempting to fix a flaky test. Must be greater than 0. + example: 3 + format: int64 + type: integer + type: object + TestOptimizationFlakyTestsManagementPoliciesAttributes: + description: Attributes of the Flaky Tests Management policies for a repository. + properties: + attempt_to_fix: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesAttemptToFix" + disabled: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesDisabled" + quarantined: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesQuarantined" + repository_id: + description: The repository identifier. + example: github.com/datadog/shopist + type: string + type: object + TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule: + description: Automatic disable triggering rule based on a time window and test status. + properties: + enabled: + description: Whether this auto-disable rule is enabled. + example: false + type: boolean + status: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesDisabledStatus" + window_seconds: + description: Time window in seconds over which flakiness is evaluated. Must be greater than 0. + example: 3600 + format: int64 + type: integer + type: object + TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule: + description: Automatic quarantine triggering rule based on a time window. + properties: + enabled: + description: Whether this auto-quarantine rule is enabled. + example: true + type: boolean + window_seconds: + description: Time window in seconds over which flakiness is evaluated. Must be greater than 0. + example: 3600 + format: int64 + type: integer + type: object + TestOptimizationFlakyTestsManagementPoliciesBranchRule: + description: Branch filtering rule for a Flaky Tests Management policy. + properties: + branches: + description: List of branches to which the policy applies. + example: + - main + items: + description: A branch name. + type: string + type: array + enabled: + description: Whether this branch rule is enabled. + example: true + type: boolean + excluded_branches: + description: List of branches excluded from the policy. + example: [] + items: + description: A branch name. + type: string + type: array + excluded_test_services: + description: List of test services excluded from the policy. + example: [] + items: + description: A test service name. + type: string + type: array + type: object + TestOptimizationFlakyTestsManagementPoliciesData: + description: Data object for Flaky Tests Management policies response. + properties: + attributes: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesAttributes" + id: + description: The repository identifier used as the resource ID. + example: github.com/datadog/shopist + type: string + type: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesType" + type: object + TestOptimizationFlakyTestsManagementPoliciesDisabled: + description: Configuration for the disabled Flaky Tests Management policy. + properties: + auto_disable_rule: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule" + branch_rule: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesBranchRule" + enabled: + description: Whether the disabled policy is enabled. + example: false + type: boolean + failure_rate_rule: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule" + type: object + TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule: + description: Failure-rate-based rule for the disabled policy. + properties: + branches: + description: List of branches to which this rule applies. + example: [] + items: + description: A branch name. + type: string + type: array + enabled: + description: Whether this failure rate rule is enabled. + example: false + type: boolean + min_runs: + description: Minimum number of runs required before the rule is evaluated. Must be greater than or equal to 0. + example: 10 + format: int64 + type: integer + status: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesDisabledStatus" + threshold: + description: Failure rate threshold (0.0–1.0) above which the rule triggers. + example: 0.5 + format: double + type: number + type: object + TestOptimizationFlakyTestsManagementPoliciesDisabledStatus: + description: |- + Test status that the disable policy applies to. + Must be either `active` or `quarantined`. + enum: + - active + - quarantined + example: active + type: string + x-enum-varnames: + - ACTIVE + - QUARANTINED + TestOptimizationFlakyTestsManagementPoliciesGetRequest: + description: Request object for getting Flaky Tests Management policies. + properties: + data: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesGetRequestData" + required: + - data + type: object + TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes: + description: Attributes for requesting Flaky Tests Management policies. + properties: + repository_id: + description: The repository identifier. + example: github.com/datadog/shopist + minLength: 1 + type: string + required: + - repository_id + type: object + TestOptimizationFlakyTestsManagementPoliciesGetRequestData: + description: Data object for get Flaky Tests Management policies request. + properties: + attributes: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes" + type: + $ref: "#/components/schemas/TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType" + required: + - type + - attributes + type: object + TestOptimizationFlakyTestsManagementPoliciesQuarantined: + description: Configuration for the quarantined Flaky Tests Management policy. + properties: + auto_quarantine_rule: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule" + branch_rule: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesBranchRule" + enabled: + description: Whether the quarantined policy is enabled. + example: true + type: boolean + failure_rate_rule: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule" + type: object + TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule: + description: Failure-rate-based rule for the quarantined policy. + properties: + branches: + description: List of branches to which this rule applies. + example: + - main + items: + description: A branch name. + type: string + type: array + enabled: + description: Whether this failure rate rule is enabled. + example: true + type: boolean + min_runs: + description: Minimum number of runs required before the rule is evaluated. Must be greater than or equal to 0. + example: 10 + format: int64 + type: integer + threshold: + description: Failure rate threshold (0.0–1.0) above which the rule triggers. + example: 0.5 + format: double + type: number + type: object + TestOptimizationFlakyTestsManagementPoliciesResponse: + description: Response object containing Flaky Tests Management policies for a repository. + properties: + data: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesData" + type: object + TestOptimizationFlakyTestsManagementPoliciesType: + description: |- + JSON:API type for Flaky Tests Management policies response. + The value must always be `test_optimization_flaky_tests_management_policies`. + enum: + - test_optimization_flaky_tests_management_policies + example: test_optimization_flaky_tests_management_policies + type: string + x-enum-varnames: + - TEST_OPTIMIZATION_FLAKY_TESTS_MANAGEMENT_POLICIES + TestOptimizationFlakyTestsManagementPoliciesUpdateRequest: + description: Request object for updating Flaky Tests Management policies. + properties: + data: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData" + required: + - data + type: object + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes: + description: |- + Attributes for updating Flaky Tests Management policies. + Only provided policy blocks are updated; omitted blocks are left unchanged. + properties: + attempt_to_fix: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesAttemptToFix" + disabled: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesDisabled" + quarantined: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesQuarantined" + repository_id: + description: The repository identifier. + example: github.com/datadog/shopist + minLength: 1 + type: string + required: + - repository_id + type: object + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData: + description: Data object for update Flaky Tests Management policies request. + properties: + attributes: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes" + type: + $ref: "#/components/schemas/TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType" + required: + - type + - attributes + type: object + TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType: + description: |- + JSON:API type for get Flaky Tests Management policies request. + The value must always be `test_optimization_get_flaky_tests_management_policies_request`. + enum: + - test_optimization_get_flaky_tests_management_policies_request + example: test_optimization_get_flaky_tests_management_policies_request + type: string + x-enum-varnames: + - TEST_OPTIMIZATION_GET_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST TestOptimizationGetServiceSettingsRequest: description: Request object for getting Test Optimization service settings. properties: @@ -70361,6 +70641,16 @@ components: type: string x-enum-varnames: - TEST_OPTIMIZATION_SERVICE_SETTINGS + TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType: + description: |- + JSON:API type for update Flaky Tests Management policies request. + The value must always be `test_optimization_update_flaky_tests_management_policies_request`. + enum: + - test_optimization_update_flaky_tests_management_policies_request + example: test_optimization_update_flaky_tests_management_policies_request + type: string + x-enum-varnames: + - TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST TestOptimizationUpdateServiceSettingsRequest: description: Request object for updating Test Optimization service settings. properties: @@ -81119,6 +81409,88 @@ paths: operator: OR permissions: - ci_visibility_read + /api/v2/ci/test-optimization/settings/policies: + patch: + description: |- + Partially update Flaky Tests Management repository-level policies for the given repository. + Only provided policy blocks are updated; omitted blocks are left unchanged. + operationId: UpdateFlakyTestsManagementPolicies + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesUpdateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/NotAuthorizedResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - test_optimization_settings_write + summary: Update Flaky Tests Management policies + tags: ["Test Optimization"] + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - test_optimization_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Retrieve Flaky Tests Management repository-level policies for the given repository. + operationId: GetFlakyTestsManagementPolicies + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesGetRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/NotAuthorizedResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - test_optimization_read + summary: Get Flaky Tests Management policies + tags: ["Test Optimization"] + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - test_optimization_read + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/ci/test-optimization/settings/service: delete: description: |- diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index e714684121..1ee47fde89 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -31644,6 +31644,146 @@ datadog\_api\_client.v2.model.test\_optimization\_delete\_service\_settings\_req :members: :show-inheritance: +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_attempt\_to\_fix module +------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attempt_to_fix + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_attributes module +------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_auto\_disable\_rule module +---------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_disable_rule + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_auto\_quarantine\_rule module +------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_quarantine_rule + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_branch\_rule module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_branch_rule + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_data module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_disabled module +----------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_disabled\_failure\_rate\_rule module +-------------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_disabled\_status module +------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_get\_request module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_get\_request\_attributes module +--------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_get\_request\_data module +--------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_quarantined module +-------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_quarantined\_failure\_rate\_rule module +----------------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_response module +----------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_type module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_update\_request module +------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_update\_request\_attributes module +------------------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_flaky\_tests\_management\_policies\_update\_request\_data module +------------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.test\_optimization\_get\_flaky\_tests\_management\_policies\_request\_data\_type module +--------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.test_optimization_get_flaky_tests_management_policies_request_data_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.test\_optimization\_get\_service\_settings\_request module ---------------------------------------------------------------------------------------- @@ -31700,6 +31840,13 @@ datadog\_api\_client.v2.model.test\_optimization\_service\_settings\_type module :members: :show-inheritance: +datadog\_api\_client.v2.model.test\_optimization\_update\_flaky\_tests\_management\_policies\_request\_data\_type module +------------------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.test_optimization_update_flaky_tests_management_policies_request_data_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.test\_optimization\_update\_service\_settings\_request module ------------------------------------------------------------------------------------------- diff --git a/examples/v2/test-optimization/GetFlakyTestsManagementPolicies.py b/examples/v2/test-optimization/GetFlakyTestsManagementPolicies.py new file mode 100644 index 0000000000..e210e31dde --- /dev/null +++ b/examples/v2/test-optimization/GetFlakyTestsManagementPolicies.py @@ -0,0 +1,35 @@ +""" +Get Flaky Tests Management policies returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.test_optimization_api import TestOptimizationApi +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequest, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request_data import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequestData, +) +from datadog_api_client.v2.model.test_optimization_get_flaky_tests_management_policies_request_data_type import ( + TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType, +) + +body = TestOptimizationFlakyTestsManagementPoliciesGetRequest( + data=TestOptimizationFlakyTestsManagementPoliciesGetRequestData( + attributes=TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes( + repository_id="github.com/datadog/shopist", + ), + type=TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType.TEST_OPTIMIZATION_GET_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST, + ), +) + +configuration = Configuration() +configuration.unstable_operations["get_flaky_tests_management_policies"] = True +with ApiClient(configuration) as api_client: + api_instance = TestOptimizationApi(api_client) + response = api_instance.get_flaky_tests_management_policies(body=body) + + print(response) diff --git a/examples/v2/test-optimization/UpdateFlakyTestsManagementPolicies.py b/examples/v2/test-optimization/UpdateFlakyTestsManagementPolicies.py new file mode 100644 index 0000000000..1e8312f982 --- /dev/null +++ b/examples/v2/test-optimization/UpdateFlakyTestsManagementPolicies.py @@ -0,0 +1,111 @@ +""" +Update Flaky Tests Management policies returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.test_optimization_api import TestOptimizationApi +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attempt_to_fix import ( + TestOptimizationFlakyTestsManagementPoliciesAttemptToFix, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_disable_rule import ( + TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_quarantine_rule import ( + TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_branch_rule import ( + TestOptimizationFlakyTestsManagementPoliciesBranchRule, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled import ( + TestOptimizationFlakyTestsManagementPoliciesDisabled, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule import ( + TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_status import ( + TestOptimizationFlakyTestsManagementPoliciesDisabledStatus, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined import ( + TestOptimizationFlakyTestsManagementPoliciesQuarantined, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule import ( + TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequest, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_data import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData, +) +from datadog_api_client.v2.model.test_optimization_update_flaky_tests_management_policies_request_data_type import ( + TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType, +) + +body = TestOptimizationFlakyTestsManagementPoliciesUpdateRequest( + data=TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData( + attributes=TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes( + attempt_to_fix=TestOptimizationFlakyTestsManagementPoliciesAttemptToFix( + retries=3, + ), + disabled=TestOptimizationFlakyTestsManagementPoliciesDisabled( + auto_disable_rule=TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule( + enabled=False, + status=TestOptimizationFlakyTestsManagementPoliciesDisabledStatus.ACTIVE, + window_seconds=3600, + ), + branch_rule=TestOptimizationFlakyTestsManagementPoliciesBranchRule( + branches=[ + "main", + ], + enabled=True, + excluded_branches=[], + excluded_test_services=[], + ), + enabled=False, + failure_rate_rule=TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule( + branches=[], + enabled=False, + min_runs=10, + status=TestOptimizationFlakyTestsManagementPoliciesDisabledStatus.ACTIVE, + threshold=0.5, + ), + ), + quarantined=TestOptimizationFlakyTestsManagementPoliciesQuarantined( + auto_quarantine_rule=TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule( + enabled=True, + window_seconds=3600, + ), + branch_rule=TestOptimizationFlakyTestsManagementPoliciesBranchRule( + branches=[ + "main", + ], + enabled=True, + excluded_branches=[], + excluded_test_services=[], + ), + enabled=True, + failure_rate_rule=TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule( + branches=[ + "main", + ], + enabled=True, + min_runs=10, + threshold=0.5, + ), + ), + repository_id="github.com/datadog/shopist", + ), + type=TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType.TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_flaky_tests_management_policies"] = True +with ApiClient(configuration) as api_client: + api_instance = TestOptimizationApi(api_client) + response = api_instance.update_flaky_tests_management_policies(body=body) + + print(response) diff --git a/src/datadog_api_client/configuration.py b/src/datadog_api_client/configuration.py index 84c9ad4641..0c6af50a1a 100644 --- a/src/datadog_api_client/configuration.py +++ b/src/datadog_api_client/configuration.py @@ -280,9 +280,11 @@ def __init__( "v2.update_change_request": False, "v2.update_change_request_decision": False, "v2.delete_test_optimization_service_settings": False, + "v2.get_flaky_tests_management_policies": False, "v2.get_test_optimization_service_settings": False, "v2.search_flaky_tests": False, "v2.update_flaky_tests": False, + "v2.update_flaky_tests_management_policies": False, "v2.update_test_optimization_service_settings": False, "v2.create_aws_cloud_auth_persona_mapping": False, "v2.delete_aws_cloud_auth_persona_mapping": False, diff --git a/src/datadog_api_client/v2/api/test_optimization_api.py b/src/datadog_api_client/v2/api/test_optimization_api.py index 83066a261f..045a0bea22 100644 --- a/src/datadog_api_client/v2/api/test_optimization_api.py +++ b/src/datadog_api_client/v2/api/test_optimization_api.py @@ -14,6 +14,15 @@ UnsetType, unset, ) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_response import ( + TestOptimizationFlakyTestsManagementPoliciesResponse, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequest, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequest, +) from datadog_api_client.v2.model.test_optimization_delete_service_settings_request import ( TestOptimizationDeleteServiceSettingsRequest, ) @@ -63,6 +72,26 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_flaky_tests_management_policies_endpoint = _Endpoint( + settings={ + "response_type": (TestOptimizationFlakyTestsManagementPoliciesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/ci/test-optimization/settings/policies", + "operation_id": "get_flaky_tests_management_policies", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (TestOptimizationFlakyTestsManagementPoliciesGetRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._get_test_optimization_service_settings_endpoint = _Endpoint( settings={ "response_type": (TestOptimizationServiceSettingsResponse,), @@ -122,6 +151,26 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._update_flaky_tests_management_policies_endpoint = _Endpoint( + settings={ + "response_type": (TestOptimizationFlakyTestsManagementPoliciesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/ci/test-optimization/settings/policies", + "operation_id": "update_flaky_tests_management_policies", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (TestOptimizationFlakyTestsManagementPoliciesUpdateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._update_test_optimization_service_settings_endpoint = _Endpoint( settings={ "response_type": (TestOptimizationServiceSettingsResponse,), @@ -158,6 +207,22 @@ def delete_test_optimization_service_settings( return self._delete_test_optimization_service_settings_endpoint.call_with_http_info(**kwargs) + def get_flaky_tests_management_policies( + self, + body: TestOptimizationFlakyTestsManagementPoliciesGetRequest, + ) -> TestOptimizationFlakyTestsManagementPoliciesResponse: + """Get Flaky Tests Management policies. + + Retrieve Flaky Tests Management repository-level policies for the given repository. + + :type body: TestOptimizationFlakyTestsManagementPoliciesGetRequest + :rtype: TestOptimizationFlakyTestsManagementPoliciesResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._get_flaky_tests_management_policies_endpoint.call_with_http_info(**kwargs) + def get_test_optimization_service_settings( self, body: TestOptimizationGetServiceSettingsRequest, @@ -253,6 +318,23 @@ def update_flaky_tests( return self._update_flaky_tests_endpoint.call_with_http_info(**kwargs) + def update_flaky_tests_management_policies( + self, + body: TestOptimizationFlakyTestsManagementPoliciesUpdateRequest, + ) -> TestOptimizationFlakyTestsManagementPoliciesResponse: + """Update Flaky Tests Management policies. + + Partially update Flaky Tests Management repository-level policies for the given repository. + Only provided policy blocks are updated; omitted blocks are left unchanged. + + :type body: TestOptimizationFlakyTestsManagementPoliciesUpdateRequest + :rtype: TestOptimizationFlakyTestsManagementPoliciesResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._update_flaky_tests_management_policies_endpoint.call_with_http_info(**kwargs) + def update_test_optimization_service_settings( self, body: TestOptimizationUpdateServiceSettingsRequest, diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_attempt_to_fix.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_attempt_to_fix.py new file mode 100644 index 0000000000..99bd7ea7e9 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_attempt_to_fix.py @@ -0,0 +1,36 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TestOptimizationFlakyTestsManagementPoliciesAttemptToFix(ModelNormal): + @cached_property + def openapi_types(_): + return { + "retries": (int,), + } + + attribute_map = { + "retries": "retries", + } + + def __init__(self_, retries: Union[int, UnsetType] = unset, **kwargs): + """ + Configuration for the attempt-to-fix Flaky Tests Management policy. + + :param retries: Number of retries when attempting to fix a flaky test. Must be greater than 0. + :type retries: int, optional + """ + if retries is not unset: + kwargs["retries"] = retries + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_attributes.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_attributes.py new file mode 100644 index 0000000000..46994dc4fe --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_attributes.py @@ -0,0 +1,86 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attempt_to_fix import ( + TestOptimizationFlakyTestsManagementPoliciesAttemptToFix, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled import ( + TestOptimizationFlakyTestsManagementPoliciesDisabled, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined import ( + TestOptimizationFlakyTestsManagementPoliciesQuarantined, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attempt_to_fix import ( + TestOptimizationFlakyTestsManagementPoliciesAttemptToFix, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled import ( + TestOptimizationFlakyTestsManagementPoliciesDisabled, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined import ( + TestOptimizationFlakyTestsManagementPoliciesQuarantined, + ) + + return { + "attempt_to_fix": (TestOptimizationFlakyTestsManagementPoliciesAttemptToFix,), + "disabled": (TestOptimizationFlakyTestsManagementPoliciesDisabled,), + "quarantined": (TestOptimizationFlakyTestsManagementPoliciesQuarantined,), + "repository_id": (str,), + } + + attribute_map = { + "attempt_to_fix": "attempt_to_fix", + "disabled": "disabled", + "quarantined": "quarantined", + "repository_id": "repository_id", + } + + def __init__( + self_, + attempt_to_fix: Union[TestOptimizationFlakyTestsManagementPoliciesAttemptToFix, UnsetType] = unset, + disabled: Union[TestOptimizationFlakyTestsManagementPoliciesDisabled, UnsetType] = unset, + quarantined: Union[TestOptimizationFlakyTestsManagementPoliciesQuarantined, UnsetType] = unset, + repository_id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of the Flaky Tests Management policies for a repository. + + :param attempt_to_fix: Configuration for the attempt-to-fix Flaky Tests Management policy. + :type attempt_to_fix: TestOptimizationFlakyTestsManagementPoliciesAttemptToFix, optional + + :param disabled: Configuration for the disabled Flaky Tests Management policy. + :type disabled: TestOptimizationFlakyTestsManagementPoliciesDisabled, optional + + :param quarantined: Configuration for the quarantined Flaky Tests Management policy. + :type quarantined: TestOptimizationFlakyTestsManagementPoliciesQuarantined, optional + + :param repository_id: The repository identifier. + :type repository_id: str, optional + """ + if attempt_to_fix is not unset: + kwargs["attempt_to_fix"] = attempt_to_fix + if disabled is not unset: + kwargs["disabled"] = disabled + if quarantined is not unset: + kwargs["quarantined"] = quarantined + if repository_id is not unset: + kwargs["repository_id"] = repository_id + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_auto_disable_rule.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_auto_disable_rule.py new file mode 100644 index 0000000000..2fcb659952 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_auto_disable_rule.py @@ -0,0 +1,67 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_status import ( + TestOptimizationFlakyTestsManagementPoliciesDisabledStatus, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_status import ( + TestOptimizationFlakyTestsManagementPoliciesDisabledStatus, + ) + + return { + "enabled": (bool,), + "status": (TestOptimizationFlakyTestsManagementPoliciesDisabledStatus,), + "window_seconds": (int,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + "window_seconds": "window_seconds", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[TestOptimizationFlakyTestsManagementPoliciesDisabledStatus, UnsetType] = unset, + window_seconds: Union[int, UnsetType] = unset, + **kwargs, + ): + """ + Automatic disable triggering rule based on a time window and test status. + + :param enabled: Whether this auto-disable rule is enabled. + :type enabled: bool, optional + + :param status: Test status that the disable policy applies to. + Must be either ``active`` or ``quarantined``. + :type status: TestOptimizationFlakyTestsManagementPoliciesDisabledStatus, optional + + :param window_seconds: Time window in seconds over which flakiness is evaluated. Must be greater than 0. + :type window_seconds: int, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + if window_seconds is not unset: + kwargs["window_seconds"] = window_seconds + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_auto_quarantine_rule.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_auto_quarantine_rule.py new file mode 100644 index 0000000000..a8df32bb1c --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_auto_quarantine_rule.py @@ -0,0 +1,45 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + "window_seconds": (int,), + } + + attribute_map = { + "enabled": "enabled", + "window_seconds": "window_seconds", + } + + def __init__( + self_, enabled: Union[bool, UnsetType] = unset, window_seconds: Union[int, UnsetType] = unset, **kwargs + ): + """ + Automatic quarantine triggering rule based on a time window. + + :param enabled: Whether this auto-quarantine rule is enabled. + :type enabled: bool, optional + + :param window_seconds: Time window in seconds over which flakiness is evaluated. Must be greater than 0. + :type window_seconds: int, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if window_seconds is not unset: + kwargs["window_seconds"] = window_seconds + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_branch_rule.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_branch_rule.py new file mode 100644 index 0000000000..d4a9455e44 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_branch_rule.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TestOptimizationFlakyTestsManagementPoliciesBranchRule(ModelNormal): + @cached_property + def openapi_types(_): + return { + "branches": ([str],), + "enabled": (bool,), + "excluded_branches": ([str],), + "excluded_test_services": ([str],), + } + + attribute_map = { + "branches": "branches", + "enabled": "enabled", + "excluded_branches": "excluded_branches", + "excluded_test_services": "excluded_test_services", + } + + def __init__( + self_, + branches: Union[List[str], UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + excluded_branches: Union[List[str], UnsetType] = unset, + excluded_test_services: Union[List[str], UnsetType] = unset, + **kwargs, + ): + """ + Branch filtering rule for a Flaky Tests Management policy. + + :param branches: List of branches to which the policy applies. + :type branches: [str], optional + + :param enabled: Whether this branch rule is enabled. + :type enabled: bool, optional + + :param excluded_branches: List of branches excluded from the policy. + :type excluded_branches: [str], optional + + :param excluded_test_services: List of test services excluded from the policy. + :type excluded_test_services: [str], optional + """ + if branches is not unset: + kwargs["branches"] = branches + if enabled is not unset: + kwargs["enabled"] = enabled + if excluded_branches is not unset: + kwargs["excluded_branches"] = excluded_branches + if excluded_test_services is not unset: + kwargs["excluded_test_services"] = excluded_test_services + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_data.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_data.py new file mode 100644 index 0000000000..b24b751fb4 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_data.py @@ -0,0 +1,73 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesAttributes, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_type import ( + TestOptimizationFlakyTestsManagementPoliciesType, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesAttributes, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_type import ( + TestOptimizationFlakyTestsManagementPoliciesType, + ) + + return { + "attributes": (TestOptimizationFlakyTestsManagementPoliciesAttributes,), + "id": (str,), + "type": (TestOptimizationFlakyTestsManagementPoliciesType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: Union[TestOptimizationFlakyTestsManagementPoliciesAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + type: Union[TestOptimizationFlakyTestsManagementPoliciesType, UnsetType] = unset, + **kwargs, + ): + """ + Data object for Flaky Tests Management policies response. + + :param attributes: Attributes of the Flaky Tests Management policies for a repository. + :type attributes: TestOptimizationFlakyTestsManagementPoliciesAttributes, optional + + :param id: The repository identifier used as the resource ID. + :type id: str, optional + + :param type: JSON:API type for Flaky Tests Management policies response. + The value must always be ``test_optimization_flaky_tests_management_policies``. + :type type: TestOptimizationFlakyTestsManagementPoliciesType, optional + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled.py new file mode 100644 index 0000000000..3040d67796 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled.py @@ -0,0 +1,88 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_disable_rule import ( + TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_branch_rule import ( + TestOptimizationFlakyTestsManagementPoliciesBranchRule, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule import ( + TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesDisabled(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_disable_rule import ( + TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_branch_rule import ( + TestOptimizationFlakyTestsManagementPoliciesBranchRule, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule import ( + TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule, + ) + + return { + "auto_disable_rule": (TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule,), + "branch_rule": (TestOptimizationFlakyTestsManagementPoliciesBranchRule,), + "enabled": (bool,), + "failure_rate_rule": (TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule,), + } + + attribute_map = { + "auto_disable_rule": "auto_disable_rule", + "branch_rule": "branch_rule", + "enabled": "enabled", + "failure_rate_rule": "failure_rate_rule", + } + + def __init__( + self_, + auto_disable_rule: Union[TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule, UnsetType] = unset, + branch_rule: Union[TestOptimizationFlakyTestsManagementPoliciesBranchRule, UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + failure_rate_rule: Union[ + TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule, UnsetType + ] = unset, + **kwargs, + ): + """ + Configuration for the disabled Flaky Tests Management policy. + + :param auto_disable_rule: Automatic disable triggering rule based on a time window and test status. + :type auto_disable_rule: TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule, optional + + :param branch_rule: Branch filtering rule for a Flaky Tests Management policy. + :type branch_rule: TestOptimizationFlakyTestsManagementPoliciesBranchRule, optional + + :param enabled: Whether the disabled policy is enabled. + :type enabled: bool, optional + + :param failure_rate_rule: Failure-rate-based rule for the disabled policy. + :type failure_rate_rule: TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule, optional + """ + if auto_disable_rule is not unset: + kwargs["auto_disable_rule"] = auto_disable_rule + if branch_rule is not unset: + kwargs["branch_rule"] = branch_rule + if enabled is not unset: + kwargs["enabled"] = enabled + if failure_rate_rule is not unset: + kwargs["failure_rate_rule"] = failure_rate_rule + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule.py new file mode 100644 index 0000000000..a9f78349d3 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule.py @@ -0,0 +1,83 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_status import ( + TestOptimizationFlakyTestsManagementPoliciesDisabledStatus, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_status import ( + TestOptimizationFlakyTestsManagementPoliciesDisabledStatus, + ) + + return { + "branches": ([str],), + "enabled": (bool,), + "min_runs": (int,), + "status": (TestOptimizationFlakyTestsManagementPoliciesDisabledStatus,), + "threshold": (float,), + } + + attribute_map = { + "branches": "branches", + "enabled": "enabled", + "min_runs": "min_runs", + "status": "status", + "threshold": "threshold", + } + + def __init__( + self_, + branches: Union[List[str], UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + min_runs: Union[int, UnsetType] = unset, + status: Union[TestOptimizationFlakyTestsManagementPoliciesDisabledStatus, UnsetType] = unset, + threshold: Union[float, UnsetType] = unset, + **kwargs, + ): + """ + Failure-rate-based rule for the disabled policy. + + :param branches: List of branches to which this rule applies. + :type branches: [str], optional + + :param enabled: Whether this failure rate rule is enabled. + :type enabled: bool, optional + + :param min_runs: Minimum number of runs required before the rule is evaluated. Must be greater than or equal to 0. + :type min_runs: int, optional + + :param status: Test status that the disable policy applies to. + Must be either ``active`` or ``quarantined``. + :type status: TestOptimizationFlakyTestsManagementPoliciesDisabledStatus, optional + + :param threshold: Failure rate threshold (0.0–1.0) above which the rule triggers. + :type threshold: float, optional + """ + if branches is not unset: + kwargs["branches"] = branches + if enabled is not unset: + kwargs["enabled"] = enabled + if min_runs is not unset: + kwargs["min_runs"] = min_runs + if status is not unset: + kwargs["status"] = status + if threshold is not unset: + kwargs["threshold"] = threshold + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled_status.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled_status.py new file mode 100644 index 0000000000..4e40f69b1f --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_disabled_status.py @@ -0,0 +1,43 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class TestOptimizationFlakyTestsManagementPoliciesDisabledStatus(ModelSimple): + """ + Test status that the disable policy applies to. + Must be either `active` or `quarantined`. + + :param value: Must be one of ["active", "quarantined"]. + :type value: str + """ + + allowed_values = { + "active", + "quarantined", + } + ACTIVE: ClassVar["TestOptimizationFlakyTestsManagementPoliciesDisabledStatus"] + QUARANTINED: ClassVar["TestOptimizationFlakyTestsManagementPoliciesDisabledStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +TestOptimizationFlakyTestsManagementPoliciesDisabledStatus.ACTIVE = ( + TestOptimizationFlakyTestsManagementPoliciesDisabledStatus("active") +) +TestOptimizationFlakyTestsManagementPoliciesDisabledStatus.QUARANTINED = ( + TestOptimizationFlakyTestsManagementPoliciesDisabledStatus("quarantined") +) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request.py new file mode 100644 index 0000000000..b7b93f61d5 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request_data import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequestData, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesGetRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request_data import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequestData, + ) + + return { + "data": (TestOptimizationFlakyTestsManagementPoliciesGetRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: TestOptimizationFlakyTestsManagementPoliciesGetRequestData, **kwargs): + """ + Request object for getting Flaky Tests Management policies. + + :param data: Data object for get Flaky Tests Management policies request. + :type data: TestOptimizationFlakyTestsManagementPoliciesGetRequestData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request_attributes.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request_attributes.py new file mode 100644 index 0000000000..6d702f9566 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request_attributes.py @@ -0,0 +1,39 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes(ModelNormal): + validations = { + "repository_id": { + "min_length": 1, + }, + } + + @cached_property + def openapi_types(_): + return { + "repository_id": (str,), + } + + attribute_map = { + "repository_id": "repository_id", + } + + def __init__(self_, repository_id: str, **kwargs): + """ + Attributes for requesting Flaky Tests Management policies. + + :param repository_id: The repository identifier. + :type repository_id: str + """ + super().__init__(kwargs) + + self_.repository_id = repository_id diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request_data.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request_data.py new file mode 100644 index 0000000000..30c9b31cda --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_get_request_data.py @@ -0,0 +1,62 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes, + ) + from datadog_api_client.v2.model.test_optimization_get_flaky_tests_management_policies_request_data_type import ( + TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesGetRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes, + ) + from datadog_api_client.v2.model.test_optimization_get_flaky_tests_management_policies_request_data_type import ( + TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType, + ) + + return { + "attributes": (TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes,), + "type": (TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes, + type: TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType, + **kwargs, + ): + """ + Data object for get Flaky Tests Management policies request. + + :param attributes: Attributes for requesting Flaky Tests Management policies. + :type attributes: TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes + + :param type: JSON:API type for get Flaky Tests Management policies request. + The value must always be ``test_optimization_get_flaky_tests_management_policies_request``. + :type type: TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_quarantined.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_quarantined.py new file mode 100644 index 0000000000..7aeb7a34cb --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_quarantined.py @@ -0,0 +1,88 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_quarantine_rule import ( + TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_branch_rule import ( + TestOptimizationFlakyTestsManagementPoliciesBranchRule, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule import ( + TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesQuarantined(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_quarantine_rule import ( + TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_branch_rule import ( + TestOptimizationFlakyTestsManagementPoliciesBranchRule, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule import ( + TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule, + ) + + return { + "auto_quarantine_rule": (TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule,), + "branch_rule": (TestOptimizationFlakyTestsManagementPoliciesBranchRule,), + "enabled": (bool,), + "failure_rate_rule": (TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule,), + } + + attribute_map = { + "auto_quarantine_rule": "auto_quarantine_rule", + "branch_rule": "branch_rule", + "enabled": "enabled", + "failure_rate_rule": "failure_rate_rule", + } + + def __init__( + self_, + auto_quarantine_rule: Union[TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule, UnsetType] = unset, + branch_rule: Union[TestOptimizationFlakyTestsManagementPoliciesBranchRule, UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + failure_rate_rule: Union[ + TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule, UnsetType + ] = unset, + **kwargs, + ): + """ + Configuration for the quarantined Flaky Tests Management policy. + + :param auto_quarantine_rule: Automatic quarantine triggering rule based on a time window. + :type auto_quarantine_rule: TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule, optional + + :param branch_rule: Branch filtering rule for a Flaky Tests Management policy. + :type branch_rule: TestOptimizationFlakyTestsManagementPoliciesBranchRule, optional + + :param enabled: Whether the quarantined policy is enabled. + :type enabled: bool, optional + + :param failure_rate_rule: Failure-rate-based rule for the quarantined policy. + :type failure_rate_rule: TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule, optional + """ + if auto_quarantine_rule is not unset: + kwargs["auto_quarantine_rule"] = auto_quarantine_rule + if branch_rule is not unset: + kwargs["branch_rule"] = branch_rule + if enabled is not unset: + kwargs["enabled"] = enabled + if failure_rate_rule is not unset: + kwargs["failure_rate_rule"] = failure_rate_rule + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule.py new file mode 100644 index 0000000000..45f5793e65 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule(ModelNormal): + @cached_property + def openapi_types(_): + return { + "branches": ([str],), + "enabled": (bool,), + "min_runs": (int,), + "threshold": (float,), + } + + attribute_map = { + "branches": "branches", + "enabled": "enabled", + "min_runs": "min_runs", + "threshold": "threshold", + } + + def __init__( + self_, + branches: Union[List[str], UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + min_runs: Union[int, UnsetType] = unset, + threshold: Union[float, UnsetType] = unset, + **kwargs, + ): + """ + Failure-rate-based rule for the quarantined policy. + + :param branches: List of branches to which this rule applies. + :type branches: [str], optional + + :param enabled: Whether this failure rate rule is enabled. + :type enabled: bool, optional + + :param min_runs: Minimum number of runs required before the rule is evaluated. Must be greater than or equal to 0. + :type min_runs: int, optional + + :param threshold: Failure rate threshold (0.0–1.0) above which the rule triggers. + :type threshold: float, optional + """ + if branches is not unset: + kwargs["branches"] = branches + if enabled is not unset: + kwargs["enabled"] = enabled + if min_runs is not unset: + kwargs["min_runs"] = min_runs + if threshold is not unset: + kwargs["threshold"] = threshold + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_response.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_response.py new file mode 100644 index 0000000000..4f017d52a7 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_response.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_data import ( + TestOptimizationFlakyTestsManagementPoliciesData, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_data import ( + TestOptimizationFlakyTestsManagementPoliciesData, + ) + + return { + "data": (TestOptimizationFlakyTestsManagementPoliciesData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[TestOptimizationFlakyTestsManagementPoliciesData, UnsetType] = unset, **kwargs): + """ + Response object containing Flaky Tests Management policies for a repository. + + :param data: Data object for Flaky Tests Management policies response. + :type data: TestOptimizationFlakyTestsManagementPoliciesData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_type.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_type.py new file mode 100644 index 0000000000..edaa1b5ac3 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_type.py @@ -0,0 +1,38 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class TestOptimizationFlakyTestsManagementPoliciesType(ModelSimple): + """ + JSON:API type for Flaky Tests Management policies response. + The value must always be `test_optimization_flaky_tests_management_policies`. + + :param value: If omitted defaults to "test_optimization_flaky_tests_management_policies". Must be one of ["test_optimization_flaky_tests_management_policies"]. + :type value: str + """ + + allowed_values = { + "test_optimization_flaky_tests_management_policies", + } + TEST_OPTIMIZATION_FLAKY_TESTS_MANAGEMENT_POLICIES: ClassVar["TestOptimizationFlakyTestsManagementPoliciesType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +TestOptimizationFlakyTestsManagementPoliciesType.TEST_OPTIMIZATION_FLAKY_TESTS_MANAGEMENT_POLICIES = ( + TestOptimizationFlakyTestsManagementPoliciesType("test_optimization_flaky_tests_management_policies") +) diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request.py new file mode 100644 index 0000000000..dabd3c742c --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_data import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesUpdateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_data import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData, + ) + + return { + "data": (TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData, **kwargs): + """ + Request object for updating Flaky Tests Management policies. + + :param data: Data object for update Flaky Tests Management policies request. + :type data: TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request_attributes.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request_attributes.py new file mode 100644 index 0000000000..cd3d1944a3 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request_attributes.py @@ -0,0 +1,93 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attempt_to_fix import ( + TestOptimizationFlakyTestsManagementPoliciesAttemptToFix, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled import ( + TestOptimizationFlakyTestsManagementPoliciesDisabled, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined import ( + TestOptimizationFlakyTestsManagementPoliciesQuarantined, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes(ModelNormal): + validations = { + "repository_id": { + "min_length": 1, + }, + } + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attempt_to_fix import ( + TestOptimizationFlakyTestsManagementPoliciesAttemptToFix, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled import ( + TestOptimizationFlakyTestsManagementPoliciesDisabled, + ) + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined import ( + TestOptimizationFlakyTestsManagementPoliciesQuarantined, + ) + + return { + "attempt_to_fix": (TestOptimizationFlakyTestsManagementPoliciesAttemptToFix,), + "disabled": (TestOptimizationFlakyTestsManagementPoliciesDisabled,), + "quarantined": (TestOptimizationFlakyTestsManagementPoliciesQuarantined,), + "repository_id": (str,), + } + + attribute_map = { + "attempt_to_fix": "attempt_to_fix", + "disabled": "disabled", + "quarantined": "quarantined", + "repository_id": "repository_id", + } + + def __init__( + self_, + repository_id: str, + attempt_to_fix: Union[TestOptimizationFlakyTestsManagementPoliciesAttemptToFix, UnsetType] = unset, + disabled: Union[TestOptimizationFlakyTestsManagementPoliciesDisabled, UnsetType] = unset, + quarantined: Union[TestOptimizationFlakyTestsManagementPoliciesQuarantined, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for updating Flaky Tests Management policies. + Only provided policy blocks are updated; omitted blocks are left unchanged. + + :param attempt_to_fix: Configuration for the attempt-to-fix Flaky Tests Management policy. + :type attempt_to_fix: TestOptimizationFlakyTestsManagementPoliciesAttemptToFix, optional + + :param disabled: Configuration for the disabled Flaky Tests Management policy. + :type disabled: TestOptimizationFlakyTestsManagementPoliciesDisabled, optional + + :param quarantined: Configuration for the quarantined Flaky Tests Management policy. + :type quarantined: TestOptimizationFlakyTestsManagementPoliciesQuarantined, optional + + :param repository_id: The repository identifier. + :type repository_id: str + """ + if attempt_to_fix is not unset: + kwargs["attempt_to_fix"] = attempt_to_fix + if disabled is not unset: + kwargs["disabled"] = disabled + if quarantined is not unset: + kwargs["quarantined"] = quarantined + super().__init__(kwargs) + + self_.repository_id = repository_id diff --git a/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request_data.py b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request_data.py new file mode 100644 index 0000000000..91d21b3810 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_flaky_tests_management_policies_update_request_data.py @@ -0,0 +1,63 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes, + ) + from datadog_api_client.v2.model.test_optimization_update_flaky_tests_management_policies_request_data_type import ( + TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType, + ) + + +class TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes, + ) + from datadog_api_client.v2.model.test_optimization_update_flaky_tests_management_policies_request_data_type import ( + TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType, + ) + + return { + "attributes": (TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes,), + "type": (TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes, + type: TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType, + **kwargs, + ): + """ + Data object for update Flaky Tests Management policies request. + + :param attributes: Attributes for updating Flaky Tests Management policies. + Only provided policy blocks are updated; omitted blocks are left unchanged. + :type attributes: TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes + + :param type: JSON:API type for update Flaky Tests Management policies request. + The value must always be ``test_optimization_update_flaky_tests_management_policies_request``. + :type type: TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/test_optimization_get_flaky_tests_management_policies_request_data_type.py b/src/datadog_api_client/v2/model/test_optimization_get_flaky_tests_management_policies_request_data_type.py new file mode 100644 index 0000000000..c57b6d066f --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_get_flaky_tests_management_policies_request_data_type.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType(ModelSimple): + """ + JSON:API type for get Flaky Tests Management policies request. + The value must always be `test_optimization_get_flaky_tests_management_policies_request`. + + :param value: If omitted defaults to "test_optimization_get_flaky_tests_management_policies_request". Must be one of ["test_optimization_get_flaky_tests_management_policies_request"]. + :type value: str + """ + + allowed_values = { + "test_optimization_get_flaky_tests_management_policies_request", + } + TEST_OPTIMIZATION_GET_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST: ClassVar[ + "TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType" + ] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType.TEST_OPTIMIZATION_GET_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST = TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType( + "test_optimization_get_flaky_tests_management_policies_request" +) diff --git a/src/datadog_api_client/v2/model/test_optimization_update_flaky_tests_management_policies_request_data_type.py b/src/datadog_api_client/v2/model/test_optimization_update_flaky_tests_management_policies_request_data_type.py new file mode 100644 index 0000000000..ee163449f4 --- /dev/null +++ b/src/datadog_api_client/v2/model/test_optimization_update_flaky_tests_management_policies_request_data_type.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType(ModelSimple): + """ + JSON:API type for update Flaky Tests Management policies request. + The value must always be `test_optimization_update_flaky_tests_management_policies_request`. + + :param value: If omitted defaults to "test_optimization_update_flaky_tests_management_policies_request". Must be one of ["test_optimization_update_flaky_tests_management_policies_request"]. + :type value: str + """ + + allowed_values = { + "test_optimization_update_flaky_tests_management_policies_request", + } + TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST: ClassVar[ + "TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType" + ] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType.TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST = TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType( + "test_optimization_update_flaky_tests_management_policies_request" +) diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index b3a7bf728c..b38ebb68d2 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -6455,6 +6455,66 @@ from datadog_api_client.v2.model.test_optimization_delete_service_settings_request_data_type import ( TestOptimizationDeleteServiceSettingsRequestDataType, ) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attempt_to_fix import ( + TestOptimizationFlakyTestsManagementPoliciesAttemptToFix, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesAttributes, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_disable_rule import ( + TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_auto_quarantine_rule import ( + TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_branch_rule import ( + TestOptimizationFlakyTestsManagementPoliciesBranchRule, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_data import ( + TestOptimizationFlakyTestsManagementPoliciesData, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled import ( + TestOptimizationFlakyTestsManagementPoliciesDisabled, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule import ( + TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_disabled_status import ( + TestOptimizationFlakyTestsManagementPoliciesDisabledStatus, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequest, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_get_request_data import ( + TestOptimizationFlakyTestsManagementPoliciesGetRequestData, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined import ( + TestOptimizationFlakyTestsManagementPoliciesQuarantined, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule import ( + TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_response import ( + TestOptimizationFlakyTestsManagementPoliciesResponse, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_type import ( + TestOptimizationFlakyTestsManagementPoliciesType, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequest, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_attributes import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes, +) +from datadog_api_client.v2.model.test_optimization_flaky_tests_management_policies_update_request_data import ( + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData, +) +from datadog_api_client.v2.model.test_optimization_get_flaky_tests_management_policies_request_data_type import ( + TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType, +) from datadog_api_client.v2.model.test_optimization_get_service_settings_request import ( TestOptimizationGetServiceSettingsRequest, ) @@ -6475,6 +6535,9 @@ TestOptimizationServiceSettingsResponse, ) from datadog_api_client.v2.model.test_optimization_service_settings_type import TestOptimizationServiceSettingsType +from datadog_api_client.v2.model.test_optimization_update_flaky_tests_management_policies_request_data_type import ( + TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType, +) from datadog_api_client.v2.model.test_optimization_update_service_settings_request import ( TestOptimizationUpdateServiceSettingsRequest, ) @@ -11370,6 +11433,26 @@ "TestOptimizationDeleteServiceSettingsRequestAttributes", "TestOptimizationDeleteServiceSettingsRequestData", "TestOptimizationDeleteServiceSettingsRequestDataType", + "TestOptimizationFlakyTestsManagementPoliciesAttemptToFix", + "TestOptimizationFlakyTestsManagementPoliciesAttributes", + "TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule", + "TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule", + "TestOptimizationFlakyTestsManagementPoliciesBranchRule", + "TestOptimizationFlakyTestsManagementPoliciesData", + "TestOptimizationFlakyTestsManagementPoliciesDisabled", + "TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule", + "TestOptimizationFlakyTestsManagementPoliciesDisabledStatus", + "TestOptimizationFlakyTestsManagementPoliciesGetRequest", + "TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes", + "TestOptimizationFlakyTestsManagementPoliciesGetRequestData", + "TestOptimizationFlakyTestsManagementPoliciesQuarantined", + "TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule", + "TestOptimizationFlakyTestsManagementPoliciesResponse", + "TestOptimizationFlakyTestsManagementPoliciesType", + "TestOptimizationFlakyTestsManagementPoliciesUpdateRequest", + "TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes", + "TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData", + "TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType", "TestOptimizationGetServiceSettingsRequest", "TestOptimizationGetServiceSettingsRequestAttributes", "TestOptimizationGetServiceSettingsRequestData", @@ -11378,6 +11461,7 @@ "TestOptimizationServiceSettingsData", "TestOptimizationServiceSettingsResponse", "TestOptimizationServiceSettingsType", + "TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType", "TestOptimizationUpdateServiceSettingsRequest", "TestOptimizationUpdateServiceSettingsRequestAttributes", "TestOptimizationUpdateServiceSettingsRequestData", diff --git a/tests/v2/features/test_optimization.feature b/tests/v2/features/test_optimization.feature index 427db05baf..eeeec1dd34 100644 --- a/tests/v2/features/test_optimization.feature +++ b/tests/v2/features/test_optimization.feature @@ -33,6 +33,38 @@ Feature: Test Optimization When the request is sent Then the response status is 404 Not Found + @generated @skip @team:DataDog/ci-app-backend + Scenario: Get Flaky Tests Management policies returns "Bad Request" response + Given operation "GetFlakyTestsManagementPolicies" enabled + And new "GetFlakyTestsManagementPolicies" request + And body with value {"data": {"attributes": {"repository_id": "github.com/datadog/shopist"}, "type": "test_optimization_get_flaky_tests_management_policies_request"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/ci-app-backend + Scenario: Get Flaky Tests Management policies returns "Not Found" response + Given operation "GetFlakyTestsManagementPolicies" enabled + And new "GetFlakyTestsManagementPolicies" request + And body with value {"data": {"attributes": {"repository_id": "github.com/datadog/shopist"}, "type": "test_optimization_get_flaky_tests_management_policies_request"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/ci-app-backend + Scenario: Get Flaky Tests Management policies returns "OK" response + Given operation "GetFlakyTestsManagementPolicies" enabled + And new "GetFlakyTestsManagementPolicies" request + And body with value {"data": {"attributes": {"repository_id": "github.com/datadog/shopist"}, "type": "test_optimization_get_flaky_tests_management_policies_request"}} + When the request is sent + Then the response status is 200 OK + + @skip @team:DataDog/ci-app-backend + Scenario: Get Flaky Tests Management policies with empty repository_id returns bad request + Given operation "GetFlakyTestsManagementPolicies" enabled + And new "GetFlakyTestsManagementPolicies" request + And body with value {"data": {"attributes": {"repository_id": ""}, "type": "test_optimization_get_flaky_tests_management_policies_request"}} + When the request is sent + Then the response status is 400 Bad Request + @generated @skip @team:DataDog/ci-app-backend Scenario: Get Test Optimization service settings returns "Bad Request" response Given operation "GetTestOptimizationServiceSettings" enabled @@ -133,6 +165,38 @@ Feature: Test Optimization When the request with pagination is sent Then the response status is 200 OK + @generated @skip @team:DataDog/ci-app-backend + Scenario: Update Flaky Tests Management policies returns "Bad Request" response + Given operation "UpdateFlakyTestsManagementPolicies" enabled + And new "UpdateFlakyTestsManagementPolicies" request + And body with value {"data": {"attributes": {"attempt_to_fix": {"retries": 3}, "disabled": {"auto_disable_rule": {"enabled": false, "status": "active", "window_seconds": 3600}, "branch_rule": {"branches": ["main"], "enabled": true, "excluded_branches": [], "excluded_test_services": []}, "enabled": false, "failure_rate_rule": {"branches": [], "enabled": false, "min_runs": 10, "status": "active", "threshold": 0.5}}, "quarantined": {"auto_quarantine_rule": {"enabled": true, "window_seconds": 3600}, "branch_rule": {"branches": ["main"], "enabled": true, "excluded_branches": [], "excluded_test_services": []}, "enabled": true, "failure_rate_rule": {"branches": ["main"], "enabled": true, "min_runs": 10, "threshold": 0.5}}, "repository_id": "github.com/datadog/shopist"}, "type": "test_optimization_update_flaky_tests_management_policies_request"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/ci-app-backend + Scenario: Update Flaky Tests Management policies returns "Not Found" response + Given operation "UpdateFlakyTestsManagementPolicies" enabled + And new "UpdateFlakyTestsManagementPolicies" request + And body with value {"data": {"attributes": {"attempt_to_fix": {"retries": 3}, "disabled": {"auto_disable_rule": {"enabled": false, "status": "active", "window_seconds": 3600}, "branch_rule": {"branches": ["main"], "enabled": true, "excluded_branches": [], "excluded_test_services": []}, "enabled": false, "failure_rate_rule": {"branches": [], "enabled": false, "min_runs": 10, "status": "active", "threshold": 0.5}}, "quarantined": {"auto_quarantine_rule": {"enabled": true, "window_seconds": 3600}, "branch_rule": {"branches": ["main"], "enabled": true, "excluded_branches": [], "excluded_test_services": []}, "enabled": true, "failure_rate_rule": {"branches": ["main"], "enabled": true, "min_runs": 10, "threshold": 0.5}}, "repository_id": "github.com/datadog/shopist"}, "type": "test_optimization_update_flaky_tests_management_policies_request"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/ci-app-backend + Scenario: Update Flaky Tests Management policies returns "OK" response + Given operation "UpdateFlakyTestsManagementPolicies" enabled + And new "UpdateFlakyTestsManagementPolicies" request + And body with value {"data": {"attributes": {"attempt_to_fix": {"retries": 3}, "disabled": {"auto_disable_rule": {"enabled": false, "status": "active", "window_seconds": 3600}, "branch_rule": {"branches": ["main"], "enabled": true, "excluded_branches": [], "excluded_test_services": []}, "enabled": false, "failure_rate_rule": {"branches": [], "enabled": false, "min_runs": 10, "status": "active", "threshold": 0.5}}, "quarantined": {"auto_quarantine_rule": {"enabled": true, "window_seconds": 3600}, "branch_rule": {"branches": ["main"], "enabled": true, "excluded_branches": [], "excluded_test_services": []}, "enabled": true, "failure_rate_rule": {"branches": ["main"], "enabled": true, "min_runs": 10, "threshold": 0.5}}, "repository_id": "github.com/datadog/shopist"}, "type": "test_optimization_update_flaky_tests_management_policies_request"}} + When the request is sent + Then the response status is 200 OK + + @skip @team:DataDog/ci-app-backend + Scenario: Update Flaky Tests Management policies with empty repository_id returns bad request + Given operation "UpdateFlakyTestsManagementPolicies" enabled + And new "UpdateFlakyTestsManagementPolicies" request + And body with value {"data": {"attributes": {"repository_id": ""}, "type": "test_optimization_update_flaky_tests_management_policies_request"}} + When the request is sent + Then the response status is 400 Bad Request + @generated @skip @team:DataDog/ci-app-backend Scenario: Update Test Optimization service settings returns "Bad Request" response Given operation "UpdateTestOptimizationServiceSettings" enabled diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index 02afc91a4b..7642562ac7 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -1036,6 +1036,18 @@ "type": "safe" } }, + "UpdateFlakyTestsManagementPolicies": { + "tag": "Test Optimization", + "undo": { + "type": "unsafe" + } + }, + "GetFlakyTestsManagementPolicies": { + "tag": "Test Optimization", + "undo": { + "type": "safe" + } + }, "DeleteTestOptimizationServiceSettings": { "tag": "Test Optimization", "undo": {