Skip to content

Commit e1fc9a8

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add ignore_certificate_validation to SyntheticsTestOptions (#1823)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent f2c3598 commit e1fc9a8

7 files changed

Lines changed: 33 additions & 7 deletions

.generator/schemas/v1/openapi.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20355,6 +20355,10 @@ components:
2035520355
ignoreServerCertificateError:
2035620356
description: Ignore server certificate error for browser tests.
2035720357
type: boolean
20358+
ignore_certificate_validation:
20359+
description: |-
20360+
For SSL tests, whether or not the test should ignore certificate validation.
20361+
type: boolean
2035820362
initialNavigationTimeout:
2035920363
description: Timeout before declaring the initial step as failed (in seconds) for browser tests.
2036020364
format: int64

examples/v1_synthetics_CreateSyntheticsAPITest_1072503741.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ async fn main() {
4343
.accept_self_signed(true)
4444
.check_certificate_revocation(true)
4545
.disable_aia_intermediate_fetching(true)
46+
.ignore_certificate_validation(true)
4647
.tick_every(60),
4748
SyntheticsAPITestType::API,
4849
)

src/datadogV1/model/model_synthetics_test_options.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ pub struct SyntheticsTestOptions {
5858
/// Ignore server certificate error for browser tests.
5959
#[serde(rename = "ignoreServerCertificateError")]
6060
pub ignore_server_certificate_error: Option<bool>,
61+
/// For SSL tests, whether or not the test should ignore certificate validation.
62+
#[serde(rename = "ignore_certificate_validation")]
63+
pub ignore_certificate_validation: Option<bool>,
6164
/// Timeout before declaring the initial step as failed (in seconds) for browser tests.
6265
#[serde(rename = "initialNavigationTimeout")]
6366
pub initial_navigation_timeout: Option<i64>,
@@ -133,6 +136,7 @@ impl SyntheticsTestOptions {
133136
follow_redirects: None,
134137
http_version: None,
135138
ignore_server_certificate_error: None,
139+
ignore_certificate_validation: None,
136140
initial_navigation_timeout: None,
137141
min_failure_duration: None,
138142
min_location_failed: None,
@@ -243,6 +247,12 @@ impl SyntheticsTestOptions {
243247
self
244248
}
245249

250+
#[allow(deprecated)]
251+
pub fn ignore_certificate_validation(mut self, value: bool) -> Self {
252+
self.ignore_certificate_validation = Some(value);
253+
self
254+
}
255+
246256
#[allow(deprecated)]
247257
pub fn initial_navigation_timeout(mut self, value: i64) -> Self {
248258
self.initial_navigation_timeout = Some(value);
@@ -373,6 +383,7 @@ impl<'de> Deserialize<'de> for SyntheticsTestOptions {
373383
crate::datadogV1::model::SyntheticsTestOptionsHTTPVersion,
374384
> = None;
375385
let mut ignore_server_certificate_error: Option<bool> = None;
386+
let mut ignore_certificate_validation: Option<bool> = None;
376387
let mut initial_navigation_timeout: Option<i64> = None;
377388
let mut min_failure_duration: Option<i64> = None;
378389
let mut min_location_failed: Option<i64> = None;
@@ -510,6 +521,13 @@ impl<'de> Deserialize<'de> for SyntheticsTestOptions {
510521
ignore_server_certificate_error =
511522
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
512523
}
524+
"ignore_certificate_validation" => {
525+
if v.is_null() {
526+
continue;
527+
}
528+
ignore_certificate_validation =
529+
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
530+
}
513531
"initialNavigationTimeout" => {
514532
if v.is_null() {
515533
continue;
@@ -616,6 +634,7 @@ impl<'de> Deserialize<'de> for SyntheticsTestOptions {
616634
follow_redirects,
617635
http_version,
618636
ignore_server_certificate_error,
637+
ignore_certificate_validation,
619638
initial_navigation_timeout,
620639
min_failure_duration,
621640
min_location_failed,
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025-07-11T17:23:57.607Z
1+
2026-07-10T09:46:57.309Z

tests/scenarios/cassettes/v1/synthetics/Create-an-API-SSL-test-returns-OK-Returns-the-created-test-details-response.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{
44
"request": {
55
"body": {
6-
"string": "{\"config\":{\"assertions\":[{\"operator\":\"isInMoreThan\",\"target\":10,\"type\":\"certificate\"}],\"request\":{\"host\":\"datadoghq.com\",\"port\":\"{{ DATADOG_PORT }}\"}},\"locations\":[\"aws:us-east-2\"],\"message\":\"BDD test payload: synthetics_api_ssl_test_payload.json\",\"name\":\"Test-Create_an_API_SSL_test_returns_OK_Returns_the_created_test_details_response-1752254637\",\"options\":{\"accept_self_signed\":true,\"checkCertificateRevocation\":true,\"disableAiaIntermediateFetching\":true,\"tick_every\":60},\"subtype\":\"ssl\",\"tags\":[\"testing:api\"],\"type\":\"api\"}",
6+
"string": "{\"config\":{\"assertions\":[{\"operator\":\"isInMoreThan\",\"target\":10,\"type\":\"certificate\"}],\"request\":{\"host\":\"datadoghq.com\",\"port\":\"{{ DATADOG_PORT }}\"}},\"locations\":[\"aws:us-east-2\"],\"message\":\"BDD test payload: synthetics_api_ssl_test_payload.json\",\"name\":\"Test-Create_an_API_SSL_test_returns_OK_Returns_the_created_test_details_response-1783676817\",\"options\":{\"accept_self_signed\":true,\"checkCertificateRevocation\":true,\"disableAiaIntermediateFetching\":true,\"ignore_certificate_validation\":true,\"tick_every\":60},\"subtype\":\"ssl\",\"tags\":[\"testing:api\"],\"type\":\"api\"}",
77
"encoding": null
88
},
99
"headers": {
@@ -19,7 +19,7 @@
1919
},
2020
"response": {
2121
"body": {
22-
"string": "{\"public_id\":\"ppr-ina-vd6\",\"name\":\"Test-Create_an_API_SSL_test_returns_OK_Returns_the_created_test_details_response-1752254637\",\"status\":\"live\",\"type\":\"api\",\"subtype\":\"ssl\",\"tags\":[\"testing:api\"],\"created_at\":\"2025-07-11T17:23:58.189592+00:00\",\"modified_at\":\"2025-07-11T17:23:58.189592+00:00\",\"config\":{\"assertions\":[{\"operator\":\"isInMoreThan\",\"target\":10,\"type\":\"certificate\"}],\"request\":{\"host\":\"datadoghq.com\",\"port\":\"{{ DATADOG_PORT }}\"},\"configVariables\":[{\"id\":\"7865d47f-47df-43b5-a612-e2dea9ed40e8\",\"name\":\"DATADOG_PORT\",\"type\":\"global\"}]},\"message\":\"BDD test payload: synthetics_api_ssl_test_payload.json\",\"options\":{\"accept_self_signed\":true,\"checkCertificateRevocation\":true,\"disableAiaIntermediateFetching\":true,\"tick_every\":60},\"locations\":[\"aws:us-east-2\"],\"created_by\":{\"name\":\"CI Account\",\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"email\":\"team-intg-tools-libs-spam@datadoghq.com\"},\"deleted_at\":null,\"monitor_id\":177655296,\"org_id\":321813,\"modified_by\":{\"name\":\"CI Account\",\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"email\":\"team-intg-tools-libs-spam@datadoghq.com\"}}",
22+
"string": "{\"public_id\":\"qv3-9py-53q\",\"name\":\"Test-Create_an_API_SSL_test_returns_OK_Returns_the_created_test_details_response-1783676817\",\"status\":\"live\",\"type\":\"api\",\"subtype\":\"ssl\",\"tags\":[\"testing:api\"],\"created_at\":\"2026-07-10T09:46:58.299268+00:00\",\"modified_at\":\"2026-07-10T09:46:58.299268+00:00\",\"config\":{\"assertions\":[{\"operator\":\"isInMoreThan\",\"target\":10,\"type\":\"certificate\"}],\"request\":{\"host\":\"datadoghq.com\",\"port\":\"{{ DATADOG_PORT }}\"},\"configVariables\":[{\"id\":\"7865d47f-47df-43b5-a612-e2dea9ed40e8\",\"name\":\"DATADOG_PORT\",\"type\":\"global\"}]},\"message\":\"BDD test payload: synthetics_api_ssl_test_payload.json\",\"options\":{\"accept_self_signed\":true,\"checkCertificateRevocation\":true,\"disableAiaIntermediateFetching\":true,\"ignore_certificate_validation\":true,\"tick_every\":60,\"bits_ai_auto_investigate\":false},\"locations\":[\"aws:us-east-2\"],\"created_by\":{\"name\":\"CI Account\",\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"email\":\"team-intg-tools-libs-spam@datadoghq.com\"},\"deleted_at\":null,\"monitor_id\":304244708,\"org_id\":321813,\"modified_by\":{\"name\":\"CI Account\",\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"email\":\"team-intg-tools-libs-spam@datadoghq.com\"}}",
2323
"encoding": null
2424
},
2525
"headers": {
@@ -32,12 +32,12 @@
3232
"message": "OK"
3333
}
3434
},
35-
"recorded_at": "Fri, 11 Jul 2025 17:23:57 GMT"
35+
"recorded_at": "Fri, 10 Jul 2026 09:46:57 GMT"
3636
},
3737
{
3838
"request": {
3939
"body": {
40-
"string": "{\"public_ids\":[\"ppr-ina-vd6\"]}",
40+
"string": "{\"public_ids\":[\"qv3-9py-53q\"]}",
4141
"encoding": null
4242
},
4343
"headers": {
@@ -53,7 +53,7 @@
5353
},
5454
"response": {
5555
"body": {
56-
"string": "{\"deleted_tests\":[{\"public_id\":\"ppr-ina-vd6\",\"deleted_at\":\"2025-07-11T17:23:59.574697+00:00\"}]}\n",
56+
"string": "{\"deleted_tests\":[{\"public_id\":\"qv3-9py-53q\",\"deleted_at\":\"2026-07-10T09:46:59.194132+00:00\"}]}\n",
5757
"encoding": null
5858
},
5959
"headers": {
@@ -66,7 +66,7 @@
6666
"message": "OK"
6767
}
6868
},
69-
"recorded_at": "Fri, 11 Jul 2025 17:23:57 GMT"
69+
"recorded_at": "Fri, 10 Jul 2026 09:46:57 GMT"
7070
}
7171
],
7272
"recorded_with": "VCR 6.0.0"

tests/scenarios/features/v1/synthetics.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ Feature: Synthetics
246246
When the request is sent
247247
Then the response status is 200 OK - Returns the created test details.
248248
And the response "name" is equal to "{{ unique }}"
249+
And the response "options.ignore_certificate_validation" is equal to true
249250

250251
@generated @skip @team:DataDog/synthetics-orchestrating-managing
251252
Scenario: Create an API test returns "- JSON format is wrong" response

tests/scenarios/features/v1/synthetics_api_ssl_test_payload.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"accept_self_signed": true,
2020
"checkCertificateRevocation": true,
2121
"disableAiaIntermediateFetching": true,
22+
"ignore_certificate_validation": true,
2223
"tick_every": 60
2324
},
2425
"subtype": "ssl",

0 commit comments

Comments
 (0)