Skip to content

Commit f6093e8

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

File tree

29 files changed

+1956
-2
lines changed

29 files changed

+1956
-2
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 372 additions & 0 deletions
Large diffs are not rendered by default.

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": {

private/bdd_runner/src/support/scenarios_model_mapping.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3925,6 +3925,22 @@ export const ScenariosModelMappings: { [key: string]: OperationMapping } = {
39253925
},
39263926
operationResponseType: "CIAppPipelineEventsResponse",
39273927
},
3928+
"TestOptimizationApi.V2.GetFlakyTestsManagementPolicies": {
3929+
body: {
3930+
type: "TestOptimizationFlakyTestsManagementPoliciesGetRequest",
3931+
format: "",
3932+
},
3933+
operationResponseType:
3934+
"TestOptimizationFlakyTestsManagementPoliciesResponse",
3935+
},
3936+
"TestOptimizationApi.V2.UpdateFlakyTestsManagementPolicies": {
3937+
body: {
3938+
type: "TestOptimizationFlakyTestsManagementPoliciesUpdateRequest",
3939+
format: "",
3940+
},
3941+
operationResponseType:
3942+
"TestOptimizationFlakyTestsManagementPoliciesResponse",
3943+
},
39283944
"TestOptimizationApi.V2.GetTestOptimizationServiceSettings": {
39293945
body: {
39303946
type: "TestOptimizationGetServiceSettingsRequest",

services/test_optimization/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ const configuration = createConfiguration();
2828
// Enable unstable operations
2929
const configurationOpts = {
3030
unstableOperations: {
31-
"TestOptimizationApi.v2.getTestOptimizationServiceSettings": true
31+
"TestOptimizationApi.v2.getFlakyTestsManagementPolicies": true
3232
}
3333
}
3434

3535
const configuration = createConfiguration(configurationOpts);
3636
const apiInstance = new TestOptimizationApiV2(configuration);
3737
const params = {/* parameters */};
3838

39-
apiInstance.getTestOptimizationServiceSettings(params).then((data) => {
39+
apiInstance.getFlakyTestsManagementPolicies(params).then((data) => {
4040
console.log("API called successfully. Returned data: " + JSON.stringify(data));
4141
}).catch((error) => {
4242
console.error("Error calling API: " + error);

0 commit comments

Comments
 (0)