Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add synthetics results api replay only tests #1595

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .apigentools-info
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
"spec_versions": {
"v1": {
"apigentools_version": "1.6.2",
"regenerated": "2022-07-19 06:39:02.576409",
"spec_repo_commit": "0fe2fba6"
"regenerated": "2022-07-19 07:53:11.979042",
"spec_repo_commit": "fd2aa418"
},
"v2": {
"apigentools_version": "1.6.2",
"regenerated": "2022-07-19 06:39:02.593471",
"spec_repo_commit": "0fe2fba6"
"regenerated": "2022-07-19 07:53:11.997168",
"spec_repo_commit": "fd2aa418"
}
}
}
2 changes: 1 addition & 1 deletion examples/v1/synthetics/GetAPITestLatestResults.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.SyntheticsApi.GetAPITestLatestResults(ctx, "public_id", *datadog.NewGetAPITestLatestResultsOptionalParameters())
resp, r, err := apiClient.SyntheticsApi.GetAPITestLatestResults(ctx, "hwb-332-3xe", *datadog.NewGetAPITestLatestResultsOptionalParameters())

if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `SyntheticsApi.GetAPITestLatestResults`: %v\n", err)
Expand Down
2 changes: 1 addition & 1 deletion examples/v1/synthetics/GetAPITestResult.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.SyntheticsApi.GetAPITestResult(ctx, "public_id", "result_id")
resp, r, err := apiClient.SyntheticsApi.GetAPITestResult(ctx, "hwb-332-3xe", "3420446318379485707")

if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `SyntheticsApi.GetAPITestResult`: %v\n", err)
Expand Down
2 changes: 1 addition & 1 deletion examples/v1/synthetics/GetBrowserTestLatestResults.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.SyntheticsApi.GetBrowserTestLatestResults(ctx, "public_id", *datadog.NewGetBrowserTestLatestResultsOptionalParameters())
resp, r, err := apiClient.SyntheticsApi.GetBrowserTestLatestResults(ctx, "2yy-sem-mjh", *datadog.NewGetBrowserTestLatestResultsOptionalParameters())

if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `SyntheticsApi.GetBrowserTestLatestResults`: %v\n", err)
Expand Down
2 changes: 1 addition & 1 deletion examples/v1/synthetics/GetBrowserTestResult.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.SyntheticsApi.GetBrowserTestResult(ctx, "public_id", "result_id")
resp, r, err := apiClient.SyntheticsApi.GetBrowserTestResult(ctx, "2yy-sem-mjh", "5671719892074090418")

