v2_test_optimization_SearchFlakyTests/
v2_test-optimization_SearchFlakyTests.rs

1// Search flaky tests returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_test_optimization::SearchFlakyTestsOptionalParams;
4use datadog_api_client::datadogV2::api_test_optimization::TestOptimizationAPI;
5use datadog_api_client::datadogV2::model::FlakyTestsSearchFilter;
6use datadog_api_client::datadogV2::model::FlakyTestsSearchPageOptions;
7use datadog_api_client::datadogV2::model::FlakyTestsSearchRequest;
8use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestAttributes;
9use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestData;
10use datadog_api_client::datadogV2::model::FlakyTestsSearchRequestDataType;
11use datadog_api_client::datadogV2::model::FlakyTestsSearchSort;
12
13#[tokio::main]
14async 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}