Skip to content

Commit 1d6c1d6

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Documenting the new Flaky Test Management API endpoint for public beta (#913)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 26281f1 commit 1d6c1d6

29 files changed

+3267
-0
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 419 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// Search flaky tests returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_test_optimization::SearchFlakyTestsOptionalParams;
4+
use datadog_api_client::datadogV2::api_test_optimization::TestOptimizationAPI;
5+
use datadog_api_client::datadogV2::model::FlakyTestsSearchFilter;
6+
use datadog_api_client::datadogV2::model::FlakyTestsSearchPageOptions;
7+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequest;
8+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestAttributes;
9+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestData;
10+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestDataType;
11+
use datadog_api_client::datadogV2::model::FlakyTestsSearchSort;
12+
13+
#[tokio::main]
14+
async fn main() {
15+
let body =
16+
FlakyTestsSearchRequest
17+
::new().data(
18+
FlakyTestsSearchRequestData::new()
19+
.attributes(
20+
FlakyTestsSearchRequestAttributes::new()
21+
.filter(
22+
FlakyTestsSearchFilter
23+
::new().query(
24+
r#"flaky_test_state:active @git.repository.id_v2:"github.com/datadog/shopist""#.to_string(),
25+
),
26+
)
27+
.page(
28+
FlakyTestsSearchPageOptions::new()
29+
.cursor(
30+
"eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==".to_string(),
31+
)
32+
.limit(25),
33+
)
34+
.sort(FlakyTestsSearchSort::FAILURE_RATE_ASCENDING),
35+
)
36+
.type_(FlakyTestsSearchRequestDataType::SEARCH_FLAKY_TESTS_REQUEST),
37+
);
38+
let mut configuration = datadog::Configuration::new();
39+
configuration.set_unstable_operation_enabled("v2.SearchFlakyTests", true);
40+
let api = TestOptimizationAPI::with_config(configuration);
41+
let resp = api
42+
.search_flaky_tests(SearchFlakyTestsOptionalParams::default().body(body))
43+
.await;
44+
if let Ok(value) = resp {
45+
println!("{:#?}", value);
46+
} else {
47+
println!("{:#?}", resp.unwrap_err());
48+
}
49+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// Search flaky tests returns "OK" response with pagination
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_test_optimization::SearchFlakyTestsOptionalParams;
4+
use datadog_api_client::datadogV2::api_test_optimization::TestOptimizationAPI;
5+
use datadog_api_client::datadogV2::model::FlakyTestsSearchFilter;
6+
use datadog_api_client::datadogV2::model::FlakyTestsSearchPageOptions;
7+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequest;
8+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestAttributes;
9+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestData;
10+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestDataType;
11+
use datadog_api_client::datadogV2::model::FlakyTestsSearchSort;
12+
use futures_util::pin_mut;
13+
use futures_util::stream::StreamExt;
14+
15+
#[tokio::main]
16+
async fn main() {
17+
let body =
18+
FlakyTestsSearchRequest
19+
::new().data(
20+
FlakyTestsSearchRequestData::new()
21+
.attributes(
22+
FlakyTestsSearchRequestAttributes::new()
23+
.filter(
24+
FlakyTestsSearchFilter
25+
::new().query(
26+
r#"flaky_test_state:active @git.repository.id_v2:"github.com/datadog/shopist""#.to_string(),
27+
),
28+
)
29+
.page(
30+
FlakyTestsSearchPageOptions::new()
31+
.cursor(
32+
"eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==".to_string(),
33+
)
34+
.limit(25),
35+
)
36+
.sort(FlakyTestsSearchSort::FAILURE_RATE_ASCENDING),
37+
)
38+
.type_(FlakyTestsSearchRequestDataType::SEARCH_FLAKY_TESTS_REQUEST),
39+
);
40+
let mut configuration = datadog::Configuration::new();
41+
configuration.set_unstable_operation_enabled("v2.SearchFlakyTests", true);
42+
let api = TestOptimizationAPI::with_config(configuration);
43+
let response = api
44+
.search_flaky_tests_with_pagination(SearchFlakyTestsOptionalParams::default().body(body));
45+
pin_mut!(response);
46+
while let Some(resp) = response.next().await {
47+
if let Ok(value) = resp {
48+
println!("{:#?}", value);
49+
} else {
50+
println!("{:#?}", resp.unwrap_err());
51+
}
52+
}
53+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Search flaky tests returns "OK" response with filtered query
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_test_optimization::SearchFlakyTestsOptionalParams;
4+
use datadog_api_client::datadogV2::api_test_optimization::TestOptimizationAPI;
5+
use datadog_api_client::datadogV2::model::FlakyTestsSearchFilter;
6+
use datadog_api_client::datadogV2::model::FlakyTestsSearchPageOptions;
7+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequest;
8+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestAttributes;
9+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestData;
10+
use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestDataType;
11+
use datadog_api_client::datadogV2::model::FlakyTestsSearchSort;
12+
use futures_util::pin_mut;
13+
use futures_util::stream::StreamExt;
14+
15+
#[tokio::main]
16+
async fn main() {
17+
let body =
18+
FlakyTestsSearchRequest
19+
::new().data(
20+
FlakyTestsSearchRequestData::new()
21+
.attributes(
22+
FlakyTestsSearchRequestAttributes::new()
23+
.filter(
24+
FlakyTestsSearchFilter
25+
::new().query(
26+
r#"flaky_test_state:active @git.repository.id_v2:"github.com/datadog/cart-tracking""#.to_string(),
27+
),
28+
)
29+
.page(FlakyTestsSearchPageOptions::new().limit(10))
30+
.sort(FlakyTestsSearchSort::LAST_FLAKED_DESCENDING),
31+
)
32+
.type_(FlakyTestsSearchRequestDataType::SEARCH_FLAKY_TESTS_REQUEST),
33+
);
34+
let mut configuration = datadog::Configuration::new();
35+
configuration.set_unstable_operation_enabled("v2.SearchFlakyTests", true);
36+
let api = TestOptimizationAPI::with_config(configuration);
37+
let response = api
38+
.search_flaky_tests_with_pagination(SearchFlakyTestsOptionalParams::default().body(body));
39+
pin_mut!(response);
40+
while let Some(resp) = response.next().await {
41+
if let Ok(value) = resp {
42+
println!("{:#?}", value);
43+
} else {
44+
println!("{:#?}", resp.unwrap_err());
45+
}
46+
}
47+
}

src/datadog/configuration.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ impl Default for Configuration {
236236
("v2.get_incident_team".to_owned(), false),
237237
("v2.list_incident_teams".to_owned(), false),
238238
("v2.update_incident_team".to_owned(), false),
239+
("v2.search_flaky_tests".to_owned(), false),
239240
]);
240241
let mut auth_keys: HashMap<String, APIKey> = HashMap::new();
241242
auth_keys.insert(

0 commit comments

Comments
 (0)