Skip to content

Commit 4847aa9

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add public POST/PATCH endpoints for Flaky Tests Management policies (#3211)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent f9c0337 commit 4847aa9

30 files changed

Lines changed: 3046 additions & 0 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 372 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Get Flaky Tests Management policies returns "OK" response
2+
3+
require "datadog_api_client"
4+
DatadogAPIClient.configure do |config|
5+
config.unstable_operations["v2.get_flaky_tests_management_policies".to_sym] = true
6+
end
7+
api_instance = DatadogAPIClient::V2::TestOptimizationAPI.new
8+
9+
body = DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesGetRequest.new({
10+
data: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesGetRequestData.new({
11+
attributes: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes.new({
12+
repository_id: "github.com/datadog/shopist",
13+
}),
14+
type: DatadogAPIClient::V2::TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType::TEST_OPTIMIZATION_GET_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST,
15+
}),
16+
})
17+
p api_instance.get_flaky_tests_management_policies(body)
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Update Flaky Tests Management policies returns "OK" response
2+
3+
require "datadog_api_client"
4+
DatadogAPIClient.configure do |config|
5+
config.unstable_operations["v2.update_flaky_tests_management_policies".to_sym] = true
6+
end
7+
api_instance = DatadogAPIClient::V2::TestOptimizationAPI.new
8+
9+
body = DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesUpdateRequest.new({
10+
data: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData.new({
11+
attributes: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes.new({
12+
attempt_to_fix: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesAttemptToFix.new({
13+
retries: 3,
14+
}),
15+
disabled: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesDisabled.new({
16+
auto_disable_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule.new({
17+
enabled: false,
18+
status: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesDisabledStatus::ACTIVE,
19+
window_seconds: 3600,
20+
}),
21+
branch_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesBranchRule.new({
22+
branches: [
23+
"main",
24+
],
25+
enabled: true,
26+
excluded_branches: [],
27+
excluded_test_services: [],
28+
}),
29+
enabled: false,
30+
failure_rate_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule.new({
31+
branches: [],
32+
enabled: false,
33+
min_runs: 10,
34+
status: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesDisabledStatus::ACTIVE,
35+
threshold: 0.5,
36+
}),
37+
}),
38+
quarantined: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesQuarantined.new({
39+
auto_quarantine_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule.new({
40+
enabled: true,
41+
window_seconds: 3600,
42+
}),
43+
branch_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesBranchRule.new({
44+
branches: [
45+
"main",
46+
],
47+
enabled: true,
48+
excluded_branches: [],
49+
excluded_test_services: [],
50+
}),
51+
enabled: true,
52+
failure_rate_rule: DatadogAPIClient::V2::TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule.new({
53+
branches: [
54+
"main",
55+
],
56+
enabled: true,
57+
min_runs: 10,
58+
threshold: 0.5,
59+
}),
60+
}),
61+
repository_id: "github.com/datadog/shopist",
62+
}),
63+
type: DatadogAPIClient::V2::TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType::TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST,
64+
}),
65+
})
66+
p api_instance.update_flaky_tests_management_policies(body)

features/scenarios_model_mapping.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1397,6 +1397,12 @@
13971397
"v2.SearchCIAppPipelineEvents" => {
13981398
"body" => "CIAppPipelineEventsRequest",
13991399
},
1400+
"v2.UpdateFlakyTestsManagementPolicies" => {
1401+
"body" => "TestOptimizationFlakyTestsManagementPoliciesUpdateRequest",
1402+
},
1403+
"v2.GetFlakyTestsManagementPolicies" => {
1404+
"body" => "TestOptimizationFlakyTestsManagementPoliciesGetRequest",
1405+
},
14001406
"v2.DeleteTestOptimizationServiceSettings" => {
14011407
"body" => "TestOptimizationDeleteServiceSettingsRequest",
14021408
},

features/v2/test_optimization.feature

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,38 @@ Feature: Test Optimization
3333
When the request is sent
3434
Then the response status is 404 Not Found
3535

36+
@generated @skip @team:DataDog/ci-app-backend
37+
Scenario: Get Flaky Tests Management policies returns "Bad Request" response
38+
Given operation "GetFlakyTestsManagementPolicies" enabled
39+
And new "GetFlakyTestsManagementPolicies" request
40+
And body with value {"data": {"attributes": {"repository_id": "github.com/datadog/shopist"}, "type": "test_optimization_get_flaky_tests_management_policies_request"}}
41+
When the request is sent
42+
Then the response status is 400 Bad Request
43+
44+
@generated @skip @team:DataDog/ci-app-backend
45+
Scenario: Get Flaky Tests Management policies returns "Not Found" response
46+
Given operation "GetFlakyTestsManagementPolicies" enabled
47+
And new "GetFlakyTestsManagementPolicies" request
48+
And body with value {"data": {"attributes": {"repository_id": "github.com/datadog/shopist"}, "type": "test_optimization_get_flaky_tests_management_policies_request"}}
49+
When the request is sent
50+
Then the response status is 404 Not Found
51+
52+
@generated @skip @team:DataDog/ci-app-backend
53+
Scenario: Get Flaky Tests Management policies returns "OK" response
54+
Given operation "GetFlakyTestsManagementPolicies" enabled
55+
And new "GetFlakyTestsManagementPolicies" request
56+
And body with value {"data": {"attributes": {"repository_id": "github.com/datadog/shopist"}, "type": "test_optimization_get_flaky_tests_management_policies_request"}}
57+
When the request is sent
58+
Then the response status is 200 OK
59+
60+
@skip @team:DataDog/ci-app-backend
61+
Scenario: Get Flaky Tests Management policies with empty repository_id returns bad request
62+
Given operation "GetFlakyTestsManagementPolicies" enabled
63+
And new "GetFlakyTestsManagementPolicies" request
64+
And body with value {"data": {"attributes": {"repository_id": ""}, "type": "test_optimization_get_flaky_tests_management_policies_request"}}
65+
When the request is sent
66+
Then the response status is 400 Bad Request
67+
3668
@generated @skip @team:DataDog/ci-app-backend
3769
Scenario: Get Test Optimization service settings returns "Bad Request" response
3870
Given operation "GetTestOptimizationServiceSettings" enabled
@@ -133,6 +165,38 @@ Feature: Test Optimization
133165
When the request with pagination is sent
134166
Then the response status is 200 OK
135167

168+
@generated @skip @team:DataDog/ci-app-backend
169+
Scenario: Update Flaky Tests Management policies returns "Bad Request" response
170+
Given operation "UpdateFlakyTestsManagementPolicies" enabled
171+
And new "UpdateFlakyTestsManagementPolicies" request
172+
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"}}
173+
When the request is sent
174+
Then the response status is 400 Bad Request
175+
176+
@generated @skip @team:DataDog/ci-app-backend
177+
Scenario: Update Flaky Tests Management policies returns "Not Found" response
178+
Given operation "UpdateFlakyTestsManagementPolicies" enabled
179+
And new "UpdateFlakyTestsManagementPolicies" request
180+
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"}}
181+
When the request is sent
182+
Then the response status is 404 Not Found
183+
184+
@generated @skip @team:DataDog/ci-app-backend
185+
Scenario: Update Flaky Tests Management policies returns "OK" response
186+
Given operation "UpdateFlakyTestsManagementPolicies" enabled
187+
And new "UpdateFlakyTestsManagementPolicies" request
188+
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"}}
189+
When the request is sent
190+
Then the response status is 200 OK
191+
192+
@skip @team:DataDog/ci-app-backend
193+
Scenario: Update Flaky Tests Management policies with empty repository_id returns bad request
194+
Given operation "UpdateFlakyTestsManagementPolicies" enabled
195+
And new "UpdateFlakyTestsManagementPolicies" request
196+
And body with value {"data": {"attributes": {"repository_id": ""}, "type": "test_optimization_update_flaky_tests_management_policies_request"}}
197+
When the request is sent
198+
Then the response status is 400 Bad Request
199+
136200
@generated @skip @team:DataDog/ci-app-backend
137201
Scenario: Update Test Optimization service settings returns "Bad Request" response
138202
Given operation "UpdateTestOptimizationServiceSettings" enabled

features/v2/undo.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,6 +1036,18 @@
10361036
"type": "safe"
10371037
}
10381038
},
1039+
"UpdateFlakyTestsManagementPolicies": {
1040+
"tag": "Test Optimization",
1041+
"undo": {
1042+
"type": "unsafe"
1043+
}
1044+
},
1045+
"GetFlakyTestsManagementPolicies": {
1046+
"tag": "Test Optimization",
1047+
"undo": {
1048+
"type": "safe"
1049+
}
1050+
},
10391051
"DeleteTestOptimizationServiceSettings": {
10401052
"tag": "Test Optimization",
10411053
"undo": {

lib/datadog_api_client/configuration.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,11 @@ def initialize
222222
"v2.update_change_request": false,
223223
"v2.update_change_request_decision": false,
224224
"v2.delete_test_optimization_service_settings": false,
225+
"v2.get_flaky_tests_management_policies": false,
225226
"v2.get_test_optimization_service_settings": false,
226227
"v2.search_flaky_tests": false,
227228
"v2.update_flaky_tests": false,
229+
"v2.update_flaky_tests_management_policies": false,
228230
"v2.update_test_optimization_service_settings": false,
229231
"v2.create_aws_cloud_auth_persona_mapping": false,
230232
"v2.delete_aws_cloud_auth_persona_mapping": false,

lib/datadog_api_client/inflector.rb

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5567,6 +5567,26 @@ def overrides
55675567
"v2.test_optimization_delete_service_settings_request_attributes" => "TestOptimizationDeleteServiceSettingsRequestAttributes",
55685568
"v2.test_optimization_delete_service_settings_request_data" => "TestOptimizationDeleteServiceSettingsRequestData",
55695569
"v2.test_optimization_delete_service_settings_request_data_type" => "TestOptimizationDeleteServiceSettingsRequestDataType",
5570+
"v2.test_optimization_flaky_tests_management_policies_attempt_to_fix" => "TestOptimizationFlakyTestsManagementPoliciesAttemptToFix",
5571+
"v2.test_optimization_flaky_tests_management_policies_attributes" => "TestOptimizationFlakyTestsManagementPoliciesAttributes",
5572+
"v2.test_optimization_flaky_tests_management_policies_auto_disable_rule" => "TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule",
5573+
"v2.test_optimization_flaky_tests_management_policies_auto_quarantine_rule" => "TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule",
5574+
"v2.test_optimization_flaky_tests_management_policies_branch_rule" => "TestOptimizationFlakyTestsManagementPoliciesBranchRule",
5575+
"v2.test_optimization_flaky_tests_management_policies_data" => "TestOptimizationFlakyTestsManagementPoliciesData",
5576+
"v2.test_optimization_flaky_tests_management_policies_disabled" => "TestOptimizationFlakyTestsManagementPoliciesDisabled",
5577+
"v2.test_optimization_flaky_tests_management_policies_disabled_failure_rate_rule" => "TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule",
5578+
"v2.test_optimization_flaky_tests_management_policies_disabled_status" => "TestOptimizationFlakyTestsManagementPoliciesDisabledStatus",
5579+
"v2.test_optimization_flaky_tests_management_policies_get_request" => "TestOptimizationFlakyTestsManagementPoliciesGetRequest",
5580+
"v2.test_optimization_flaky_tests_management_policies_get_request_attributes" => "TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes",
5581+
"v2.test_optimization_flaky_tests_management_policies_get_request_data" => "TestOptimizationFlakyTestsManagementPoliciesGetRequestData",
5582+
"v2.test_optimization_flaky_tests_management_policies_quarantined" => "TestOptimizationFlakyTestsManagementPoliciesQuarantined",
5583+
"v2.test_optimization_flaky_tests_management_policies_quarantined_failure_rate_rule" => "TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule",
5584+
"v2.test_optimization_flaky_tests_management_policies_response" => "TestOptimizationFlakyTestsManagementPoliciesResponse",
5585+
"v2.test_optimization_flaky_tests_management_policies_type" => "TestOptimizationFlakyTestsManagementPoliciesType",
5586+
"v2.test_optimization_flaky_tests_management_policies_update_request" => "TestOptimizationFlakyTestsManagementPoliciesUpdateRequest",
5587+
"v2.test_optimization_flaky_tests_management_policies_update_request_attributes" => "TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes",
5588+
"v2.test_optimization_flaky_tests_management_policies_update_request_data" => "TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData",
5589+
"v2.test_optimization_get_flaky_tests_management_policies_request_data_type" => "TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType",
55705590
"v2.test_optimization_get_service_settings_request" => "TestOptimizationGetServiceSettingsRequest",
55715591
"v2.test_optimization_get_service_settings_request_attributes" => "TestOptimizationGetServiceSettingsRequestAttributes",
55725592
"v2.test_optimization_get_service_settings_request_data" => "TestOptimizationGetServiceSettingsRequestData",
@@ -5575,6 +5595,7 @@ def overrides
55755595
"v2.test_optimization_service_settings_data" => "TestOptimizationServiceSettingsData",
55765596
"v2.test_optimization_service_settings_response" => "TestOptimizationServiceSettingsResponse",
55775597
"v2.test_optimization_service_settings_type" => "TestOptimizationServiceSettingsType",
5598+
"v2.test_optimization_update_flaky_tests_management_policies_request_data_type" => "TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType",
55785599
"v2.test_optimization_update_service_settings_request" => "TestOptimizationUpdateServiceSettingsRequest",
55795600
"v2.test_optimization_update_service_settings_request_attributes" => "TestOptimizationUpdateServiceSettingsRequestAttributes",
55805601
"v2.test_optimization_update_service_settings_request_data" => "TestOptimizationUpdateServiceSettingsRequestData",

0 commit comments

Comments
 (0)