if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `SyntheticsApi.GetBrowserTestResult`: %v\n", err)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2022-07-14T19:05:28.528Z
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
interactions:
- request:
body: ''
form: {}
headers:
Accept:
- application/json
method: GET
url: https://api.datadoghq.com/api/v1/synthetics/tests/browser/2yy-sem-mjh/results/5671719892074090418
response:
body: '{"status":0,"run_type":0,"check_time":1657823117511,"check_version":2,"result":{"runType":0,"browserType":"edge","eventType":"finished","stepDetails":[{"browserErrors":[],"vitalsMetrics":[{"url":"https://docs.datadoghq.com/","lcp":805.599,"cls":0.001}],"skipped":false,"description":"Navigate
to start URL","warnings":[],"url":"about:blank","snapshotBucketKey":false,"value":"https://docs.datadoghq.com/","rumContext":{"sessionId":"058f89c5-df45-4ecd-ada4-3cebd80ded90","applicationId":"737d835c-601a-46c1-853a-1af59907cff5","viewId":"8eaade39-8793-436f-b7fb-2e74858e0583"},"duration":2254,"emailMessageBucketKeys":false,"allowFailure":false,"screenshotBucketKey":true,"isCritical":false,"type":"goToUrlAndMeasureTti","stepId":-1},{"browserErrors":[],"vitalsMetrics":[],"skipped":false,"publicId":"s9n-dfr-cfw","description":"Type
text on input \"s\"","emailMessageBucketKeys":false,"url":"https://docs.datadoghq.com/","snapshotBucketKey":false,"value":"api","rumContext":{"sessionId":"058f89c5-df45-4ecd-ada4-3cebd80ded90","applicationId":"737d835c-601a-46c1-853a-1af59907cff5","viewId":"8eaade39-8793-436f-b7fb-2e74858e0583"},"duration":814,"allowFailure":false,"screenshotBucketKey":true,"isCritical":true,"type":"typeText","stepId":11943140},{"browserErrors":[],"vitalsMetrics":[{"url":"https://docs.datadoghq.com/search/?s=api","lcp":474.8}],"skipped":false,"publicId":"tzz-gum-7rc","description":"Press
key ''Enter''","emailMessageBucketKeys":false,"url":"https://docs.datadoghq.com/","snapshotBucketKey":false,"value":"Enter","rumContext":{"sessionId":"058f89c5-df45-4ecd-ada4-3cebd80ded90","applicationId":"737d835c-601a-46c1-853a-1af59907cff5","viewId":"2d5db8da-8605-4ca8-b001-c53b418f4cf0"},"duration":1973,"allowFailure":false,"screenshotBucketKey":true,"isCritical":true,"type":"pressKey","stepId":11943141},{"browserErrors":[],"vitalsMetrics":[{"url":"https://docs.datadoghq.com/api/latest/scopes/","lcp":434.4,"cls":0.001}],"skipped":false,"publicId":"waa-yji-ffq","description":"Click
on link \"API\"","emailMessageBucketKeys":false,"url":"https://docs.datadoghq.com/search/?s=api","snapshotBucketKey":false,"rumContext":{"sessionId":"058f89c5-df45-4ecd-ada4-3cebd80ded90","applicationId":"737d835c-601a-46c1-853a-1af59907cff5","viewId":"18bd7286-d1a6-4218-896b-33c9af642aa9"},"duration":2090,"allowFailure":false,"screenshotBucketKey":true,"isCritical":true,"type":"click","stepId":11943142}],"browserVersion":"101.0.1210.32","mainDC":"us1.prod","timeToInteractive":1596.800000011921,"subtype":null,"device":{"name":"Laptop
Large","height":1100,"width":1440,"userAgent":"Mozilla/5.0 (X11; Linux x86_64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/101.0.1210.32
DatadogSynthetics","id":"edge.laptop_large","isMobile":false,"browser":"edge"},"hasArtifacts":true,"passed":true,"duration":7131,"startUrl":"https://docs.datadoghq.com/"},"probe_dc":"aws:ca-central-1","result_id":"5671719892074090418","check":{"type":"browser","config":{"variables":[],"setCookie":"","request":{"url":"https://docs.datadoghq.com/","headers":{},"method":"GET"},"assertions":[],"configVariables":[]},"options":{"rumSettings":{"isEnabled":true,"applicationId":"737d835c-601a-46c1-853a-1af59907cff5","clientTokenId":94668},"retry":{"count":1,"interval":300},"min_location_failed":1,"monitor_options":{"include_tags":true,"notify_no_data":false,"notify_audit":false,"new_host_delay":300,"renotify_interval":0},"noScreenshot":false,"tick_every":3600,"disableCsp":false,"disableCors":false,"device_ids":["chrome.laptop_large","firefox.laptop_large","edge.laptop_large"],"min_failure_duration":600,"ignoreServerCertificateError":false}},"device_id":"edge.laptop_large"}'
code: 200
duration: ''
headers:
Content-Type:
- application/json
status: 200 OK
version: 1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2022-07-14T18:28:01.484Z
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
interactions:
- request:
body: ''
form: {}
headers:
Accept:
- application/json
method: GET
url: https://api.datadoghq.com/api/v1/synthetics/tests/browser/2yy-sem-mjh/results
response:
body: '{"last_timestamp_fetched":1652639281000,"results":[{"status":0,"check_time":1657823117511,"check_version":2,"result":{"runType":0,"tunnel":false,"errorMessage":null,"timings":null,"stepCountTotal":4,"stepCountCompleted":4,"duration":7131,"deviceId":"edge.laptop_large","passed":true,"device":{"name":"Laptop
Large","height":1100,"width":1440,"userAgent":"Mozilla/5.0 (X11; Linux x86_64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/101.0.1210.32
DatadogSynthetics","id":"edge.laptop_large","isMobile":false,"browser":"edge"},"errorCount":0},"probe_dc":"aws:ca-central-1","result_id":"5671719892074090418","device_id":"edge.laptop_large"},{"status":0,"check_time":1657823117502,"check_version":2,"result":{"runType":0,"tunnel":false,"errorMessage":null,"timings":null,"stepCountTotal":4,"stepCountCompleted":4,"duration":4777,"deviceId":"chrome.laptop_large","passed":true,"device":{"name":"Laptop
Large","height":1100,"width":1440,"userAgent":"Mozilla/5.0 (X11; Linux x86_64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36 DatadogSynthetics","id":"chrome.laptop_large","isMobile":false,"browser":"chrome"},"errorCount":1},"probe_dc":"aws:ca-central-1","result_id":"4818974208458839907","device_id":"chrome.laptop_large"},{"status":0,"check_time":1657823117502,"check_version":2,"result":{"runType":0,"tunnel":false,"errorMessage":null,"timings":null,"stepCountTotal":4,"stepCountCompleted":4,"duration":5838,"deviceId":"firefox.laptop_large","passed":true,"device":{"name":"Laptop
Large","height":1100,"width":1440,"userAgent":"Mozilla/5.0 (X11; Linux x86_64)
Gecko/20100101 Firefox/98.0.2 DatadogSynthetics","id":"firefox.laptop_large","isMobile":false,"browser":"firefox"},"errorCount":0},"probe_dc":"aws:ca-central-1","result_id":"5020771801584744095","device_id":"firefox.laptop_large"}]}'
code: 200
duration: ''
headers:
Content-Type:
- application/json
status: 200 OK
version: 1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2022-07-14T18:46:34.950Z
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
interactions:
- request:
body: ''
form: {}
headers:
Accept:
- application/json
method: GET
url: https://api.datadoghq.com/api/v1/synthetics/tests/hwb-332-3xe/results/3420446318379485707
response:
body: '{"status":0,"run_type":0,"check_time":1657824307023,"check_version":1,"result":{"dnsServer":"8.8.4.4","eventType":"finished","resolutionAttempts":[],"timings":{"firstByte":21.2,"tcp":2.4,"ssl":18,"dns":10.9,"download":0.2,"total":52.7},"subtype":"http","mainDC":"us1.prod","passed":true,"resolvedIp":"142.250.189.238","runType":0,"httpStatusCode":301,"assertionResults":[{"expected":"2000","operator":"lessThan","valid":true,"actual":52.7,"type":"responseTime"},{"expected":"301","operator":"is","valid":true,"actual":301,"type":"statusCode"},{"actual":"text/html;
charset=UTF-8","expected":"text/html; charset=UTF-8","valid":true,"operator":"is","property":"content-type","type":"header"}],"responseSize":220},"probe_dc":"aws:us-west-1","result_id":"3420446318379485707","check":{"type":"api","config":{"request":{"url":"https://google.com","method":"GET"},"assertions":[{"operator":"lessThan","type":"responseTime","target":2000},{"operator":"is","type":"statusCode","target":301},{"operator":"is","property":"content-type","type":"header","target":"text/html;
charset=UTF-8"}]},"options":{"min_location_failed":1,"monitor_options":{"include_tags":true,"notify_no_data":false,"notify_audit":false,"new_host_delay":300,"renotify_interval":0},"tick_every":60,"monitor_name":"Tesst","min_failure_duration":0,"httpVersion":"http1"}}}'
code: 200
duration: ''
headers:
Content-Type:
- application/json
status: 200 OK
version: 1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2022-07-14T18:37:24.177Z

Large diffs are not rendered by default.

30 changes: 20 additions & 10 deletions tests/scenarios/features/v1/synthetics.feature
Original file line number Diff line number Diff line change
Expand Up @@ -318,13 +318,15 @@ Feature: Synthetics
When the request is sent
Then the response status is 404 - Synthetic is not activated for the user

@generated @skip @team:DataDog/synthetics-app
@replay-only @team:DataDog/synthetics-app
Scenario: Get a browser test result returns "OK" response
Given new "GetBrowserTestResult" request
And request contains "public_id" parameter from "REPLACE.ME"
And request contains "result_id" parameter from "REPLACE.ME"
And request contains "public_id" parameter with value "2yy-sem-mjh"
And request contains "result_id" parameter with value "5671719892074090418"
When the request is sent
Then the response status is 200 OK
And the response "result_id" is equal to "5671719892074090418"
And the response "probe_dc" is equal to "aws:ca-central-1"

@generated @skip @team:DataDog/synthetics-app
Scenario: Get a browser test returns "- Synthetic is not activated for the user" response
Expand All @@ -347,12 +349,15 @@ Feature: Synthetics
When the request is sent
Then the response status is 404 - Synthetic is not activated for the user

@generated @skip @team:DataDog/synthetics-app
@replay-only @team:DataDog/synthetics-app
Scenario: Get a browser test's latest results summaries returns "OK" response
Given new "GetBrowserTestLatestResults" request
And request contains "public_id" parameter from "REPLACE.ME"
And request contains "public_id" parameter with value "2yy-sem-mjh"
When the request is sent
Then the response status is 200 OK
And the response "results" has length 3
And the response "results[0].status" is equal to 0
And the response "results[0].probe_dc" is equal to "aws:ca-central-1"

@generated @skip @team:DataDog/synthetics-app
Scenario: Get a global variable returns "Not found" response
Expand Down Expand Up @@ -416,13 +421,15 @@ Feature: Synthetics
When the request is sent
Then the response status is 404 - Synthetic is not activated for the user

@generated @skip @team:DataDog/synthetics-app
@replay-only @team:DataDog/synthetics-app
Scenario: Get an API test result returns "OK" response
Given new "GetAPITestResult" request
And request contains "public_id" parameter from "REPLACE.ME"
And request contains "result_id" parameter from "REPLACE.ME"
And request contains "public_id" parameter with value "hwb-332-3xe"
And request contains "result_id" parameter with value "3420446318379485707"
When the request is sent
Then the response status is 200 OK
And the response "result_id" is equal to "3420446318379485707"
And the response "probe_dc" is equal to "aws:us-west-1"

@team:DataDog/synthetics-app
Scenario: Get an API test result returns result with failure object
Expand Down Expand Up @@ -457,12 +464,15 @@ Feature: Synthetics
When the request is sent
Then the response status is 404 - Synthetic is not activated for the user

@generated @skip @team:DataDog/synthetics-app
@replay-only @team:DataDog/synthetics-app
Scenario: Get an API test's latest results summaries returns "OK" response
Given new "GetAPITestLatestResults" request
And request contains "public_id" parameter from "REPLACE.ME"
And request contains "public_id" parameter with value "hwb-332-3xe"
When the request is sent
Then the response status is 200 OK
And the response "results" has length 150
And the response "results[0].status" is equal to 0
And the response "results[0].probe_dc" is equal to "aws:us-west-1"

@generated @skip @team:DataDog/synthetics-app
Scenario: Get details of batch returns "Batch does not exist." response
Expand Down