From 917bd6e544b9853e4d115f4fa1c0597d6a8c4fa2 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Tue, 4 Feb 2025 19:30:01 +0000 Subject: [PATCH] Regenerate client from commit 9fa25bca of spec repo --- .apigentools-info | 8 +- features/v1/authentication.feature | 4 +- features/v1/aws_integration.feature | 52 ++-- features/v1/aws_logs_integration.feature | 26 +- features/v1/azure_integration.feature | 20 +- features/v1/dashboard_lists.feature | 20 +- features/v1/dashboards.feature | 232 ++++++++-------- features/v1/downtimes.feature | 46 ++-- features/v1/events.feature | 16 +- features/v1/gcp_integration.feature | 18 +- features/v1/hosts.feature | 20 +- features/v1/ip_ranges.feature | 2 +- features/v1/key_management.feature | 46 ++-- features/v1/logs.feature | 14 +- features/v1/logs_indexes.feature | 20 +- features/v1/logs_pipelines.feature | 26 +- features/v1/metrics.feature | 42 +-- features/v1/monitors.feature | 78 +++--- features/v1/notebooks.feature | 30 +- features/v1/organizations.feature | 24 +- features/v1/pagerduty_integration.feature | 18 +- features/v1/security_monitoring.feature | 18 +- features/v1/service_checks.feature | 8 +- ...ervice_level_objective_corrections.feature | 26 +- features/v1/service_level_objectives.feature | 56 ++-- features/v1/slack_integration.feature | 30 +- features/v1/snapshots.feature | 4 +- features/v1/synthetics.feature | 188 ++++++------- features/v1/tags.feature | 20 +- features/v1/usage_metering.feature | 188 ++++++------- features/v1/users.feature | 26 +- features/v1/webhooks_integration.feature | 40 +-- features/v2/action_connection.feature | 22 +- features/v2/agentless_scanning.feature | 2 +- features/v2/api_management.feature | 26 +- features/v2/apm_retention_filters.feature | 28 +- features/v2/app_builder.feature | 44 +-- features/v2/audit.feature | 12 +- features/v2/authn_mappings.feature | 26 +- features/v2/aws_integration.feature | 36 +-- features/v2/aws_logs_integration.feature | 2 +- features/v2/case_management.feature | 78 +++--- features/v2/ci_visibility_pipelines.feature | 30 +- features/v2/ci_visibility_tests.feature | 16 +- features/v2/cloud_cost_management.feature | 46 ++-- features/v2/cloudflare_integration.feature | 38 +-- features/v2/confluent_cloud.feature | 60 ++-- features/v2/container_images.feature | 8 +- features/v2/containers.feature | 8 +- features/v2/csm_agents.feature | 4 +- features/v2/csm_coverage_analysis.feature | 6 +- features/v2/csm_threats.feature | 52 ++-- features/v2/dashboard_lists.feature | 30 +- features/v2/data_deletion.feature | 16 +- features/v2/domain_allowlist.feature | 4 +- features/v2/dora_metrics.feature | 12 +- features/v2/downtimes.feature | 32 +-- features/v2/events.feature | 18 +- features/v2/fastly_integration.feature | 60 ++-- features/v2/gcp_integration.feature | 44 +-- features/v2/incident_services.feature | 30 +- features/v2/incident_teams.feature | 30 +- features/v2/incidents.feature | 148 +++++----- features/v2/ip_allowlist.feature | 10 +- features/v2/key_management.feature | 70 ++--- features/v2/logs.feature | 40 +-- features/v2/logs_archives.feature | 50 ++-- features/v2/logs_custom_destinations.feature | 36 +-- features/v2/logs_metrics.feature | 24 +- features/v2/metrics.feature | 94 +++---- .../v2/microsoft_teams_integration.feature | 110 ++++---- features/v2/monitors.feature | 22 +- features/v2/network_device_monitoring.feature | 18 +- features/v2/okta_integration.feature | 30 +- features/v2/opsgenie_integration.feature | 30 +- features/v2/organizations.feature | 22 +- features/v2/powerpack.feature | 22 +- features/v2/processes.feature | 6 +- features/v2/restriction_policies.feature | 12 +- features/v2/roles.feature | 70 ++--- features/v2/rum.feature | 40 +-- features/v2/rum_metrics.feature | 24 +- features/v2/security_monitoring.feature | 256 +++++++++--------- features/v2/sensitive_data_scanner.feature | 44 +-- features/v2/service_accounts.feature | 30 +- features/v2/service_definition.feature | 30 +- features/v2/service_level_objectives.feature | 16 +- features/v2/service_scorecards.feature | 30 +- features/v2/software_catalog.feature | 20 +- features/v2/spans.feature | 20 +- features/v2/spans_metrics.feature | 22 +- features/v2/synthetics.feature | 4 +- features/v2/teams.feature | 76 +++--- features/v2/usage_metering.feature | 52 ++-- features/v2/users.feature | 44 +-- features/v2/workflow_automation.feature | 20 +- 96 files changed, 1864 insertions(+), 1864 deletions(-) diff --git a/.apigentools-info b/.apigentools-info index 88c58be4cbf2..2add9a27650f 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2025-02-04 14:10:05.819748", - "spec_repo_commit": "4fb9047a" + "regenerated": "2025-02-04 19:29:30.937270", + "spec_repo_commit": "9fa25bca" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2025-02-04 14:10:05.835266", - "spec_repo_commit": "4fb9047a" + "regenerated": "2025-02-04 19:29:30.953098", + "spec_repo_commit": "9fa25bca" } } } \ No newline at end of file diff --git a/features/v1/authentication.feature b/features/v1/authentication.feature index b82a2313218e..06bff0a44edf 100644 --- a/features/v1/authentication.feature +++ b/features/v1/authentication.feature @@ -16,12 +16,12 @@ Feature: Authentication Given an instance of "Authentication" API And new "Validate" request - @skip-validation @team:DataDog/credentials-management + @skip-validation @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Validate API key returns "Forbidden" response When the request is sent Then the response status is 403 OK - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Validate API key returns "OK" response Given a valid "apiKeyAuth" key in the system When the request is sent diff --git a/features/v1/aws_integration.feature b/features/v1/aws_integration.feature index 08c57bbc61eb..62889bcffaa3 100644 --- a/features/v1/aws_integration.feature +++ b/features/v1/aws_integration.feature @@ -9,70 +9,70 @@ Feature: AWS Integration And a valid "appKeyAuth" key in the system And an instance of "AWSIntegration" API - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an AWS integration returns "Bad Request" response Given new "CreateAWSAccount" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an AWS integration returns "Conflict Error" response Given new "CreateAWSAccount" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 409 Conflict Error - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an AWS integration returns "OK" response Given new "CreateAWSAccount" request And body with value {"account_id": "{{ timestamp("now") }}00", "account_specific_namespace_rules": {"auto_scaling": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an Amazon EventBridge source returns "Bad Request" response Given new "CreateAWSEventBridgeSource" request And body with value {"account_id": "123456789012", "create_event_bus": true, "event_generator_name": "app-alerts", "region": "us-east-1"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an Amazon EventBridge source returns "OK" response Given new "CreateAWSEventBridgeSource" request And body with value {"account_id": "123456789012", "create_event_bus": true, "event_generator_name": "app-alerts", "region": "us-east-1"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete a tag filtering entry returns "Bad Request" response Given new "DeleteAWSTagFilter" request And body with value {"account_id": "FAKEAC0FAKEAC2FAKEAC", "namespace": "elb"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete a tag filtering entry returns "OK" response Given new "DeleteAWSTagFilter" request And body with value {"account_id": "FAKEAC0FAKEAC2FAKEAC", "namespace": "elb"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an AWS integration returns "Bad Request" response Given new "DeleteAWSAccount" request And body with value {"account_id": "123456789012", "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an AWS integration returns "Conflict Error" response Given new "DeleteAWSAccount" request And body with value {"account_id": "123456789012", "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 409 Conflict Error - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an AWS integration returns "OK" response Given there is a valid "aws_account" in the system And new "DeleteAWSAccount" request @@ -80,107 +80,107 @@ Feature: AWS Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an Amazon EventBridge source returns "Bad Request" response Given new "DeleteAWSEventBridgeSource" request And body with value {"account_id": "123456789012", "event_generator_name": "app-alerts-zyxw3210", "region": "us-east-1"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an Amazon EventBridge source returns "OK" response Given new "DeleteAWSEventBridgeSource" request And body with value {"account_id": "123456789012", "event_generator_name": "app-alerts-zyxw3210", "region": "us-east-1"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Generate a new external ID returns "Bad Request" response Given new "CreateNewAWSExternalID" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Generate a new external ID returns "OK" response Given new "CreateNewAWSExternalID" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all AWS tag filters returns "Bad Request" response Given new "ListAWSTagFilters" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all AWS tag filters returns "OK" response Given new "ListAWSTagFilters" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all Amazon EventBridge sources returns "Bad Request" response Given new "ListAWSEventBridgeSources" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all Amazon EventBridge sources returns "OK" response Given new "ListAWSEventBridgeSources" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: List all AWS integrations returns "Bad Request" response Given new "ListAWSAccounts" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: List all AWS integrations returns "OK" response Given new "ListAWSAccounts" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: List namespace rules returns "OK" response Given new "ListAvailableAWSNamespaces" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Set an AWS tag filter returns "Bad Request" response Given new "CreateAWSTagFilter" request And body with value {"account_id": "123456789012", "namespace": "elb", "tag_filter_str": "prod*"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Set an AWS tag filter returns "OK" response Given new "CreateAWSTagFilter" request And body with value {"account_id": "123456789012", "namespace": "elb", "tag_filter_str": "prod*"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Update an AWS integration returns "Bad Request" response Given new "UpdateAWSAccount" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Update an AWS integration returns "Conflict Error" response Given new "UpdateAWSAccount" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 409 Conflict Error - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Update an AWS integration returns "OK" response Given there is a valid "aws_account" in the system And new "UpdateAWSAccount" request diff --git a/features/v1/aws_logs_integration.feature b/features/v1/aws_logs_integration.feature index 622d8d7debac..87aa8b50eebc 100644 --- a/features/v1/aws_logs_integration.feature +++ b/features/v1/aws_logs_integration.feature @@ -10,89 +10,89 @@ Feature: AWS Logs Integration And a valid "appKeyAuth" key in the system And an instance of "AWSLogsIntegration" API - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Add AWS Log Lambda ARN returns "Bad Request" response Given new "CreateAWSLambdaARN" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Add AWS Log Lambda ARN returns "OK" response Given new "CreateAWSLambdaARN" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Check permissions for log services returns "Bad Request" response Given new "CheckAWSLogsServicesAsync" request And body with value {"account_id": "1234567", "services": ["s3", "elb", "elbv2", "cloudfront", "redshift", "lambda"]} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Check permissions for log services returns "OK" response Given new "CheckAWSLogsServicesAsync" request And body with value {"account_id": "1234567", "services": ["s3", "elb", "elbv2", "cloudfront", "redshift", "lambda"]} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Check that an AWS Lambda Function exists returns "Bad Request" response Given new "CheckAWSLogsLambdaAsync" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Check that an AWS Lambda Function exists returns "OK" response Given new "CheckAWSLogsLambdaAsync" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an AWS Logs integration returns "Bad Request" response Given new "DeleteAWSLambdaARN" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an AWS Logs integration returns "OK" response Given new "DeleteAWSLambdaARN" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Enable an AWS Logs integration returns "Bad Request" response Given new "EnableAWSLogServices" request And body with value {"account_id": "1234567", "services": ["s3", "elb", "elbv2", "cloudfront", "redshift", "lambda"]} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Enable an AWS Logs integration returns "OK" response Given new "EnableAWSLogServices" request And body with value {"account_id": "1234567", "services": ["s3", "elb", "elbv2", "cloudfront", "redshift", "lambda"]} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Get list of AWS log ready services returns "OK" response Given new "ListAWSLogsServices" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: List all AWS Logs integrations returns "Bad Request" response Given new "ListAWSLogsIntegrations" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aws-integrations + @generated @skip @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: List all AWS Logs integrations returns "OK" response Given new "ListAWSLogsIntegrations" request When the request is sent diff --git a/features/v1/azure_integration.feature b/features/v1/azure_integration.feature index 8d31237b5b60..65514513b479 100644 --- a/features/v1/azure_integration.feature +++ b/features/v1/azure_integration.feature @@ -9,28 +9,28 @@ Feature: Azure Integration And a valid "appKeyAuth" key in the system And an instance of "AzureIntegration" API - @generated @skip @team:DataDog/azure-integrations + @generated @skip @team:DataDog/azure-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an Azure integration returns "Bad Request" response Given new "CreateAzureIntegration" request And body with value {"app_service_plan_filters": "key:value,filter:example", "automute": true, "client_id": "testc7f6-1234-5678-9101-3fcbf464test", "client_secret": "TestingRh2nx664kUy5dIApvM54T4AtO", "container_app_filters": "key:value,filter:example", "cspm_enabled": true, "custom_metrics_enabled": true, "errors": ["*"], "host_filters": "key:value,filter:example", "metrics_enabled": true, "metrics_enabled_default": true, "new_client_id": "new1c7f6-1234-5678-9101-3fcbf464test", "new_tenant_name": "new1c44-1234-5678-9101-cc00736ftest", "resource_collection_enabled": true, "resource_provider_configs": [{"metrics_enabled": true, "namespace": "Microsoft.Compute"}], "tenant_name": "testc44-1234-5678-9101-cc00736ftest", "usage_metrics_enabled": true} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/azure-integrations + @team:DataDog/azure-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an Azure integration returns "OK" response Given new "CreateAzureIntegration" request And body with value {"app_service_plan_filters": "key:value,filter:example", "automute": true, "client_id": "{{ uuid }}", "client_secret": "TestingRh2nx664kUy5dIApvM54T4AtO", "container_app_filters": "key:value,filter:example", "cspm_enabled": true, "custom_metrics_enabled": true, "errors": ["*"], "host_filters": "key:value,filter:example", "new_client_id": "{{ uuid }}", "new_tenant_name": "{{ uuid }}", "resource_collection_enabled": true, "tenant_name": "{{ uuid }}"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/azure-integrations + @generated @skip @team:DataDog/azure-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an Azure integration returns "Bad Request" response Given new "DeleteAzureIntegration" request And body with value {"app_service_plan_filters": "key:value,filter:example", "automute": true, "client_id": "testc7f6-1234-5678-9101-3fcbf464test", "client_secret": "TestingRh2nx664kUy5dIApvM54T4AtO", "container_app_filters": "key:value,filter:example", "cspm_enabled": true, "custom_metrics_enabled": true, "errors": ["*"], "host_filters": "key:value,filter:example", "metrics_enabled": true, "metrics_enabled_default": true, "new_client_id": "new1c7f6-1234-5678-9101-3fcbf464test", "new_tenant_name": "new1c44-1234-5678-9101-cc00736ftest", "resource_collection_enabled": true, "resource_provider_configs": [{"metrics_enabled": true, "namespace": "Microsoft.Compute"}], "tenant_name": "testc44-1234-5678-9101-cc00736ftest", "usage_metrics_enabled": true} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/azure-integrations + @team:DataDog/azure-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an Azure integration returns "OK" response Given there is a valid "azure_account" in the system And new "DeleteAzureIntegration" request @@ -38,40 +38,40 @@ Feature: Azure Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/azure-integrations + @generated @skip @team:DataDog/azure-integrations @team:DataDog/web-frameworks-approvers Scenario: List all Azure integrations returns "Bad Request" response Given new "ListAzureIntegration" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/azure-integrations + @generated @skip @team:DataDog/azure-integrations @team:DataDog/web-frameworks-approvers Scenario: List all Azure integrations returns "OK" response Given new "ListAzureIntegration" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/azure-integrations + @generated @skip @team:DataDog/azure-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Azure integration host filters returns "Bad Request" response Given new "UpdateAzureHostFilters" request And body with value {"app_service_plan_filters": "key:value,filter:example", "automute": true, "client_id": "testc7f6-1234-5678-9101-3fcbf464test", "client_secret": "TestingRh2nx664kUy5dIApvM54T4AtO", "container_app_filters": "key:value,filter:example", "cspm_enabled": true, "custom_metrics_enabled": true, "errors": ["*"], "host_filters": "key:value,filter:example", "metrics_enabled": true, "metrics_enabled_default": true, "new_client_id": "new1c7f6-1234-5678-9101-3fcbf464test", "new_tenant_name": "new1c44-1234-5678-9101-cc00736ftest", "resource_collection_enabled": true, "resource_provider_configs": [{"metrics_enabled": true, "namespace": "Microsoft.Compute"}], "tenant_name": "testc44-1234-5678-9101-cc00736ftest", "usage_metrics_enabled": true} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/azure-integrations + @generated @skip @team:DataDog/azure-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Azure integration host filters returns "OK" response Given new "UpdateAzureHostFilters" request And body with value {"app_service_plan_filters": "key:value,filter:example", "automute": true, "client_id": "testc7f6-1234-5678-9101-3fcbf464test", "client_secret": "TestingRh2nx664kUy5dIApvM54T4AtO", "container_app_filters": "key:value,filter:example", "cspm_enabled": true, "custom_metrics_enabled": true, "errors": ["*"], "host_filters": "key:value,filter:example", "metrics_enabled": true, "metrics_enabled_default": true, "new_client_id": "new1c7f6-1234-5678-9101-3fcbf464test", "new_tenant_name": "new1c44-1234-5678-9101-cc00736ftest", "resource_collection_enabled": true, "resource_provider_configs": [{"metrics_enabled": true, "namespace": "Microsoft.Compute"}], "tenant_name": "testc44-1234-5678-9101-cc00736ftest", "usage_metrics_enabled": true} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/azure-integrations + @generated @skip @team:DataDog/azure-integrations @team:DataDog/web-frameworks-approvers Scenario: Update an Azure integration returns "Bad Request" response Given new "UpdateAzureIntegration" request And body with value {"app_service_plan_filters": "key:value,filter:example", "automute": true, "client_id": "testc7f6-1234-5678-9101-3fcbf464test", "client_secret": "TestingRh2nx664kUy5dIApvM54T4AtO", "container_app_filters": "key:value,filter:example", "cspm_enabled": true, "custom_metrics_enabled": true, "errors": ["*"], "host_filters": "key:value,filter:example", "metrics_enabled": true, "metrics_enabled_default": true, "new_client_id": "new1c7f6-1234-5678-9101-3fcbf464test", "new_tenant_name": "new1c44-1234-5678-9101-cc00736ftest", "resource_collection_enabled": true, "resource_provider_configs": [{"metrics_enabled": true, "namespace": "Microsoft.Compute"}], "tenant_name": "testc44-1234-5678-9101-cc00736ftest", "usage_metrics_enabled": true} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/azure-integrations + @team:DataDog/azure-integrations @team:DataDog/web-frameworks-approvers Scenario: Update an Azure integration returns "OK" response Given there is a valid "azure_account" in the system And new "UpdateAzureIntegration" request diff --git a/features/v1/dashboard_lists.feature b/features/v1/dashboard_lists.feature index 2077d4503959..657f4c83d232 100644 --- a/features/v1/dashboard_lists.feature +++ b/features/v1/dashboard_lists.feature @@ -8,14 +8,14 @@ Feature: Dashboard Lists And a valid "appKeyAuth" key in the system And an instance of "DashboardLists" API - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a dashboard list returns "Bad Request" response Given new "CreateDashboardList" request And body with value {"name": "My Dashboard"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a dashboard list returns "OK" response Given new "CreateDashboardList" request And body with value {"name": "{{ unique }}"} @@ -23,14 +23,14 @@ Feature: Dashboard Lists Then the response status is 200 OK And the response "name" is equal to "{{ unique }}" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a dashboard list returns "Not Found" response Given new "DeleteDashboardList" request And request contains "list_id" parameter with value 0 When the request is sent Then the response status is 404 Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a dashboard list returns "OK" response Given there is a valid "dashboard_list" in the system And new "DeleteDashboardList" request @@ -39,14 +39,14 @@ Feature: Dashboard Lists Then the response status is 200 OK And the response "deleted_dashboard_list_id" has the same value as "dashboard_list.id" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get a dashboard list returns "Not Found" response Given new "GetDashboardList" request And request contains "list_id" parameter with value 0 When the request is sent Then the response status is 404 Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get a dashboard list returns "OK" response Given there is a valid "dashboard_list" in the system And new "GetDashboardList" request @@ -56,7 +56,7 @@ Feature: Dashboard Lists And the response "id" has the same value as "dashboard_list.id" And the response "name" has the same value as "dashboard_list.name" - @replay-only @team:DataDog/dashboards-backend + @replay-only @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get all dashboard lists returns "OK" response Given there is a valid "dashboard_list" in the system And new "ListDashboardLists" request @@ -64,7 +64,7 @@ Feature: Dashboard Lists Then the response status is 200 OK And the response "dashboard_lists[0].name" has the same value as "dashboard_list.name" - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a dashboard list returns "Bad Request" response Given new "UpdateDashboardList" request And request contains "list_id" parameter from "REPLACE.ME" @@ -72,7 +72,7 @@ Feature: Dashboard Lists When the request is sent Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a dashboard list returns "Not Found" response Given new "UpdateDashboardList" request And request contains "list_id" parameter with value 0 @@ -80,7 +80,7 @@ Feature: Dashboard Lists When the request is sent Then the response status is 404 Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a dashboard list returns "OK" response Given there is a valid "dashboard_list" in the system And new "UpdateDashboardList" request diff --git a/features/v1/dashboards.feature b/features/v1/dashboards.feature index ebcfc7a25bb1..0cb16aeb886a 100644 --- a/features/v1/dashboards.feature +++ b/features/v1/dashboards.feature @@ -9,7 +9,7 @@ Feature: Dashboards And a valid "appKeyAuth" key in the system And an instance of "Dashboards" API - @replay-only @team:DataDog/dashboards-backend + @replay-only @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Clients deserialize a dashboard with a empty time object Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "Example Cloud Cost Query", "title_size": "16", "title_align": "left", "type": "timeseries", "requests": [ { "formulas": [ { "formula": "query1" } ], "queries": [ { "data_source": "cloud_cost", "name": "query1", "query": "sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, monthly)" } ], "response_format": "timeseries", "style": { "palette": "dog_classic", "line_type": "solid", "line_width": "normal" }, "display_type": "bars" } ], "time": {} } } ], "layout_type": "ordered" } @@ -17,7 +17,7 @@ Feature: Dashboards Then the response status is 200 OK And the response "widgets[0].definition.time" is equal to {} - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a distribution widget using a histogram request containing a formulas and functions APM Stats query Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "description": "", "widgets": [ { "definition": { "title": "APM Stats - Request latency HOP", "title_size": "16", "title_align": "left", "show_legend": false, "type": "distribution", "xaxis": { "max": "auto", "include_zero": true, "scale": "linear", "min": "auto" }, "yaxis": { "max": "auto", "include_zero": true, "scale": "linear", "min": "auto" }, "requests": [ { "query": { "primary_tag_value": "*", "stat": "latency_distribution", "data_source": "apm_resource_stats", "name": "query1", "service": "azure-bill-import", "group_by": [ "resource_name" ], "env": "staging", "primary_tag_name": "datacenter", "operation_name": "universal.http.client" }, "request_type": "histogram", "style": { "palette": "dog_classic" } } ] }, "layout": { "x": 8, "y": 0, "width": 4, "height": 2 } } ], "layout_type": "ordered" } @@ -35,7 +35,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.primary_tag_name" is equal to "datacenter" And the response "widgets[0].definition.requests[0].query.operation_name" is equal to "universal.http.client" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a distribution widget using a histogram request containing a formulas and functions events query Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "description": "{{ unique }}", "widgets": [ { "definition": { "title": "Events Platform - Request latency HOP", "title_size": "16", "title_align": "left", "show_legend": false, "type": "distribution", "xaxis": { "max": "auto", "include_zero": true, "scale": "linear", "min": "auto" }, "yaxis": { "max": "auto", "include_zero": true, "scale": "linear", "min": "auto" }, "requests": [ { "query": { "search": { "query": "" }, "data_source": "events", "compute": { "metric": "@duration", "aggregation": "min" }, "name": "query1", "indexes": [ "*" ], "group_by": [] }, "request_type": "histogram" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 2 } } ], "layout_type": "ordered" } @@ -50,7 +50,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.indexes" is equal to ["*"] And the response "widgets[0].definition.requests[0].query.group_by" is equal to [] - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a distribution widget using a histogram request containing a formulas and functions metrics query Given new "CreateDashboard" request And body with value {"title":"{{ unique }}","widgets":[{"definition":{"title":"Metrics HOP","title_size":"16","title_align":"left","show_legend":false,"type":"distribution","custom_links":[{"label":"Example","link":"https://example.org/"}],"xaxis":{"max":"auto","include_zero":true,"scale":"linear","min":"auto"},"yaxis":{"max":"auto","include_zero":true,"scale":"linear","min":"auto"},"requests":[{"query":{"query":"histogram:trace.Load{*}","data_source":"metrics","name":"query1"},"request_type":"histogram","style":{"palette":"dog_classic"}}]},"layout":{"x":0,"y":0,"width":4,"height":2}}],"layout_type":"ordered"} @@ -63,7 +63,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.name" is equal to "query1" And the response "widgets[0].definition.custom_links" has item with field "label" with value "Example" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a geomap widget using an event_list request Given new "CreateDashboard" request And body with value {"title": "{{ unique }}","description": "{{ unique }}","widgets":[{"definition":{"title":"","title_size":"16","title_align":"left","type":"geomap","requests":[{"response_format":"event_list","query":{"data_source":"logs_stream","query_string":"","indexes":[]},"columns":[{"field":"@network.client.geoip.location.latitude","width":"auto"},{"field":"@network.client.geoip.location.longitude","width":"auto"},{"field":"@network.client.geoip.country.iso_code","width":"auto"},{"field":"@network.client.geoip.subdivision.name","width":"auto"},{"field":"classic","width":"auto"},{"field":"","width":"auto"}]}],"style":{"palette":"hostmap_blues","palette_flip":false},"view":{"focus":"WORLD"}},"layout":{"x":0,"y":0,"width":12,"height":6}}],"template_variables":[],"layout_type":"ordered","notify_list":[],"reflow_type":"fixed","tags":[]} @@ -72,14 +72,14 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].response_format" is equal to "event_list" And the response "widgets[0].definition.requests[0].query.data_source" is equal to "logs_stream" - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard returns "Bad Request" response Given new "CreateDashboard" request And body with value {"description": null, "is_read_only": false, "layout_type": "ordered", "notify_list": [], "reflow_type": "auto", "restricted_roles": [], "tags": [], "template_variable_presets": [{"template_variables": [{"values": []}]}], "template_variables": [{"available_values": ["my-host", "host1", "host2"], "default": "my-host", "defaults": ["my-host-1", "my-host-2"], "name": "host1", "prefix": "host"}], "title": "", "widgets": [{"definition": {"requests": {"fill": {"q": "avg:system.cpu.user{*}"}}, "type": "hostmap"}}]} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard returns "OK" response Given new "CreateDashboard" request And body from file "dashboard_payload.json" @@ -90,7 +90,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].profile_metrics_query.compute.facet" is equal to "@prof_core_cpu_cores" And the response "widgets[0].definition.requests[0].profile_metrics_query.compute.aggregation" is equal to "sum" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with a change widget using formulas and functions slo query Given there is a valid "slo" in the system And new "CreateDashboard" request @@ -112,7 +112,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].formulas[0].formula" is equal to "hour_before(query1)" And the response "widgets[0].definition.requests[0].formulas[1].formula" is equal to "query1" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with a formulas and functions change widget Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "title_size": "16", "title_align": "left", "time": {}, "type": "change", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" }, "group_by": [] } ], "response_format": "scalar", "compare_to": "hour_before", "increase_good": true, "order_by": "change", "change_type": "absolute", "order_dir": "desc" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } @@ -130,7 +130,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].formulas[0].formula" is equal to "hour_before(query1)" And the response "widgets[0].definition.requests[0].formulas[1].formula" is equal to "query1" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with a formulas and functions treemap widget Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "type": "treemap", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" }, "group_by": [] } ], "response_format": "scalar" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } @@ -143,7 +143,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].formulas[0].formula" is equal to "hour_before(query1)" And the response "widgets[0].definition.requests[0].formulas[1].formula" is equal to "query1" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with a query value widget using the percentile aggregator Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with QVW Percentile Aggregator", "widgets": [{"definition":{"title_size":"16","title":"","title_align":"left","precision":2,"time":{},"autoscale":true,"requests":[{"formulas":[{"formula":"query1"}],"response_format":"scalar","queries":[{"query":"p90:dist.dd.dogweb.latency{*}","data_source":"metrics","name":"query1","aggregator":"percentile"}]}],"type":"query_value"},"layout":{"y":0,"x":0,"height":2,"width":2}}]} @@ -155,7 +155,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].formulas[0].formula" is equal to "query1" And the response "widgets[0].definition.requests[0].response_format" is equal to "scalar" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with a query value widget using timeseries background Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with QVW Timeseries Background", "widgets": [{"definition":{"title_size":"16","title":"","title_align":"left","precision":2,"time":{},"autoscale":true,"requests":[{"formulas":[{"formula":"query1"}],"response_format":"scalar","queries":[{"query":"sum:my.cool.count.metric{*}","data_source":"metrics","name":"query1","aggregator":"percentile"}]}],"type":"query_value","timeseries_background":{"type":"area","yaxis":{"include_zero":true}}},"layout":{"y":0,"x":0,"height":2,"width":2}}]} @@ -168,7 +168,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].response_format" is equal to "scalar" And the response "widgets[0].definition.requests[0].queries[0].query" is equal to "sum:my.cool.count.metric{*}" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with a timeseries widget and an overlay request Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }}", "widgets": [{"definition": {"type": "timeseries", "requests": [{"on_right_yaxis": false, "queries": [{"data_source": "metrics", "name": "mymetric", "query": "avg:system.cpu.user{*}"}], "response_format": "timeseries", "display_type": "line"}, {"response_format": "timeseries", "queries": [{"data_source": "metrics", "name": "mymetricoverlay", "query": "avg:system.cpu.user{*}"}], "style": {"palette": "purple", "line_type": "solid", "line_width": "normal"}, "display_type": "overlay"}]}}]} @@ -182,7 +182,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[1].queries[0].query" is equal to "avg:system.cpu.user{*}" And the response "widgets[0].definition.requests[1].queries[0].name" is equal to "mymetricoverlay" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with a timeseries widget using formulas and functions cloud cost query Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "Example Cloud Cost Query", "title_size": "16", "title_align": "left", "type": "timeseries", "requests": [ { "formulas": [ { "formula": "query1" } ], "queries": [ { "data_source": "cloud_cost", "name": "query1", "query": "sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, monthly)" } ], "response_format": "timeseries", "style": { "palette": "dog_classic", "line_type": "solid", "line_width": "normal" }, "display_type": "bars" } ], "time": { "live_span": "week_to_date" } } } ], "layout_type": "ordered" } @@ -195,7 +195,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].formulas[0].formula" is equal to "query1" And the response "widgets[0].definition.time.live_span" is equal to "week_to_date" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with a toplist widget sorted by group Given new "CreateDashboard" request And body with value {"title":"{{ unique }}","description":"","widgets":[{"layout":{"x":0,"y":0,"width":47,"height":15},"definition":{"title":"","title_size":"16","title_align":"left","time":{},"style":{"display": {"type": "stacked","legend": "inline"},"scaling": "relative","palette": "dog_classic"},"type":"toplist","requests":[{"queries":[{"data_source":"metrics","name":"query1","query":"avg:system.cpu.user{*} by {service}","aggregator":"avg"}],"formulas":[{"formula":"query1"}],"sort":{"count":10,"order_by":[{"type":"group","name":"service","order":"asc"}]},"response_format":"scalar"}]}}],"template_variables":[],"layout_type":"free","notify_list":[]} @@ -206,7 +206,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].sort.order_by[0].type" is equal to "group" And the response "widgets[0].definition.requests[0].sort.order_by[0].name" is equal to "service" - @skip-typescript @team:DataDog/dashboards-backend + @skip-typescript @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with a toplist widget with stacked type and no legend specified Given new "CreateDashboard" request And body with value {"title":"{{ unique }}","description":"","widgets":[{"layout":{"x":0,"y":0,"width":47,"height":15},"definition":{"title":"","title_size":"16","title_align":"left","time":{},"style":{"display": {"type": "stacked"},"scaling": "relative","palette": "dog_classic"},"type":"toplist","requests":[{"queries":[{"data_source":"metrics","name":"query1","query":"avg:system.cpu.user{*} by {service}","aggregator":"avg"}],"formulas":[{"formula":"query1"}],"sort":{"count":10,"order_by":[{"type":"group","name":"service","order":"asc"}]},"response_format":"scalar"}]}}],"template_variables":[],"layout_type":"free","notify_list":[]} @@ -219,7 +219,7 @@ Feature: Dashboards And the response "widgets[0].definition.style.display.type" is equal to "stacked" And the response "widgets[0].definition.style.display" does not have field "legend" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with alert_graph widget Given there is a valid "monitor" in the system And new "CreateDashboard" request @@ -230,7 +230,7 @@ Feature: Dashboards And the response "widgets[0].definition.viz_type" is equal to "timeseries" And the response "widgets[0].definition.alert_id" is equal to "{{ monitor.id }}" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with alert_value widget Given there is a valid "monitor" in the system And new "CreateDashboard" request @@ -240,7 +240,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "alert_value" And the response "widgets[0].definition.alert_id" is equal to "{{ monitor.id }}" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with an audit logs query Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with Audit Logs Query", "widgets": [{"definition": {"type": "timeseries","requests": [{"response_format": "timeseries","queries": [{"search": {"query": ""},"data_source": "audit","compute": {"aggregation": "count"},"name": "query1","indexes": ["*"],"group_by": []}]}]},"layout": {"x": 2,"y": 0,"width": 4,"height": 2}}]} @@ -251,7 +251,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].response_format" is equal to "timeseries" And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "audit" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with apm dependency stats widget Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [{"definition": { "title": "", "title_size": "16", "title_align": "left", "type": "query_table", "requests": [ { "response_format": "scalar", "queries": [ { "primary_tag_value": "edge-eu1.prod.dog", "stat": "avg_duration", "resource_name": "DELETE FROM monitor_history.monitor_state_change_history WHERE org_id = ? AND monitor_id IN ? AND group = ?", "name": "query1", "service": "cassandra", "data_source": "apm_dependency_stats", "env": "ci", "primary_tag_name": "datacenter", "operation_name": "cassandra.query" } ] } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } @@ -268,7 +268,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].primary_tag_name" is equal to "datacenter" And the response "widgets[0].definition.requests[0].queries[0].operation_name" is equal to "cassandra.query" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with apm resource stats widget Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [{"definition": { "title": "", "title_size": "16", "title_align": "left", "type": "query_table", "requests": [ { "response_format": "scalar", "queries": [ { "primary_tag_value": "edge-eu1.prod.dog", "stat": "hits", "name": "query1", "service": "cassandra", "data_source": "apm_resource_stats", "env": "ci", "primary_tag_name": "datacenter", "operation_name": "cassandra.query", "group_by": ["resource_name"] } ] } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } @@ -285,7 +285,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].primary_tag_name" is equal to "datacenter" And the response "widgets[0].definition.requests[0].queries[0].operation_name" is equal to "cassandra.query" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with apm_issue_stream list_stream widget Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns":[{"width":"auto","field":"timestamp"}],"query":{"data_source":"apm_issue_stream","query_string":""},"response_format":"event_list"}]}}]} @@ -296,7 +296,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].columns[0].width" is equal to "auto" And the response "widgets[0].definition.requests[0].query.data_source" is equal to "apm_issue_stream" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with check_status widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/check_status_widget.json" @@ -306,7 +306,7 @@ Feature: Dashboards And the response "widgets[0].definition.check" is equal to "datadog.agent.up" And the response "widgets[0].definition.grouping" is equal to "check" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with ci_test_stream list_stream widget Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns":[{"width":"auto","field":"timestamp"}],"query":{"data_source":"ci_test_stream","query_string":"test_level:suite"},"response_format":"event_list"}]}}]} @@ -316,7 +316,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.data_source" is equal to "ci_test_stream" And the response "widgets[0].definition.requests[0].query.query_string" is equal to "test_level:suite" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with distribution widget and apm stats data Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [{"definition": { "title": "", "title_size": "16", "title_align": "left", "type": "distribution", "requests": [{ "apm_stats_query": { "env": "prod", "service": "cassandra", "name": "cassandra.query", "primary_tag": "datacenter:dc1", "row_type": "service" }}] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } @@ -328,7 +328,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].apm_stats_query.service" is equal to "cassandra" And the response "widgets[0].definition.requests[0].apm_stats_query.name" is equal to "cassandra.query" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with event_stream list_stream widget Given new "CreateDashboard" request And body with value {"layout_type": "ordered","title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns": [{"width": "auto","field": "timestamp"}],"query": {"data_source": "event_stream","query_string": "","event_size": "l"},"response_format": "event_list"}]}}]} @@ -339,7 +339,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.data_source" is equal to "event_stream" And the response "widgets[0].definition.requests[0].query.event_size" is equal to "l" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with event_stream widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/event_stream_widget.json" @@ -348,7 +348,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "event_stream" And the response "widgets[0].definition.query" is equal to "example-query" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with event_timeline widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/event_timeline_widget.json" @@ -357,7 +357,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "event_timeline" And the response "widgets[0].definition.query" is equal to "status:error priority:all" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with formula and function heatmap widget Given new "CreateDashboard" request And body with value {"title": "{{ unique }}", "widgets": [{"layout": {"x": 0, "y": 0, "width": 47, "height": 15}, "definition": {"title": "", "title_size": "16", "title_align": "left", "time": {}, "type": "heatmap", "requests": [{"response_format": "timeseries", "queries": [{"data_source": "metrics", "name": "query1", "query": "avg:system.cpu.user{*}"}], "formulas": [{"formula": "query1"}], "style": {"palette": "dog_classic"}}]}}], "template_variables": [], "layout_type": "free", "notify_list": []} @@ -368,7 +368,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "metrics" And the response "widgets[0].definition.requests[0].style.palette" is equal to "dog_classic" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with formulas and functions scatterplot widget Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [ { "id": 5346764334358972, "definition": { "title": "", "title_size": "16", "title_align": "left", "type": "scatterplot", "requests": { "table": { "formulas": [ { "formula": "query1", "dimension": "x", "alias": "my-query1" }, { "formula": "query2", "dimension": "y", "alias": "my-query2" } ], "queries": [ { "data_source": "metrics", "name": "query1", "query": "avg:system.cpu.user{*} by {service}", "aggregator": "avg" }, { "data_source": "metrics", "name": "query2", "query": "avg:system.mem.used{*} by {service}", "aggregator": "avg" } ], "response_format": "scalar" } } }, "layout": { "x": 0, "y": 0, "width": 4, "height": 2 } } ], "layout_type": "ordered" } @@ -390,7 +390,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests.table.queries[1].aggregator" is equal to "avg" And the response "widgets[0].definition.requests.table.response_format" is equal to "scalar" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with free_text widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/free_text_widget.json" @@ -400,7 +400,7 @@ Feature: Dashboards And the response "widgets[0].definition.text" is equal to "Example free text" And the response "widgets[0].definition.color" is equal to "#4d4d4d" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with funnel widget Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with funnel widget","widgets": [{"definition": {"type": "funnel","requests": [{"query":{"data_source":"rum","query_string":"","steps":[]},"request_type":"funnel"}]}}]} @@ -411,7 +411,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.data_source" is equal to "rum" And the response "widgets[0].definition.requests[0].request_type" is equal to "funnel" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with geomap widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/geomap_widget.json" @@ -422,7 +422,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].sort.order_by[0].type" is equal to "formula" And the response "widgets[0].definition.requests[0].sort.order_by[0].index" is equal to 0 - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with heatmap widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/heatmap_widget.json" @@ -431,7 +431,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "heatmap" And the response "widgets[0].definition.requests[0].q" is equal to "avg:system.cpu.user{*} by {service}" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with hostmap widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/hostmap_widget.json" @@ -440,7 +440,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "hostmap" And the response "widgets[0].definition.requests.fill.q" is equal to "avg:system.cpu.user{*} by {host}" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with iframe widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/iframe_widget.json" @@ -449,7 +449,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "iframe" And the response "widgets[0].definition.url" is equal to "https://docs.datadoghq.com/api/latest/" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with image widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/image_widget.json" @@ -458,14 +458,14 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "image" And the response "widgets[0].definition.url" is equal to "https://example.com/image.png" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with invalid team tags returns "Bad Request" response Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "title_size": "16", "title_align": "left", "time": {}, "type": "change", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" }, "group_by": [] } ], "response_format": "scalar", "compare_to": "hour_before", "increase_good": true, "order_by": "change", "change_type": "absolute", "order_dir": "desc" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "tags": ["tm:foobar"], "layout_type": "ordered" } When the request is sent Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with list_stream widget Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns":[{"width":"auto","field":"timestamp"}],"query":{"data_source":"apm_issue_stream","query_string":""},"response_format":"event_list"}]}}]} @@ -474,7 +474,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "list_stream" And the response "widgets[0].definition.requests[0].query.data_source" is equal to "apm_issue_stream" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with list_stream widget with a valid sort parameter ASC Given new "CreateDashboard" request And body with value {"layout_type": "ordered","title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns": [{"width": "auto","field": "timestamp"}],"query": {"data_source": "event_stream","query_string": "","event_size": "l", "sort": {"column": "timestamp", "order": "asc"}},"response_format": "event_list"}]}}]} @@ -487,7 +487,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.sort.column" is equal to "timestamp" And the response "widgets[0].definition.requests[0].query.sort.order" is equal to "asc" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with list_stream widget with a valid sort parameter DESC Given new "CreateDashboard" request And body with value {"layout_type": "ordered","title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns": [{"width": "auto","field": "timestamp"}],"query": {"data_source": "event_stream","query_string": "","event_size": "l", "sort": {"column": "timestamp", "order": "desc"}},"response_format": "event_list"}]}}]} @@ -500,7 +500,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.sort.column" is equal to "timestamp" And the response "widgets[0].definition.requests[0].query.sort.order" is equal to "desc" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with llm_observability_stream list_stream widget Given new "CreateDashboard" request And body with value {"layout_type":"ordered","title":"{{ unique }} with list_stream widget","widgets":[{"definition":{"type":"list_stream","requests":[{"response_format":"event_list","query":{"data_source":"llm_observability_stream","query_string":"@event_type:span @parent_id:undefined","indexes":[]},"columns":[{"field":"@status","width":"compact"},{"field":"@content.prompt","width":"auto"},{"field":"@content.response.content","width":"auto"},{"field":"timestamp","width":"auto"},{"field":"@ml_app","width":"auto"},{"field":"service","width":"auto"},{"field":"@meta.evaluations.quality","width":"auto"},{"field":"@meta.evaluations.security","width":"auto"},{"field":"@duration","width":"auto"}]}]}}]} @@ -508,7 +508,7 @@ Feature: Dashboards Then the response status is 200 OK And the response "widgets[0].definition.requests[0].query.data_source" is equal to "llm_observability_stream" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with log_stream widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/log_stream_widget.json" @@ -518,7 +518,7 @@ Feature: Dashboards And the response "widgets[0].definition.query" is equal to "" And the response "widgets[0].definition.indexes[0]" is equal to "main" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with logs query table widget and storage parameter Given new "CreateDashboard" request And body with value {"layout_type":"ordered","title":"{{ unique }} with query table widget and storage parameter","widgets":[{"definition":{"type":"query_table","requests":[{"queries":[{"data_source":"logs","name":"query1","search":{"query":""},"indexes":["*"],"compute":{"aggregation":"count"},"group_by":[],"storage":"online_archives"}],"formulas":[{"conditional_formats":[],"cell_display_mode":"bar","formula":"query1"}],"sort":{"count":50, "order_by":[{"type":"formula","index":0,"order":"desc"}]},"response_format":"scalar"}]}}]} @@ -531,7 +531,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].sort.order_by[0].type" is equal to "formula" And the response "widgets[0].definition.requests[0].sort.order_by[0].index" is equal to 0 - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with logs_pattern_stream list_stream widget Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns":[{"width":"auto","field":"timestamp"},{"width":"auto","field":"message"}],"query":{"data_source":"logs_pattern_stream","query_string":"","clustering_pattern_field_path":"message","group_by":[{"facet":"service"}]}, "response_format":"event_list"}]}}]} @@ -541,7 +541,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.group_by[0].facet" is equal to "service" And the response "widgets[0].definition.requests[0].query.clustering_pattern_field_path" is equal to "message" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with logs_stream list_stream widget and storage parameter Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns":[{"width":"auto","field":"timestamp"}],"query":{"data_source":"logs_stream","query_string":"", "storage": "hot"},"response_format":"event_list"}]}}]} @@ -551,7 +551,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.data_source" is equal to "logs_stream" And the response "widgets[0].definition.requests[0].query.storage" is equal to "hot" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with logs_transaction_stream list_stream widget Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns":[{"width":"auto","field":"timestamp"}],"query":{"data_source":"logs_transaction_stream","query_string":"","group_by":[{"facet":"service"}],"compute":[{"facet":"service","aggregation":"count"}]},"response_format":"event_list"}]}}]} @@ -562,7 +562,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.compute[0].facet" is equal to "service" And the response "widgets[0].definition.requests[0].query.compute[0].aggregation" is equal to "count" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with manage_status widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/manage_status_widget.json" @@ -570,7 +570,7 @@ Feature: Dashboards Then the response status is 200 OK And the response "widgets[0].definition.type" is equal to "manage_status" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with manage_status widget and show_priority parameter Given new "CreateDashboard" request And body from file "dashboards_json_payload/manage_status_widget_priority_sort.json" @@ -580,7 +580,7 @@ Feature: Dashboards And the response "widgets[0].definition.show_priority" is false And the response "widgets[0].definition.sort" is equal to "priority,asc" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with note widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/note_widget.json" @@ -589,7 +589,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "note" And the response "widgets[0].definition.content" is equal to "# Example Note" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with powerpack widget Given new "CreateDashboard" request And there is a valid "powerpack" in the system @@ -599,7 +599,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "powerpack" And the response "widgets[0].definition.powerpack_id" has the same value as "powerpack.data.id" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with query_table widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/query_table_widget.json" @@ -610,7 +610,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].sort.order_by[0].type" is equal to "formula" And the response "widgets[0].definition.requests[0].sort.order_by[0].index" is equal to 0 - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with query_table widget and text formatting Given new "CreateDashboard" request And body from file "dashboards_json_payload/query_table_widget_text_formatting.json" @@ -626,7 +626,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].text_formats[0][1].custom_bg_color" is equal to "#632ca6" And the response "widgets[0].definition.requests[0].text_formats[5][2].custom_fg_color" is equal to "#632ca6" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with query_value widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/query_value_widget.json" @@ -635,7 +635,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "query_value" And the response "widgets[0].definition.requests[0].queries[0].query" is equal to "avg:system.cpu.user{*}" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with rum_issue_stream list_stream widget Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns":[{"width":"auto","field":"timestamp"}],"query":{"data_source":"rum_issue_stream","query_string":""},"response_format":"event_list"}]}}]} @@ -644,7 +644,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "list_stream" And the response "widgets[0].definition.requests[0].response_format" is equal to "event_list" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with run-workflow widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/run_workflow_widget.json" @@ -654,7 +654,7 @@ Feature: Dashboards And the response "widgets[0].definition.workflow_id" is equal to "2e055f16-8b6a-4cdd-b452-17a34c44b160" And the response "widgets[0].definition.inputs[0]" is equal to {"name": "environment", "value": "$env.value"} - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with scatterplot widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/scatterplot_widget.json" @@ -662,7 +662,7 @@ Feature: Dashboards Then the response status is 200 OK And the response "widgets[0].definition.type" is equal to "scatterplot" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with servicemap widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/servicemap_widget.json" @@ -671,7 +671,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "servicemap" And the response "widgets[0].definition.filters" is equal to ["env:none","environment:*"] - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with slo list widget Given there is a valid "slo" in the system And new "CreateDashboard" request @@ -682,7 +682,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.query_string" is equal to "env:prod AND service:my-app" And the response "widgets[0].definition.requests[0].query.limit" is equal to 75 - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with slo list widget with sort Given there is a valid "slo" in the system And new "CreateDashboard" request @@ -695,7 +695,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.sort[0].column" is equal to "status.sli" And the response "widgets[0].definition.requests[0].query.sort[0].order" is equal to "asc" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with slo widget Given there is a valid "slo" in the system And new "CreateDashboard" request @@ -706,7 +706,7 @@ Feature: Dashboards And the response "widgets[0].definition.slo_id" is equal to "{{ slo.data[0].id }}" And the response "widgets[0].definition.additional_query_filters" is equal to "!host:excluded_host" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with split graph widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/split_graph_widget.json" @@ -732,7 +732,7 @@ Feature: Dashboards And the response "widgets[0].definition.size" is equal to "md" And the response "widgets[0].definition.has_uniform_y_axes" is equal to true - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with sunburst widget and metrics data Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "title_size": "16", "title_align": "left", "type": "sunburst", "requests": [ { "response_format": "scalar", "formulas": [ { "formula": "query1" } ], "queries": [ { "query": "sum:system.mem.used{*} by {service}", "data_source": "metrics", "name": "query1", "aggregator": "sum" } ], "style": { "palette": "dog_classic" } } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } @@ -746,7 +746,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].formulas[0].formula" is equal to "query1" And the response "widgets[0].definition.requests[0].style.palette" is equal to "dog_classic" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with team tags returns "OK" response Given new "CreateDashboard" request And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "title_size": "16", "title_align": "left", "time": {}, "type": "change", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" }, "group_by": [] } ], "response_format": "scalar", "compare_to": "hour_before", "increase_good": true, "order_by": "change", "change_type": "absolute", "order_dir": "desc" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "tags": ["team:foobar"], "layout_type": "ordered" } @@ -755,14 +755,14 @@ Feature: Dashboards And the response "title" is equal to "{{ unique }}" And the response "tags" array contains value "team:foobar" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with template variable defaults and default returns "Bad Request" response Given new "CreateDashboard" request And body with value {"description": null, "layout_type": "ordered", "notify_list": [], "reflow_type": "auto", "restricted_roles": [], "template_variables": [{"available_values": ["my-host", "host1", "host2"], "default": "my-host", "defaults": ["my-host"], "name": "host1", "prefix": "host"}], "title": "", "widgets": [{"definition": {"requests": {"fill": {"q": "avg:system.cpu.user{*}"}}, "type": "hostmap"}}]} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with template variable defaults returns "OK" response Given new "CreateDashboard" request And body with value {"description": null, "layout_type": "ordered", "notify_list": [], "reflow_type": "auto", "restricted_roles": [], "template_variables": [{"available_values": ["my-host", "host1", "host2"], "defaults": ["my-host"], "name": "host1", "prefix": "host"}], "title": "", "widgets": [{"definition": {"requests": {"fill": {"q": "avg:system.cpu.user{*}"}}, "type": "hostmap"}}]} @@ -772,21 +772,21 @@ Feature: Dashboards And the response "template_variables[0].available_values[0]" is equal to "my-host" And the response "template_variables[0].defaults[0]" is equal to "my-host" - @skip-validation @team:DataDog/dashboards-backend + @skip-validation @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with template variable defaults whose value has no length returns "Bad Request" response Given new "CreateDashboard" request And body with value {"description": null, "layout_type": "ordered", "notify_list": [], "reflow_type": "auto", "restricted_roles": [], "template_variables": [{"available_values": ["my-host", "host1", "host2"], "defaults": [""], "name": "host1", "prefix": "host"}], "title": "", "widgets": [{"definition": {"requests": {"fill": {"q": "avg:system.cpu.user{*}"}}, "type": "hostmap"}}]} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with template variable presets using values and value returns "Bad Request" response Given new "CreateDashboard" request And body with value {"description": null, "layout_type": "ordered", "notify_list": [], "reflow_type": "auto", "restricted_roles": [], "template_variable_presets": [{"name": "my saved view", "template_variables": [{"name": "datacenter", "value": "*", "values": [ "*" ]}]}], "template_variables": [{"available_values": ["my-host", "host1", "host2"], "defaults": ["my-host"], "name": "host1", "prefix": "host"}], "title": "", "widgets": [{"definition": {"requests": {"fill": {"q": "avg:system.cpu.user{*}"}}, "type": "hostmap"}}]} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with template variable presets using values returns "OK" response Given new "CreateDashboard" request And body with value {"description": null, "layout_type": "ordered", "notify_list": [], "reflow_type": "auto", "restricted_roles": [], "template_variable_presets": [{"name": "my saved view", "template_variables": [{"name": "datacenter", "values": ["*", "my-host"]}]}], "template_variables": [{"available_values": ["my-host", "host1", "host2"], "defaults": ["my-host"], "name": "host1", "prefix": "host"}], "title": "", "widgets": [{"definition": {"requests": {"fill": {"q": "avg:system.cpu.user{*}"}}, "type": "hostmap"}}]} @@ -796,7 +796,7 @@ Feature: Dashboards And the response "template_variable_presets[0].template_variables[0].name" is equal to "datacenter" And the response "template_variable_presets[0].template_variables[0].values[0]" is equal to "*" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with timeseries widget and formula style attributes Given new "CreateDashboard" request And body with value {"title": "{{ unique }} with formula style","widgets": [{"definition": {"title": "styled timeseries","show_legend": true,"legend_layout": "auto","legend_columns": ["avg","min","max","value","sum"],"time": {},"type": "timeseries","requests": [{"formulas": [{"formula": "query1","style": {"palette_index": 4,"palette": "classic"}}],"queries": [{"query": "avg:system.cpu.user{*}","data_source": "metrics","name": "query1"}],"response_format": "timeseries","style": {"palette": "dog_classic","line_type": "solid","line_width": "normal"},"display_type": "line"}]}}],"layout_type": "ordered","reflow_type": "auto"} @@ -806,7 +806,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].formulas[0].style.palette" is equal to "classic" And the response "widgets[0].definition.requests[0].formulas[0].style.palette_index" is equal to 4 - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with timeseries widget containing style attributes Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with timeseries widget","widgets": [{"definition": {"type": "timeseries","requests": [{"q": "sum:trace.test.errors{env:prod,service:datadog-api-spec} by {resource_name}.as_count()","on_right_yaxis": false,"style": {"palette": "warm","line_type": "solid","line_width": "normal"},"display_type": "bars"}]}}]} @@ -817,7 +817,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].display_type" is equal to "bars" And the response "widgets[0].definition.requests[0].q" is equal to "sum:trace.test.errors{env:prod,service:datadog-api-spec} by {resource_name}.as_count()" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with toplist widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/toplist_widget.json" @@ -828,7 +828,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].sort.order_by[0].type" is equal to "formula" And the response "widgets[0].definition.requests[0].sort.order_by[0].index" is equal to 0 - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with topology_map widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/topology_map_widget.json" @@ -840,7 +840,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.service" is equal to "" And the response "widgets[0].definition.requests[0].query.filters" is equal to ["env:none","environment:*"] - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with trace_service widget Given new "CreateDashboard" request And body from file "dashboards_json_payload/trace_service_widget.json" @@ -849,7 +849,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "trace_service" And the response "widgets[0].definition.env" is equal to "none" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new dashboard with trace_stream widget Given new "CreateDashboard" request And body with value {"layout_type": "ordered", "title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns":[{"width":"auto","field":"timestamp"},{"width":"auto","field":"service"}],"query":{"data_source":"trace_stream","query_string":""},"response_format":"event_list"}]}}]} @@ -858,7 +858,7 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "list_stream" And the response "widgets[0].definition.requests[0].query.data_source" is equal to "trace_stream" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new timeseries widget with ci_pipelines data source Given new "CreateDashboard" request And body with value {"title":"{{ unique }} with ci_pipelines datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"ci_pipelines","name":"query1","search":{"query":"ci_level:job"},"indexes":["*"],"compute":{"aggregation":"count", "metric": "@ci.queue_time"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} @@ -867,7 +867,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "ci_pipelines" And the response "widgets[0].definition.requests[0].queries[0].search.query" is equal to "ci_level:job" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new timeseries widget with ci_tests data source Given new "CreateDashboard" request And body with value {"title":"{{ unique }} with ci_tests datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"ci_tests","name":"query1","search":{"query":"test_level:test"},"indexes":["*"],"compute":{"aggregation":"count"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} @@ -876,7 +876,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "ci_tests" And the response "widgets[0].definition.requests[0].queries[0].search.query" is equal to "test_level:test" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new timeseries widget with incident_analytics data source Given new "CreateDashboard" request And body with value {"title":"{{ unique }} with incident_analytics datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"incident_analytics","name":"query1","search":{"query":"test_level:test"},"indexes":["*"],"compute":{"aggregation":"count"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} @@ -885,7 +885,7 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "incident_analytics" And the response "widgets[0].definition.requests[0].queries[0].search.query" is equal to "test_level:test" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new timeseries widget with legacy live span time format Given new "CreateDashboard" request And body with value {"title":"{{ unique }} with legacy live span time","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{"live_span": "5m"},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"ci_pipelines","name":"query1","search":{"query":"ci_level:job"},"indexes":["*"],"compute":{"aggregation":"count", "metric": "@ci.queue_time"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} @@ -893,7 +893,7 @@ Feature: Dashboards Then the response status is 200 OK And the response "widgets[0].definition.time.live_span" is equal to "5m" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new timeseries widget with new fixed span time format Given new "CreateDashboard" request And body with value {"title":"{{ unique }} with new fixed span time","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{"type": "fixed", "from": 1712080128, "to": 1712083128},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"ci_pipelines","name":"query1","search":{"query":"ci_level:job"},"indexes":["*"],"compute":{"aggregation":"count", "metric": "@ci.queue_time"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} @@ -903,7 +903,7 @@ Feature: Dashboards And the response "widgets[0].definition.time.from" is equal to 1712080128 And the response "widgets[0].definition.time.to" is equal to 1712083128 - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new timeseries widget with new live span time format Given new "CreateDashboard" request And body with value {"title":"{{ unique }} with new live span time","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{"type": "live", "unit": "minute", "value": 8},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"ci_pipelines","name":"query1","search":{"query":"ci_level:job"},"indexes":["*"],"compute":{"aggregation":"count", "metric": "@ci.queue_time"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} @@ -913,21 +913,21 @@ Feature: Dashboards And the response "widgets[0].definition.time.unit" is equal to "minute" And the response "widgets[0].definition.time.value" is equal to 8 - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a shared dashboard returns "Bad Request" response Given new "CreatePublicDashboard" request And body with value {"dashboard_id": "123-abc-456", "dashboard_type": "custom_timeboard", "global_time": {"live_span": "1h"}, "global_time_selectable_enabled": null, "selectable_template_vars": [{"default_value": "*", "name": "exampleVar", "prefix": "test", "visible_tags": ["selectableValue1", "selectableValue2"]}], "share_list": ["test@datadoghq.com", "test2@email.com"], "share_type": "open"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a shared dashboard returns "Dashboard Not Found" response Given new "CreatePublicDashboard" request And body with value {"dashboard_id": "abc-123-def", "dashboard_type": "custom_timeboard", "share_type": "open", "global_time": {"live_span": "1h"}} When the request is sent Then the response status is 404 Dashboard Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a shared dashboard returns "OK" response Given there is a valid "dashboard" in the system And new "CreatePublicDashboard" request @@ -937,14 +937,14 @@ Feature: Dashboards And the response "dashboard_id" has the same value as "dashboard.id" And the response "dashboard_type" is equal to "custom_timeboard" - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a dashboard returns "Dashboards Not Found" response Given new "DeleteDashboard" request And request contains "dashboard_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Dashboards Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a dashboard returns "OK" response Given there is a valid "dashboard" in the system And new "DeleteDashboard" request @@ -953,21 +953,21 @@ Feature: Dashboards Then the response status is 200 OK And the response "deleted_dashboard_id" is equal to "{{ dashboard.id }}" - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete dashboards returns "Bad Request" response Given new "DeleteDashboards" request And body with value {"data": [{"id": "123-abc-456", "type": "dashboard"}]} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete dashboards returns "Dashboards Not Found" response Given new "DeleteDashboards" request And body with value {"data": [{"id": "123-abc-456", "type": "dashboard"}]} When the request is sent Then the response status is 404 Dashboards Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete dashboards returns "No Content" response Given there is a valid "dashboard" in the system And new "DeleteDashboards" request @@ -975,14 +975,14 @@ Feature: Dashboards When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get a dashboard returns "Item Not Found" response Given new "GetDashboard" request And request contains "dashboard_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Item Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get a dashboard returns "OK" response Given there is a valid "dashboard" in the system And new "GetDashboard" request @@ -991,7 +991,7 @@ Feature: Dashboards Then the response status is 200 OK And the response "description" is equal to null - @replay-only @team:DataDog/dashboards-backend + @replay-only @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get a dashboard returns 'author_name' Given there is a valid "dashboard" in the system And new "GetDashboard" request @@ -1000,7 +1000,7 @@ Feature: Dashboards Then the response status is 200 OK And the response "author_name" is equal to "Frog Account" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get a shared dashboard returns "OK" response Given there is a valid "dashboard" in the system And there is a valid "shared_dashboard" in the system @@ -1011,14 +1011,14 @@ Feature: Dashboards And the response "dashboard_id" has the same value as "dashboard.id" And the response "token" has the same value as "shared_dashboard.token" - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get a shared dashboard returns "Shared Dashboard Not Found" response Given new "GetPublicDashboard" request And request contains "token" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Shared Dashboard Not Found - @replay-only @team:DataDog/dashboards-backend + @replay-only @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get all dashboards returns "OK" response Given new "ListDashboards" request And there is a valid "dashboard" in the system @@ -1028,7 +1028,7 @@ Feature: Dashboards And the response "dashboards[0].title" has the same value as "dashboard.title" And the response "dashboards[0].id" has the same value as "dashboard.id" - @replay-only @skip-validation @team:DataDog/dashboards-backend @with-pagination + @replay-only @skip-validation @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all dashboards returns "OK" response with pagination Given new "ListDashboards" request And request contains "count" parameter with value 2 @@ -1036,14 +1036,14 @@ Feature: Dashboards Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get all invitations for a shared dashboard returns "Not Found" response Given new "GetPublicDashboardInvitations" request And request contains "token" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get all invitations for a shared dashboard returns "OK" response Given there is a valid "dashboard" in the system And there is a valid "shared_dashboard" in the system @@ -1053,7 +1053,7 @@ Feature: Dashboards Then the response status is 200 OK And the response "data" has length 0 - @replay-only @team:DataDog/dashboards-backend + @replay-only @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get deleted dashboards returns "OK" response Given new "ListDashboards" request And there is a valid "dashboard" in the system @@ -1064,21 +1064,21 @@ Feature: Dashboards And the response "dashboards[0].title" has the same value as "dashboard.title" And the response "dashboards[0].id" has the same value as "dashboard.id" - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Restore deleted dashboards returns "Bad Request" response Given new "RestoreDashboards" request And body with value {"data": [{"id": "123-abc-456", "type": "dashboard"}]} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Restore deleted dashboards returns "Dashboards Not Found" response Given new "RestoreDashboards" request And body with value {"data": [{"id": "123-abc-456", "type": "dashboard"}]} When the request is sent Then the response status is 404 Dashboards Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Restore deleted dashboards returns "No Content" response Given there is a valid "dashboard" in the system And the "dashboard" was deleted @@ -1087,21 +1087,21 @@ Feature: Dashboards When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Revoke a shared dashboard URL returns "OK" response Given new "DeletePublicDashboard" request And request contains "token" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Revoke a shared dashboard URL returns "Shared Dashboard Not Found" response Given new "DeletePublicDashboard" request And request contains "token" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Shared Dashboard Not Found - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Revoke shared dashboard invitations returns "Not Found" response Given new "DeletePublicDashboardInvitation" request And request contains "token" parameter from "REPLACE.ME" @@ -1109,7 +1109,7 @@ Feature: Dashboards When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Revoke shared dashboard invitations returns "OK" response Given new "DeletePublicDashboardInvitation" request And request contains "token" parameter from "REPLACE.ME" @@ -1117,7 +1117,7 @@ Feature: Dashboards When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Send shared dashboard invitation email returns "Bad Request" response Given new "SendPublicDashboardInvitation" request And request contains "token" parameter from "REPLACE.ME" @@ -1125,7 +1125,7 @@ Feature: Dashboards When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Send shared dashboard invitation email returns "Not Found" response Given new "SendPublicDashboardInvitation" request And request contains "token" parameter from "REPLACE.ME" @@ -1133,7 +1133,7 @@ Feature: Dashboards When the request is sent Then the response status is 404 Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Send shared dashboard invitation email returns "OK" response Given there is a valid "dashboard" in the system And there is a valid "shared_dashboard" in the system @@ -1145,7 +1145,7 @@ Feature: Dashboards And the response "data.attributes.email" has the same value as "shared_dashboard.share_list[0]" And the response "data.attributes.share_token" has the same value as "shared_dashboard.token" - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a dashboard returns "Bad Request" response Given new "UpdateDashboard" request And request contains "dashboard_id" parameter from "REPLACE.ME" @@ -1153,7 +1153,7 @@ Feature: Dashboards When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a dashboard returns "Item Not Found" response Given new "UpdateDashboard" request And request contains "dashboard_id" parameter from "REPLACE.ME" @@ -1161,7 +1161,7 @@ Feature: Dashboards When the request is sent Then the response status is 404 Item Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a dashboard returns "OK" response Given there is a valid "dashboard" in the system And new "UpdateDashboard" request @@ -1171,7 +1171,7 @@ Feature: Dashboards Then the response status is 200 OK And the response "description" is equal to "Updated description" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a dashboard with tags returns "OK" response Given there is a valid "dashboard" in the system And new "UpdateDashboard" request @@ -1181,7 +1181,7 @@ Feature: Dashboards Then the response status is 200 OK And the response "tags" is equal to ["team:foo", "team:bar"] - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a shared dashboard returns "Bad Request" response Given new "UpdatePublicDashboard" request And request contains "token" parameter from "REPLACE.ME" @@ -1189,7 +1189,7 @@ Feature: Dashboards When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a shared dashboard returns "Item Not Found" response Given new "UpdatePublicDashboard" request And request contains "token" parameter from "REPLACE.ME" @@ -1197,7 +1197,7 @@ Feature: Dashboards When the request is sent Then the response status is 404 Item Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a shared dashboard returns "OK" response Given there is a valid "dashboard" in the system And there is a valid "shared_dashboard" in the system diff --git a/features/v1/downtimes.feature b/features/v1/downtimes.feature index ccad86b876d8..b936253c74da 100644 --- a/features/v1/downtimes.feature +++ b/features/v1/downtimes.feature @@ -11,14 +11,14 @@ Feature: Downtimes And a valid "appKeyAuth" key in the system And an instance of "Downtimes" API - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Cancel a downtime returns "Downtime not found" response Given new "CancelDowntime" request And request contains "downtime_id" parameter with value 0 When the request is sent Then the response status is 404 Downtime not found - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Cancel a downtime returns "OK" response Given there is a valid "downtime" in the system And new "CancelDowntime" request @@ -26,21 +26,21 @@ Feature: Downtimes When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Cancel downtimes by scope returns "Bad Request" response Given new "CancelDowntimesByScope" request And body with value {"scope": "host:myserver"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Cancel downtimes by scope returns "Downtimes not found" response Given new "CancelDowntimesByScope" request And body with value {"scope": "test:{{ unique_lower_alnum }}_invalid"} When the request is sent Then the response status is 404 Downtimes not found - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Cancel downtimes by scope returns "OK" response Given there is a valid "downtime" in the system And new "CancelDowntimesByScope" request @@ -49,14 +49,14 @@ Feature: Downtimes Then the response status is 200 OK And the response "cancelled_ids[0]" has the same value as "downtime.id" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a downtime returns "Downtime not found" response Given new "GetDowntime" request And request contains "downtime_id" parameter with value 0 When the request is sent Then the response status is 404 Downtime not found - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a downtime returns "OK" response Given there is a valid "downtime" in the system And new "GetDowntime" request @@ -66,35 +66,35 @@ Feature: Downtimes And the response "id" has the same value as "downtime.id" And the response "message" has the same value as "downtime.message" - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get active downtimes for a monitor returns "Bad Request" response Given new "ListMonitorDowntimes" request And request contains "monitor_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get active downtimes for a monitor returns "Monitor Not Found error" response Given new "ListMonitorDowntimes" request And request contains "monitor_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Monitor Not Found error - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get active downtimes for a monitor returns "OK" response Given new "ListMonitorDowntimes" request And request contains "monitor_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get all downtimes returns "OK" response Given new "ListDowntimes" request And request contains "with_creator" parameter with value true When the request is sent Then the response status is 200 OK - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a downtime once a year Given new "CreateDowntime" request And body from file "downtime_recurrence_payload_once_a_year.json" @@ -105,14 +105,14 @@ Feature: Downtimes And the response "recurrence.period" is equal to 1 And the response "recurrence.type" is equal to "years" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a downtime returns "Bad Request" response Given new "CreateDowntime" request And body from file "downtime_with_many_tags_payload.json" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a downtime returns "OK" response Given new "CreateDowntime" request And body with value {"message": "{{ unique }}", "start": {{ timestamp("now") }}, "end": {{ timestamp("now + 1h") }}, "timezone": "Etc/UTC", "scope": ["test:{{ unique_lower_alnum }}"], "recurrence": {"type": "weeks", "period": 1, "week_days": ["Mon", "Tue", "Wed", "Thu", "Fri"], "until_date": {{ timestamp("now + 21d")}} }, "notify_end_states": ["alert", "no data", "warn"], "notify_end_types": ["canceled", "expired"]} @@ -123,7 +123,7 @@ Feature: Downtimes And the response "notify_end_states" array contains value "alert" And the response "notify_end_types" array contains value "canceled" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a downtime until date Given new "CreateDowntime" request And body from file "downtime_recurrence_payload_until_date.json" @@ -133,28 +133,28 @@ Feature: Downtimes And the response "recurrence.period" is equal to 1 And the response "recurrence.until_date" is equal to {{ timestamp("now + 21d") }} - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a downtime with invalid type hours Given new "CreateDowntime" request And body from file "downtime_recurrence_payload_invalid_type_hours.json" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a downtime with invalid weekdays Given new "CreateDowntime" request And body from file "downtime_recurrence_payload_invalid_weekdays.json" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a downtime with mutually exclusive until occurrences and until date properties Given new "CreateDowntime" request And body from file "downtime_recurrence_payload_until_occurrences_and_until_date_are_mutually_exclusive.json" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a downtime with until occurrences Given new "CreateDowntime" request And body from file "downtime_recurrence_payload_until_occurrences.json" @@ -164,7 +164,7 @@ Feature: Downtimes And the response "recurrence.period" is equal to 1 And the response "recurrence.until_occurrences" is equal to 3 - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a monitor downtime returns "OK" response Given there is a valid "monitor" in the system And new "CreateDowntime" request @@ -173,7 +173,7 @@ Feature: Downtimes Then the response status is 200 OK And the response "monitor_id" has the same value as "monitor.id" - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Update a downtime returns "Bad Request" response Given new "UpdateDowntime" request And request contains "downtime_id" parameter from "REPLACE.ME" @@ -181,7 +181,7 @@ Feature: Downtimes When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Update a downtime returns "Downtime not found" response Given new "UpdateDowntime" request And request contains "downtime_id" parameter from "REPLACE.ME" @@ -189,7 +189,7 @@ Feature: Downtimes When the request is sent Then the response status is 404 Downtime not found - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Update a downtime returns "OK" response Given there is a valid "downtime" in the system And new "UpdateDowntime" request diff --git a/features/v1/events.feature b/features/v1/events.feature index e1b7d8a0fd62..90296033a0a6 100644 --- a/features/v1/events.feature +++ b/features/v1/events.feature @@ -16,7 +16,7 @@ Feature: Events Given a valid "apiKeyAuth" key in the system And an instance of "Events" API - @generated @skip @team:DataDog/monitors-evaluation + @generated @skip @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Get a list of events returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListEvents" request @@ -25,7 +25,7 @@ Feature: Events When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/monitors-evaluation + @generated @skip @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Get a list of events returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListEvents" request @@ -34,7 +34,7 @@ Feature: Events When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/monitors-evaluation + @generated @skip @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Get an event returns "Item Not Found" response Given a valid "appKeyAuth" key in the system And new "GetEvent" request @@ -42,7 +42,7 @@ Feature: Events When the request is sent Then the response status is 404 Item Not Found - @generated @skip @team:DataDog/monitors-evaluation + @generated @skip @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Get an event returns "OK" response Given a valid "appKeyAuth" key in the system And new "GetEvent" request @@ -50,21 +50,21 @@ Feature: Events When the request is sent Then the response status is 200 OK - @skip-validation @team:DataDog/monitors-evaluation + @skip-validation @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Post an event in the past returns "Bad Request" response Given new "CreateEvent" request And body with value {"title": "{{ unique }}", "text": "A text message.", "date_happened": 1, "tags": ["test:{{ unique_alnum }}"]} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/monitors-evaluation + @generated @skip @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Post an event returns "Bad Request" response Given new "CreateEvent" request And body with value {"alert_type": "info", "priority": "normal", "tags": ["environment:test"], "text": "Oh boy!", "title": "Did you hear the news today?"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitors-evaluation + @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Post an event returns "OK" response Given new "CreateEvent" request And body with value {"title": "{{ unique }}", "text": "A text message.", "tags": ["test:{{ unique_alnum }}"]} @@ -72,7 +72,7 @@ Feature: Events Then the response status is 202 OK And the response "event.text" is equal to "A text message." - @team:DataDog/monitors-evaluation + @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Post an event with a long title returns "OK" response Given new "CreateEvent" request And body with value {"title": "{{ unique }} very very very looooooooong looooooooooooong loooooooooooooooooooooong looooooooooooooooooooooooooong title with 100+ characters", "text": "A text message.", "tags": ["test:{{ unique_alnum }}"]} diff --git a/features/v1/gcp_integration.feature b/features/v1/gcp_integration.feature index 33a06d39fe92..9da6cbe81bff 100644 --- a/features/v1/gcp_integration.feature +++ b/features/v1/gcp_integration.feature @@ -10,28 +10,28 @@ Feature: GCP Integration And a valid "appKeyAuth" key in the system And an instance of "GCPIntegration" API - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a GCP integration returns "Bad Request" response Given new "CreateGCPIntegration" request And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "api-dev@datadog-sandbox.iam.gserviceaccount.com", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "key:value,filter:example", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a GCP integration returns "OK" response Given new "CreateGCPIntegration" request And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "{{unique_hash}}@example.com", "client_id": "{{ timestamp("now") }}{{ timestamp("now") }}0", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "host_filters": "key:value,filter:example", "cloud_run_revision_filters": ["dr:dre"], "is_cspm_enabled": true, "is_security_command_center_enabled": true, "is_resource_change_collection_enabled": true, "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete a GCP integration returns "Bad Request" response Given new "DeleteGCPIntegration" request And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "api-dev@datadog-sandbox.iam.gserviceaccount.com", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "key:value,filter:example", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete a GCP integration returns "OK" response Given there is a valid "gcp_account" in the system And new "DeleteGCPIntegration" request @@ -39,19 +39,19 @@ Feature: GCP Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: List all GCP integrations returns "Bad Request" response Given new "ListGCPIntegration" request When the request is sent Then the response status is 400 Bad Request - @skip-terraform-config @team:DataDog/gcp-integrations + @skip-terraform-config @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: List all GCP integrations returns "OK" response Given new "ListGCPIntegration" request When the request is sent Then the response status is 200 OK - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Update a GCP integration cloud run revision filters returns "OK" response Given there is a valid "gcp_account" in the system And new "UpdateGCPIntegration" request @@ -59,14 +59,14 @@ Feature: GCP Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Update a GCP integration returns "Bad Request" response Given new "UpdateGCPIntegration" request And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "api-dev@datadog-sandbox.iam.gserviceaccount.com", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "key:value,filter:example", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Update a GCP integration returns "OK" response Given there is a valid "gcp_account" in the system And new "UpdateGCPIntegration" request diff --git a/features/v1/hosts.feature b/features/v1/hosts.feature index 7ed533f7b20f..641f557f46a4 100644 --- a/features/v1/hosts.feature +++ b/features/v1/hosts.feature @@ -9,20 +9,20 @@ Feature: Hosts And a valid "appKeyAuth" key in the system And an instance of "Hosts" API - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Get all hosts for your organization returns "Invalid Parameter Error" response Given new "ListHosts" request When the request is sent Then the response status is 400 Invalid Parameter Error - @integration-only @team:DataDog/core-index + @integration-only @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Get all hosts for your organization returns "OK" response Given new "ListHosts" request And request contains "filter" parameter with value "env:ci" When the request is sent Then the response status is 200 OK - @replay-only @team:DataDog/core-index + @replay-only @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Get all hosts with metadata deserializes successfully Given new "ListHosts" request And request contains "include_hosts_metadata" parameter with value true @@ -35,26 +35,26 @@ Feature: Hosts And the response "host_list[0].meta.agent_checks[0]" is equal to ["ntp","ntp","ntp:d884b5186b651429","OK","",""] And the response "host_list[0].meta.gohai" is equal to "{\"cpu\":{\"cache_size\":\"8192 KB\",\"cpu_cores\":\"1\",\"cpu_logical_processors\":\"1\",\"family\":\"6\",\"mhz\":\"2711.998\",\"model\":\"142\",\"model_name\":\"Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz\",\"stepping\":\"10\",\"vendor_id\":\"GenuineIntel\"},\"filesystem\":[{\"kb_size\":\"3966892\",\"mounted_on\":\"/dev\",\"name\":\"udev\"},{\"kb_size\":\"797396\",\"mounted_on\":\"/run\",\"name\":\"tmpfs\"},{\"kb_size\":\"64800356\",\"mounted_on\":\"/\",\"name\":\"/dev/mapper/vagrant--vg-root\"},{\"kb_size\":\"3986968\",\"mounted_on\":\"/dev/shm\",\"name\":\"tmpfs\"},{\"kb_size\":\"5120\",\"mounted_on\":\"/run/lock\",\"name\":\"tmpfs\"},{\"kb_size\":\"3986968\",\"mounted_on\":\"/sys/fs/cgroup\",\"name\":\"tmpfs\"},{\"kb_size\":\"488245288\",\"mounted_on\":\"/vagrant\",\"name\":\"/vagrant\"},{\"kb_size\":\"797392\",\"mounted_on\":\"/run/user/1000\",\"name\":\"tmpfs\"}],\"memory\":{\"swap_total\":\"1003516kB\",\"total\":\"7973940kB\"},\"network\":{\"interfaces\":[{\"ipv4\":\"10.0.2.15\",\"ipv4-network\":\"10.0.2.0/24\",\"ipv6\":\"fe80::a00:27ff:fec2:be11\",\"ipv6-network\":\"fe80::/64\",\"macaddress\":\"08:00:27:c2:be:11\",\"name\":\"eth0\"},{\"ipv4\":\"192.168.122.1\",\"ipv4-network\":\"192.168.122.0/24\",\"macaddress\":\"52:54:00:6f:1c:bf\",\"name\":\"virbr0\"}],\"ipaddress\":\"10.0.2.15\",\"ipaddressv6\":\"fe80::a00:27ff:fec2:be11\",\"macaddress\":\"08:00:27:c2:be:11\"},\"platform\":{\"GOOARCH\":\"amd64\",\"GOOS\":\"linux\",\"goV\":\"1.16.7\",\"hardware_platform\":\"x86_64\",\"hostname\":\"vagrant\",\"kernel_name\":\"Linux\",\"kernel_release\":\"4.15.0-29-generic\",\"kernel_version\":\"#31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018\",\"machine\":\"x86_64\",\"os\":\"GNU/Linux\",\"processor\":\"x86_64\",\"pythonV\":\"2.7.15rc1\"}}" - @skip-validation @team:DataDog/core-index + @skip-validation @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Get all hosts with metadata for your organization returns "OK" response Given new "ListHosts" request And request contains "include_hosts_metadata" parameter with value true When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Get the total number of active hosts returns "Invalid Parameter Error" response Given new "GetHostTotals" request When the request is sent Then the response status is 400 Invalid Parameter Error - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Get the total number of active hosts returns "OK" response Given new "GetHostTotals" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Mute a host returns "Invalid Parameter Error" response Given new "MuteHost" request And request contains "host_name" parameter from "REPLACE.ME" @@ -62,7 +62,7 @@ Feature: Hosts When the request is sent Then the response status is 400 Invalid Parameter Error - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Mute a host returns "OK" response Given new "MuteHost" request And request contains "host_name" parameter from "REPLACE.ME" @@ -70,14 +70,14 @@ Feature: Hosts When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Unmute a host returns "Invalid Parameter Error" response Given new "UnmuteHost" request And request contains "host_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Invalid Parameter Error - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Unmute a host returns "OK" response Given new "UnmuteHost" request And request contains "host_name" parameter from "REPLACE.ME" diff --git a/features/v1/ip_ranges.feature b/features/v1/ip_ranges.feature index 067c9b6215eb..6dade193d7c8 100644 --- a/features/v1/ip_ranges.feature +++ b/features/v1/ip_ranges.feature @@ -2,7 +2,7 @@ Feature: IP Ranges Get a list of IP prefixes belonging to Datadog. - @team:DataDog/network-edge + @team:DataDog/network-edge @team:DataDog/web-frameworks-approvers Scenario: List IP Ranges returns "OK" response Given an instance of "IPRanges" API And new "GetIPRanges" request diff --git a/features/v1/key_management.feature b/features/v1/key_management.feature index 3deec5c11316..1fd9e9c12e12 100644 --- a/features/v1/key_management.feature +++ b/features/v1/key_management.feature @@ -10,77 +10,77 @@ Feature: Key Management And a valid "appKeyAuth" key in the system And an instance of "KeyManagement" API - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Create an API key returns "Bad Request" response Given new "CreateAPIKey" request And body with value {"name": "example user"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Create an API key returns "OK" response Given new "CreateAPIKey" request And body with value {"name": "example user"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Create an application key returns "Bad Request" response Given new "CreateApplicationKey" request And body with value {"name": "example user"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Create an application key returns "Conflict" response Given new "CreateApplicationKey" request And body with value {"name": "example user"} When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Create an application key returns "OK" response Given new "CreateApplicationKey" request And body with value {"name": "example user"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an API key returns "Bad Request" response Given new "DeleteAPIKey" request And request contains "key" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an API key returns "Not Found" response Given new "DeleteAPIKey" request And request contains "key" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an API key returns "OK" response Given new "DeleteAPIKey" request And request contains "key" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an application key returns "Not Found" response Given new "DeleteApplicationKey" request And request contains "key" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an application key returns "OK" response Given new "DeleteApplicationKey" request And request contains "key" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an API key returns "Bad Request" response Given new "UpdateAPIKey" request And request contains "key" parameter from "REPLACE.ME" @@ -88,7 +88,7 @@ Feature: Key Management When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an API key returns "Not Found" response Given new "UpdateAPIKey" request And request contains "key" parameter from "REPLACE.ME" @@ -96,7 +96,7 @@ Feature: Key Management When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an API key returns "OK" response Given new "UpdateAPIKey" request And request contains "key" parameter from "REPLACE.ME" @@ -104,7 +104,7 @@ Feature: Key Management When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an application key returns "Bad Request" response Given new "UpdateApplicationKey" request And request contains "key" parameter from "REPLACE.ME" @@ -112,7 +112,7 @@ Feature: Key Management When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an application key returns "Conflict" response Given new "UpdateApplicationKey" request And request contains "key" parameter from "REPLACE.ME" @@ -120,7 +120,7 @@ Feature: Key Management When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an application key returns "Not Found" response Given new "UpdateApplicationKey" request And request contains "key" parameter from "REPLACE.ME" @@ -128,7 +128,7 @@ Feature: Key Management When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an application key returns "OK" response Given new "UpdateApplicationKey" request And request contains "key" parameter from "REPLACE.ME" @@ -136,40 +136,40 @@ Feature: Key Management When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get API key returns "Not Found" response Given new "GetAPIKey" request And request contains "key" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get API key returns "OK" response Given new "GetAPIKey" request And request contains "key" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get all API keys returns "OK" response Given new "ListAPIKeys" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get all application keys returns "OK" response Given new "ListApplicationKeys" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get an application key returns "Not Found" response Given new "GetApplicationKey" request And request contains "key" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get an application key returns "OK" response Given new "GetApplicationKey" request And request contains "key" parameter from "REPLACE.ME" diff --git a/features/v1/logs.feature b/features/v1/logs.feature index 5ae909c3aae6..202fe876e2bf 100644 --- a/features/v1/logs.feature +++ b/features/v1/logs.feature @@ -8,7 +8,7 @@ Feature: Logs Given a valid "apiKeyAuth" key in the system And an instance of "Logs" API - @generated @skip @team:DataDog/logs-app + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Search logs returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListLogs" request @@ -16,7 +16,7 @@ Feature: Logs When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-app + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Search logs returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListLogs" request @@ -24,7 +24,7 @@ Feature: Logs When the request is sent Then the response status is 200 OK - @team:DataDog/logs-app + @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Search test logs returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListLogs" request @@ -32,7 +32,7 @@ Feature: Logs When the request is sent Then the response status is 200 OK - @integration-only @skip-terraform-config @skip-validation @team:DataDog/event-platform-intake + @integration-only @skip-terraform-config @skip-validation @team:DataDog/event-platform-intake @team:DataDog/web-frameworks-approvers Scenario: Send deflate logs returns "Response from server (always 200 empty JSON)." response Given new "SubmitLog" request And body with value [{"message": "{{ unique }}", "ddtags": "host:{{ unique_alnum }}"}] @@ -40,7 +40,7 @@ Feature: Logs When the request is sent Then the response status is 200 Response from server (always 200 empty JSON). - @integration-only @skip-terraform-config @skip-validation @team:DataDog/event-platform-intake + @integration-only @skip-terraform-config @skip-validation @team:DataDog/event-platform-intake @team:DataDog/web-frameworks-approvers Scenario: Send gzip logs returns "Response from server (always 200 empty JSON)." response Given new "SubmitLog" request And body with value [{"message": "{{ unique }}", "ddtags": "host:{{ unique_alnum }}"}] @@ -48,14 +48,14 @@ Feature: Logs When the request is sent Then the response status is 200 Response from server (always 200 empty JSON). - @team:DataDog/event-platform-intake + @team:DataDog/event-platform-intake @team:DataDog/web-frameworks-approvers Scenario: Send logs returns "Response from server (always 200 empty JSON)." response Given new "SubmitLog" request And body with value [{"message": "{{ unique }}", "ddtags": "host:{{ unique_alnum }}"}] When the request is sent Then the response status is 200 Response from server (always 200 empty JSON). - @generated @skip @team:DataDog/event-platform-intake + @generated @skip @team:DataDog/event-platform-intake @team:DataDog/web-frameworks-approvers Scenario: Send logs returns "unexpected error" response Given new "SubmitLog" request And body with value [{"ddsource": "nginx", "ddtags": "env:staging,version:5.1", "hostname": "i-012345678", "message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World", "service": "payment"}] diff --git a/features/v1/logs_indexes.feature b/features/v1/logs_indexes.feature index e346777d32d5..386c633b52aa 100644 --- a/features/v1/logs_indexes.feature +++ b/features/v1/logs_indexes.feature @@ -8,47 +8,47 @@ Feature: Logs Indexes And a valid "appKeyAuth" key in the system And an instance of "LogsIndexes" API - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core @team:DataDog/web-frameworks-approvers Scenario: Create an index returns "Invalid Parameter Error" response Given new "CreateLogsIndex" request And body with value {"daily_limit": 300000000, "daily_limit_reset": {"reset_time": "14:00", "reset_utc_offset": "+02:00"}, "daily_limit_warning_threshold_percentage": 70, "exclusion_filters": [{"filter": {"query": "*", "sample_rate": 1.0}, "name": "payment"}], "filter": {"query": "source:python"}, "name": "main", "num_flex_logs_retention_days": 360, "num_retention_days": 15} When the request is sent Then the response status is 400 Invalid Parameter Error - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core @team:DataDog/web-frameworks-approvers Scenario: Create an index returns "OK" response Given new "CreateLogsIndex" request And body with value {"daily_limit": 300000000, "daily_limit_reset": {"reset_time": "14:00", "reset_utc_offset": "+02:00"}, "daily_limit_warning_threshold_percentage": 70, "exclusion_filters": [{"filter": {"query": "*", "sample_rate": 1.0}, "name": "payment"}], "filter": {"query": "source:python"}, "name": "main", "num_flex_logs_retention_days": 360, "num_retention_days": 15} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core @team:DataDog/web-frameworks-approvers Scenario: Get all indexes returns "OK" response Given new "ListLogIndexes" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core @team:DataDog/web-frameworks-approvers Scenario: Get an index returns "Not Found" response Given new "GetLogsIndex" request And request contains "name" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core @team:DataDog/web-frameworks-approvers Scenario: Get an index returns "OK" response Given new "GetLogsIndex" request And request contains "name" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core @team:DataDog/web-frameworks-approvers Scenario: Get indexes order returns "OK" response Given new "GetLogsIndexOrder" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core @team:DataDog/web-frameworks-approvers Scenario: Update an index returns "Invalid Parameter Error" response Given new "UpdateLogsIndex" request And request contains "name" parameter from "REPLACE.ME" @@ -56,7 +56,7 @@ Feature: Logs Indexes When the request is sent Then the response status is 400 Invalid Parameter Error - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core @team:DataDog/web-frameworks-approvers Scenario: Update an index returns "OK" response Given new "UpdateLogsIndex" request And request contains "name" parameter from "REPLACE.ME" @@ -64,14 +64,14 @@ Feature: Logs Indexes When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core @team:DataDog/web-frameworks-approvers Scenario: Update indexes order returns "Bad Request" response Given new "UpdateLogsIndexOrder" request And body with value {"index_names": ["main", "payments", "web"]} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-core @team:DataDog/web-frameworks-approvers Scenario: Update indexes order returns "OK" response Given new "UpdateLogsIndexOrder" request And body with value {"index_names": ["main", "payments", "web"]} diff --git a/features/v1/logs_pipelines.feature b/features/v1/logs_pipelines.feature index 001d0356d4f5..b66b8315cd34 100644 --- a/features/v1/logs_pipelines.feature +++ b/features/v1/logs_pipelines.feature @@ -21,61 +21,61 @@ Feature: Logs Pipelines And a valid "appKeyAuth" key in the system And an instance of "LogsPipelines" API - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Create a pipeline returns "Bad Request" response Given new "CreateLogsPipeline" request And body with value {"filter": {"query": "source:python"}, "name": "", "processors": [{"grok": {"match_rules": "rule_name_1 foo\nrule_name_2 bar\n", "support_rules": "rule_name_1 foo\nrule_name_2 bar\n"}, "is_enabled": false, "samples": [], "source": "message", "type": "grok-parser"}], "tags": []} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Create a pipeline returns "OK" response Given new "CreateLogsPipeline" request And body with value {"filter": {"query": "source:python"}, "name": "", "processors": [{"grok": {"match_rules": "rule_name_1 foo\nrule_name_2 bar\n", "support_rules": "rule_name_1 foo\nrule_name_2 bar\n"}, "is_enabled": false, "samples": [], "source": "message", "type": "grok-parser"}], "tags": []} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Delete a pipeline returns "Bad Request" response Given new "DeleteLogsPipeline" request And request contains "pipeline_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Delete a pipeline returns "OK" response Given new "DeleteLogsPipeline" request And request contains "pipeline_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Get a pipeline returns "Bad Request" response Given new "GetLogsPipeline" request And request contains "pipeline_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Get a pipeline returns "OK" response Given new "GetLogsPipeline" request And request contains "pipeline_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Get all pipelines returns "OK" response Given new "ListLogsPipelines" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Get pipeline order returns "OK" response Given new "GetLogsPipelineOrder" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Update a pipeline returns "Bad Request" response Given new "UpdateLogsPipeline" request And request contains "pipeline_id" parameter from "REPLACE.ME" @@ -83,7 +83,7 @@ Feature: Logs Pipelines When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Update a pipeline returns "OK" response Given new "UpdateLogsPipeline" request And request contains "pipeline_id" parameter from "REPLACE.ME" @@ -91,21 +91,21 @@ Feature: Logs Pipelines When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Update pipeline order returns "Bad Request" response Given new "UpdateLogsPipelineOrder" request And body with value {"pipeline_ids": ["tags", "org_ids", "products"]} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Update pipeline order returns "OK" response Given new "UpdateLogsPipelineOrder" request And body with value {"pipeline_ids": ["tags", "org_ids", "products"]} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/event-platform-experience + @generated @skip @team:DataDog/event-platform-experience @team:DataDog/web-frameworks-approvers Scenario: Update pipeline order returns "Unprocessable Entity" response Given new "UpdateLogsPipelineOrder" request And body with value {"pipeline_ids": ["tags", "org_ids", "products"]} diff --git a/features/v1/metrics.feature b/features/v1/metrics.feature index 112cf9cc0a1a..5592ed15fb31 100644 --- a/features/v1/metrics.feature +++ b/features/v1/metrics.feature @@ -14,7 +14,7 @@ Feature: Metrics Given a valid "apiKeyAuth" key in the system And an instance of "Metrics" API - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Edit metric metadata returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "UpdateMetricMetadata" request @@ -23,7 +23,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Edit metric metadata returns "Not Found" response Given a valid "appKeyAuth" key in the system And new "UpdateMetricMetadata" request @@ -32,7 +32,7 @@ Feature: Metrics When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Edit metric metadata returns "OK" response Given a valid "appKeyAuth" key in the system And new "UpdateMetricMetadata" request @@ -41,7 +41,7 @@ Feature: Metrics When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Get active metrics list returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListActiveMetrics" request @@ -49,7 +49,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Get active metrics list returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListActiveMetrics" request @@ -57,7 +57,7 @@ Feature: Metrics When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Get metric metadata returns "Not Found" response Given a valid "appKeyAuth" key in the system And new "GetMetricMetadata" request @@ -65,7 +65,7 @@ Feature: Metrics When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Get metric metadata returns "OK" response Given a valid "appKeyAuth" key in the system And new "GetMetricMetadata" request @@ -73,7 +73,7 @@ Feature: Metrics When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Query timeseries points returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "QueryMetrics" request @@ -83,7 +83,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @team:DataDog/metrics-intake @team:DataDog/metrics-query + @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Query timeseries points returns "OK" response Given a valid "appKeyAuth" key in the system And new "QueryMetrics" request @@ -95,7 +95,7 @@ Feature: Metrics And the response "status" is equal to "ok" And the response "query" is equal to "system.cpu.idle{*}" - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Search metrics returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListMetrics" request @@ -103,7 +103,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Search metrics returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListMetrics" request @@ -111,7 +111,7 @@ Feature: Metrics When the request is sent Then the response status is 200 OK - @integration-only @skip-terraform-config @skip-validation @team:DataDog/metrics-aggregation + @integration-only @skip-terraform-config @skip-validation @team:DataDog/metrics-aggregation @team:DataDog/web-frameworks-approvers Scenario: Submit deflate distribution points returns "Payload accepted" response Given new "SubmitDistributionPoints" request And body with value {"series": [{"metric": "system.load.1.dist", "points": [[{{ timestamp("now") }}, [1.0, 2.0]]]}]} @@ -119,7 +119,7 @@ Feature: Metrics When the request is sent Then the response status is 202 Payload accepted - @integration-only @skip-terraform-config @skip-validation @team:DataDog/metrics-intake @team:DataDog/metrics-query + @integration-only @skip-terraform-config @skip-validation @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Submit deflate metrics returns "Payload accepted" response Given new "SubmitMetrics" request And body with value {"series": [{"metric": "system.load.1", "type": "gauge", "points": [[{{ timestamp("now") }}, 1.1]], "tags": ["test:{{ unique_alnum }}"]}]} @@ -127,56 +127,56 @@ Feature: Metrics When the request is sent Then the response status is 202 Payload accepted - @integration-only @skip-terraform-config @skip-validation @team:DataDog/metrics-aggregation + @integration-only @skip-terraform-config @skip-validation @team:DataDog/metrics-aggregation @team:DataDog/web-frameworks-approvers Scenario: Submit distribution points returns "Bad Request" response Given new "SubmitDistributionPoints" request And body with value {"series": [{"metric": "system.load.1.dist", "points": [[1475317847.0, 1.0]]}]} When the request is sent Then the response status is 400 Bad Request - @integration-only @skip-terraform-config @skip-validation @team:DataDog/metrics-aggregation + @integration-only @skip-terraform-config @skip-validation @team:DataDog/metrics-aggregation @team:DataDog/web-frameworks-approvers Scenario: Submit distribution points returns "Payload accepted" response Given new "SubmitDistributionPoints" request And body with value {"series": [{"metric": "system.load.1.dist", "points": [[{{ timestamp("now") }}, [1.0, 2.0]]]}]} When the request is sent Then the response status is 202 Payload accepted - @generated @skip @team:DataDog/metrics-aggregation + @generated @skip @team:DataDog/metrics-aggregation @team:DataDog/web-frameworks-approvers Scenario: Submit distribution points returns "Payload too large" response Given new "SubmitDistributionPoints" request And body with value {"series": [{"metric": "system.load.1", "points": [[1475317847.0, [1.0, 2.0]]]}]} When the request is sent Then the response status is 413 Payload too large - @generated @skip @team:DataDog/metrics-aggregation + @generated @skip @team:DataDog/metrics-aggregation @team:DataDog/web-frameworks-approvers Scenario: Submit distribution points returns "Request timeout" response Given new "SubmitDistributionPoints" request And body with value {"series": [{"metric": "system.load.1", "points": [[1475317847.0, [1.0, 2.0]]]}]} When the request is sent Then the response status is 408 Request timeout - @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Submit metrics returns "Bad Request" response Given new "SubmitMetrics" request And body with value "invalid" When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:DataDog/metrics-intake @team:DataDog/metrics-query + @skip-validation @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Submit metrics returns "Payload accepted" response Given new "SubmitMetrics" request And body with value {"series": [{"metric": "system.load.1", "type": "gauge", "points": [[{{ timestamp("now") }}, 1.1]], "tags": ["test:{{ unique_alnum }}"]}]} When the request is sent Then the response status is 202 Payload accepted - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Submit metrics returns "Payload too large" response Given new "SubmitMetrics" request And body with value {"series": [{"metric": "system.load.1", "points": [[1475317847.0, 0.7]]}]} When the request is sent Then the response status is 413 Payload too large - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Submit metrics returns "Request timeout" response Given new "SubmitMetrics" request And body with value {"series": [{"metric": "system.load.1", "points": [[1475317847.0, 0.7]]}]} diff --git a/features/v1/monitors.feature b/features/v1/monitors.feature index bb344afd7803..85b69434db81 100644 --- a/features/v1/monitors.feature +++ b/features/v1/monitors.feature @@ -10,21 +10,21 @@ Feature: Monitors And a valid "appKeyAuth" key in the system And an instance of "Monitors" API - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Check if a monitor can be deleted returns "Bad Request" response Given new "CheckCanDeleteMonitor" request And request contains "monitor_ids" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Check if a monitor can be deleted returns "Deletion conflict error" response Given new "CheckCanDeleteMonitor" request And request contains "monitor_ids" parameter from "REPLACE.ME" When the request is sent Then the response status is 409 Deletion conflict error - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Check if a monitor can be deleted returns "OK" response Given there is a valid "monitor" in the system And new "CheckCanDeleteMonitor" request @@ -33,14 +33,14 @@ Feature: Monitors Then the response status is 200 OK And the response "data.ok[0]" has the same value as "monitor.id" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a Cost Monitor returns "OK" response Given new "CreateMonitor" request And body with value {"name": "Example Monitor", "type": "cost alert", "query": "formula(\"exclude_null(query1)\").last(\"7d\").anomaly(direction=\"above\", threshold=10) >= 5", "message": "some message Notify: @hipchat-channel", "tags": ["test:examplemonitor", "env:ci"], "priority": 3, "options": {"thresholds": {"critical": 5, "warning": 3}, "variables": [{"data_source": "cloud_cost", "query": "sum:aws.cost.net.amortized.shared.resources.allocated{aws_product IN (amplify ,athena, backup, bedrock ) } by {aws_product}.rollup(sum, 86400)", "name": "query1", "aggregator": "sum"}], "include_tags": true}} When the request is sent Then the response status is 200 OK - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a RUM formula and functions monitor returns "OK" response Given new "CreateMonitor" request And body with value {"name": "{{ unique }}","type": "rum alert","query": "formula(\"query2 / query1 * 100\").last(\"15m\") >= 0.8","message": "some message Notify: @hipchat-channel", "tags": ["test:{{ unique_lower_alnum }}", "env:ci"],"priority": 3,"options":{"thresholds":{"critical":0.8},"variables":[{"data_source": "rum","name": "query2","search": {"query": ""},"indexes": ["*"],"compute": {"aggregation": "count"},"group_by": []}, {"data_source": "rum","name": "query1","search": {"query": "status:error"},"indexes": ["*"],"compute": {"aggregation": "count"},"group_by": []}]}} @@ -49,7 +49,7 @@ Feature: Monitors And the response "name" is equal to "{{ unique }}" And the response "type" is equal to "rum alert" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a ci-pipelines formula and functions monitor returns "OK" response Given new "CreateMonitor" request And body with value {"name": "{{ unique }}","type": "ci-pipelines alert","query": "formula(\"query1 / query2 * 100\").last(\"15m\") >= 0.8","message": "some message Notify: @hipchat-channel","tags": ["test:{{ unique_lower_alnum }}", "env:ci"],"priority": 3,"options": {"thresholds": {"critical": 0.8},"variables": [{"data_source": "ci_pipelines","name": "query1","search": {"query": "@ci.status:error"},"indexes": ["*"],"compute": {"aggregation": "count"},"group_by": []},{"data_source": "ci_pipelines","name": "query2","search": {"query": ""},"indexes": ["*"],"compute": {"aggregation": "count"},"group_by": []}]}} @@ -59,7 +59,7 @@ Feature: Monitors And the response "type" is equal to "ci-pipelines alert" And the response "query" is equal to "formula(\"query1 / query2 * 100\").last(\"15m\") >= 0.8" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a ci-pipelines monitor returns "OK" response Given new "CreateMonitor" request And body with value {"name": "{{ unique }}","type": "ci-pipelines alert","query": "ci-pipelines(\"ci_level:pipeline @git.branch:staging* @ci.status:error\").rollup(\"count\").by(\"@git.branch,@ci.pipeline.name\").last(\"5m\") >= 1","message": "some message Notify: @hipchat-channel", "tags": ["test:{{ unique_lower_alnum }}", "env:ci"],"priority": 3,"options":{"thresholds":{"critical":1}}} @@ -69,7 +69,7 @@ Feature: Monitors And the response "type" is equal to "ci-pipelines alert" And the response "query" is equal to "ci-pipelines(\"ci_level:pipeline @git.branch:staging* @ci.status:error\").rollup(\"count\").by(\"@git.branch,@ci.pipeline.name\").last(\"5m\") >= 1" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a ci-tests formula and functions monitor returns "OK" response Given new "CreateMonitor" request And body with value {"name": "{{ unique }}","type": "ci-tests alert","query": "formula(\"query1 / query2 * 100\").last(\"15m\") >= 0.8","message": "some message Notify: @hipchat-channel","tags": ["test:{{ unique_lower_alnum }}", "env:ci"],"priority": 3,"options": {"thresholds": {"critical": 0.8},"variables": [{"data_source": "ci_tests","name": "query1","search": {"query": "@test.status:fail"},"indexes": ["*"],"compute": {"aggregation": "count"},"group_by": []},{"data_source": "ci_tests","name": "query2","search": {"query": ""},"indexes": ["*"],"compute": {"aggregation": "count"},"group_by": []}]}} @@ -79,7 +79,7 @@ Feature: Monitors And the response "type" is equal to "ci-tests alert" And the response "query" is equal to "formula(\"query1 / query2 * 100\").last(\"15m\") >= 0.8" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a ci-tests monitor returns "OK" response Given new "CreateMonitor" request And body with value {"name": "{{ unique }}","type": "ci-tests alert","query": "ci-tests(\"type:test @git.branch:staging* @test.status:fail\").rollup(\"count\").by(\"@test.name\").last(\"5m\") >= 1","message": "some message Notify: @hipchat-channel", "tags": ["test:{{ unique_lower_alnum }}", "env:ci"],"priority": 3,"options":{"thresholds":{"critical":1}}} @@ -89,7 +89,7 @@ Feature: Monitors And the response "type" is equal to "ci-tests alert" And the response "query" is equal to "ci-tests(\"type:test @git.branch:staging* @test.status:fail\").rollup(\"count\").by(\"@test.name\").last(\"5m\") >= 1" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a metric monitor returns "OK" response Given new "CreateMonitor" request And body with value {"name": "{{ unique }}", "type": "metric alert", "query": "avg(current_1mo):avg:system.load.5{*} > 0.5", "message": "some message Notify: @hipchat-channel", "options":{"thresholds":{"critical":0.5}, "scheduling_options":{"evaluation_window":{"day_starts":"04:00", "month_starts":1}}}} @@ -98,7 +98,7 @@ Feature: Monitors And the response "name" is equal to "{{ unique }}" And the response "query" is equal to "avg(current_1mo):avg:system.load.5{*} > 0.5" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a metric monitor with a custom schedule returns "OK" response Given new "CreateMonitor" request And body with value {"message":"some message Notify: @hipchat-channel","name":"{{ unique }}","query":"avg(current_1mo):avg:system.load.5{*} > 0.5","tags":[],"options":{"thresholds":{"critical":0.5},"notify_audit":false,"include_tags":false,"scheduling_options":{"evaluation_window":{"day_starts":"04:00", "month_starts":1},"custom_schedule":{"recurrences":[{"rrule":"FREQ=DAILY;INTERVAL=1","timezone":"America/Los_Angeles","start":"2024-10-26T09:13:00"}]}}},"type":"query alert"} @@ -109,14 +109,14 @@ Feature: Monitors And the response "options.scheduling_options.custom_schedule.recurrences[0].start" is equal to "2024-10-26T09:13:00" And the response "options.scheduling_options.custom_schedule.recurrences[0].timezone" is equal to "America/Los_Angeles" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a monitor returns "Bad Request" response Given new "CreateMonitor" request And body with value {"type": "log alert", "query": "query"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a monitor returns "OK" response Given there is a valid "role" in the system And new "CreateMonitor" request @@ -127,7 +127,7 @@ Feature: Monitors And the response "type" is equal to "log alert" And the response "query" is equal to "logs(\"service:foo AND type:error\").index(\"main\").rollup(\"count\").by(\"source\").last(\"5m\") > 2" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create an Error Tracking monitor returns "OK" response Given new "CreateMonitor" request And body from file "monitor_error_tracking_alert_payload.json" @@ -137,21 +137,21 @@ Feature: Monitors And the response "type" is equal to "error-tracking alert" And the response "query" is equal to "error-tracking-rum(\"service:foo AND @error.source:source\").rollup(\"count\").by(\"@issue.id\").last(\"1h\") >= 1" - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Delete a monitor returns "Bad Request" response Given new "DeleteMonitor" request And request contains "monitor_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Delete a monitor returns "Item not found error" response Given new "DeleteMonitor" request And request contains "monitor_id" parameter with value 0 When the request is sent Then the response status is 404 Item not found error - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Delete a monitor returns "OK" response Given there is a valid "monitor" in the system And new "DeleteMonitor" request @@ -160,7 +160,7 @@ Feature: Monitors Then the response status is 200 OK And the response "deleted_monitor_id" has the same value as "monitor.id" - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Edit a monitor returns "Bad Request" response Given new "UpdateMonitor" request And request contains "monitor_id" parameter from "REPLACE.ME" @@ -168,7 +168,7 @@ Feature: Monitors When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Edit a monitor returns "Monitor Not Found error" response Given new "UpdateMonitor" request And request contains "monitor_id" parameter with value 0 @@ -176,7 +176,7 @@ Feature: Monitors When the request is sent Then the response status is 404 Monitor Not Found error - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Edit a monitor returns "OK" response Given there is a valid "monitor" in the system And new "UpdateMonitor" request @@ -187,21 +187,21 @@ Feature: Monitors And the response "name" is equal to "{{ monitor.name }}-updated" And the response "priority" is equal to null - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a monitor's details returns "Bad Request" response Given new "GetMonitor" request And request contains "monitor_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a monitor's details returns "Monitor Not Found error" response Given new "GetMonitor" request And request contains "monitor_id" parameter with value 12345 When the request is sent Then the response status is 404 Monitor Not Found error - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a monitor's details returns "OK" response Given there is a valid "monitor" in the system And new "GetMonitor" request @@ -211,7 +211,7 @@ Feature: Monitors Then the response status is 200 OK And the response "id" has the same value as "monitor.id" - @replay-only @team:DataDog/monitor-app + @replay-only @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a monitor's details with downtime returns "OK" response Given there is a valid "monitor" in the system And there is a valid "downtime" for a "monitor" in the system @@ -224,7 +224,7 @@ Feature: Monitors And the response "matching_downtimes" has length 1 And the response "matching_downtimes[0].id" has the same value as "downtime_monitor.id" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a synthetics monitor's details Given there is a valid "synthetics_api_test" in the system And new "GetMonitor" request @@ -233,20 +233,20 @@ Feature: Monitors Then the response status is 200 OK And the response "options.synthetics_check_id" has the same value as "synthetics_api_test.public_id" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get all monitors returns "Bad Request" response Given new "ListMonitors" request And request contains "group_states" parameter with value "notagroupstate" When the request is sent Then the response status is 400 Bad Request - @integration-only @team:DataDog/monitor-app + @integration-only @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get all monitors returns "OK" response Given new "ListMonitors" request When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/monitor-app @with-pagination + @replay-only @skip-validation @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all monitors returns "OK" response with pagination Given new "ListMonitors" request And request contains "page_size" parameter with value 2 @@ -254,7 +254,7 @@ Feature: Monitors Then the response status is 200 OK And the response has 3 items - @skip @team:DataDog/monitor-app + @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get all monitors with tags Given there is a valid "monitor" in the system And new "ListMonitors" request @@ -264,56 +264,56 @@ Feature: Monitors Then the response status is 200 OK And the response "[0].id" has the same value as "monitor.id" - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Monitors group search returns "Bad Request" response Given new "SearchMonitorGroups" request And request contains "query" parameter with value "status:notastatus" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Monitors group search returns "OK" response Given new "SearchMonitorGroups" request When the request is sent Then the response status is 200 OK And the response "metadata.page" is equal to 0 - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Monitors search returns "Bad Request" response Given new "SearchMonitors" request And request contains "query" parameter with value "status:notastatus" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Monitors search returns "OK" response Given new "SearchMonitors" request When the request is sent Then the response status is 200 OK And the response "metadata.page" is equal to 0 - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Validate a monitor returns "Invalid JSON" response Given new "ValidateMonitor" request And body with value {"type": "log alert", "query": "query"} When the request is sent Then the response status is 400 Invalid JSON - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Validate a monitor returns "OK" response Given new "ValidateMonitor" request And body from file "monitor_payload.json" When the request is sent Then the response status is 200 OK - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Validate a multi-alert monitor returns "OK" response Given new "ValidateMonitor" request And body from file "multi_alert_monitor_payload.json" When the request is sent Then the response status is 200 OK - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Validate an existing monitor returns "Invalid JSON" response Given there is a valid "monitor" in the system And new "ValidateExistingMonitor" request @@ -322,14 +322,14 @@ Feature: Monitors When the request is sent Then the response status is 400 Invalid JSON - @skip @team:DataDog/monitor-app + @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Validate an existing monitor returns "Item not found error" response Given new "ValidateExistingMonitor" request And request contains "monitor_id" parameter with value 0 When the request is sent Then the response status is 404 Item not found error - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Validate an existing monitor returns "OK" response Given there is a valid "monitor" in the system And new "ValidateExistingMonitor" request diff --git a/features/v1/notebooks.feature b/features/v1/notebooks.feature index 2788eb421e5c..7de86d6e1550 100644 --- a/features/v1/notebooks.feature +++ b/features/v1/notebooks.feature @@ -10,14 +10,14 @@ Feature: Notebooks And a valid "appKeyAuth" key in the system And an instance of "Notebooks" API - @generated @skip @team:DataDog/notebooks + @generated @skip @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Create a notebook returns "Bad Request" response Given new "CreateNotebook" request And body with value {"data": {"attributes": {"cells": [{"attributes": {"definition": {"text": "## Some test markdown\n\n```js\nvar x, y;\nx = 5;\ny = 6;\n```", "type": "markdown"}}, "type": "notebook_cells"}, {"attributes": {"definition": {"requests": [{"display_type": "line", "q": "avg:system.load.1{*}", "style": {"line_type": "solid", "line_width": "normal", "palette": "dog_classic"}}], "show_legend": true, "type": "timeseries", "yaxis": {"scale": "linear"}}, "graph_size": "m", "split_by": {"keys": [], "tags": []}, "time": null}, "type": "notebook_cells"}], "metadata": {"is_template": false, "take_snapshots": false, "type": "investigation"}, "name": "Example Notebook", "status": "published", "time": {"live_span": "1h"}}, "type": "notebooks"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/notebooks + @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Create a notebook returns "OK" response Given new "CreateNotebook" request And body with value {"data": {"attributes": {"cells": [{"attributes": {"definition": {"text": "## Some test markdown\n\n```js\nvar x, y;\nx = 5;\ny = 6;\n```", "type": "markdown"}}, "type": "notebook_cells"}, {"attributes": {"definition": {"requests": [{"display_type": "line", "q": "avg:system.load.1{*}", "style": {"line_type": "solid", "line_width": "normal", "palette": "dog_classic"}}], "show_legend": true, "type": "timeseries", "yaxis": {"scale": "linear"}}, "graph_size": "m", "split_by": {"keys": [], "tags": []}, "time": null}, "type": "notebook_cells"}], "name": "{{ unique }}", "status": "published", "time": {"live_span": "1h"}}, "type": "notebooks"}} @@ -27,21 +27,21 @@ Feature: Notebooks And the response "data.attributes.name" is equal to "{{ unique }}" And the response "data.attributes.cells[0].attributes.definition.text" is equal to "## Some test markdown\n\n```js\nvar x, y;\nx = 5;\ny = 6;\n```" - @skip @team:DataDog/notebooks + @skip @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Delete a notebook returns "Bad Request" response Given new "DeleteNotebook" request And request contains "notebook_id" parameter with value "ThisIsntANotebookId" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/notebooks + @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Delete a notebook returns "Not Found" response Given new "DeleteNotebook" request And request contains "notebook_id" parameter with value 123456 When the request is sent Then the response status is 404 Not Found - @team:DataDog/notebooks + @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Delete a notebook returns "OK" response Given new "DeleteNotebook" request And there is a valid "notebook" in the system @@ -49,21 +49,21 @@ Feature: Notebooks When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/notebooks + @generated @skip @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Get a notebook returns "Bad Request" response Given new "GetNotebook" request And request contains "notebook_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/notebooks + @generated @skip @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Get a notebook returns "Not Found" response Given new "GetNotebook" request And request contains "notebook_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/notebooks + @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Get a notebook returns "OK" response Given new "GetNotebook" request And there is a valid "notebook" in the system @@ -73,20 +73,20 @@ Feature: Notebooks And the response "data.attributes.name" has the same value as "notebook.data.attributes.name" And the response "data.attributes.cells[0].attributes.definition.type" has the same value as "notebook.data.attributes.cells[0].attributes.definition.type" - @generated @skip @team:DataDog/notebooks + @generated @skip @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Get all notebooks returns "Bad Request" response Given new "ListNotebooks" request When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:DataDog/notebooks + @skip-validation @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Get all notebooks returns "OK" response Given new "ListNotebooks" request When the request is sent Then the response status is 200 OK And the response "data" has item with field "attributes.status" with value "published" - @replay-only @skip-validation @team:DataDog/notebooks @with-pagination + @replay-only @skip-validation @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all notebooks returns "OK" response with pagination Given new "ListNotebooks" request And request contains "count" parameter with value 2 @@ -94,7 +94,7 @@ Feature: Notebooks Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/notebooks + @generated @skip @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Update a notebook returns "Bad Request" response Given new "UpdateNotebook" request And request contains "notebook_id" parameter from "REPLACE.ME" @@ -102,7 +102,7 @@ Feature: Notebooks When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/notebooks + @generated @skip @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Update a notebook returns "Conflict" response Given new "UpdateNotebook" request And request contains "notebook_id" parameter from "REPLACE.ME" @@ -110,7 +110,7 @@ Feature: Notebooks When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/notebooks + @generated @skip @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Update a notebook returns "Not Found" response Given new "UpdateNotebook" request And request contains "notebook_id" parameter from "REPLACE.ME" @@ -118,7 +118,7 @@ Feature: Notebooks When the request is sent Then the response status is 404 Not Found - @team:DataDog/notebooks + @team:DataDog/notebooks @team:DataDog/web-frameworks-approvers Scenario: Update a notebook returns "OK" response Given new "UpdateNotebook" request And there is a valid "notebook" in the system diff --git a/features/v1/organizations.feature b/features/v1/organizations.feature index d9d89aa89d9d..344e178ebddf 100644 --- a/features/v1/organizations.feature +++ b/features/v1/organizations.feature @@ -8,55 +8,55 @@ Feature: Organizations And a valid "appKeyAuth" key in the system And an instance of "Organizations" API - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create a child organization returns "Bad Request" response Given new "CreateChildOrg" request And body with value {"billing": {"type": "parent_billing"}, "name": "New child org", "subscription": {"type": "pro"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create a child organization returns "OK" response Given new "CreateChildOrg" request And body with value {"billing": {"type": "parent_billing"}, "name": "New child org", "subscription": {"type": "pro"}} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get organization information returns "Bad Request" response Given new "GetOrg" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get organization information returns "OK" response Given new "GetOrg" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: List your managed organizations returns "OK" response Given new "ListOrgs" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Spin-off Child Organization returns "Bad Request" response Given new "DowngradeOrg" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Spin-off Child Organization returns "OK" response Given new "DowngradeOrg" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update your organization returns "Bad Request" response Given new "UpdateOrg" request And request contains "public_id" parameter from "REPLACE.ME" @@ -64,7 +64,7 @@ Feature: Organizations When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update your organization returns "OK" response Given new "UpdateOrg" request And request contains "public_id" parameter from "REPLACE.ME" @@ -72,7 +72,7 @@ Feature: Organizations When the request is sent Then the response status is 200 OK - @skip @team:DataDog/team-aaa-identity + @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Upload IdP metadata returns "Bad Request" response Given new "UploadIdPForOrg" request And request contains "public_id" parameter from "REPLACE.ME" @@ -80,7 +80,7 @@ Feature: Organizations When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/team-aaa-identity + @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Upload IdP metadata returns "OK" response Given new "UploadIdPForOrg" request And request contains "public_id" parameter from "REPLACE.ME" @@ -88,7 +88,7 @@ Feature: Organizations When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Upload IdP metadata returns "Unsupported Media Type" response Given new "UploadIdPForOrg" request And request contains "public_id" parameter from "REPLACE.ME" diff --git a/features/v1/pagerduty_integration.feature b/features/v1/pagerduty_integration.feature index c0adea375a8c..3f8f595cfc57 100644 --- a/features/v1/pagerduty_integration.feature +++ b/features/v1/pagerduty_integration.feature @@ -9,49 +9,49 @@ Feature: PagerDuty Integration And a valid "appKeyAuth" key in the system And an instance of "PagerDutyIntegration" API - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new service object returns "Bad Request" response Given new "CreatePagerDutyIntegrationService" request And body with value {"service_key": "", "service_name": ""} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new service object returns "OK" response Given new "CreatePagerDutyIntegrationService" request And body with value {"service_key": "", "service_name": ""} When the request is sent Then the response status is 201 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete a single service object returns "Item Not Found" response Given new "DeletePagerDutyIntegrationService" request And request contains "service_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Item Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete a single service object returns "No Content" response Given new "DeletePagerDutyIntegrationService" request And request contains "service_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get a single service object returns "Item Not Found" response Given new "GetPagerDutyIntegrationService" request And request contains "service_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Item Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get a single service object returns "OK" response Given new "GetPagerDutyIntegrationService" request And request contains "service_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update a single service object returns "Bad Request" response Given new "UpdatePagerDutyIntegrationService" request And request contains "service_name" parameter from "REPLACE.ME" @@ -59,7 +59,7 @@ Feature: PagerDuty Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update a single service object returns "Item Not Found" response Given new "UpdatePagerDutyIntegrationService" request And request contains "service_name" parameter from "REPLACE.ME" @@ -67,7 +67,7 @@ Feature: PagerDuty Integration When the request is sent Then the response status is 404 Item Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update a single service object returns "OK" response Given new "UpdatePagerDutyIntegrationService" request And request contains "service_name" parameter from "REPLACE.ME" diff --git a/features/v1/security_monitoring.feature b/features/v1/security_monitoring.feature index 4d4904e937eb..b78d11ef3371 100644 --- a/features/v1/security_monitoring.feature +++ b/features/v1/security_monitoring.feature @@ -9,7 +9,7 @@ Feature: Security Monitoring And a valid "appKeyAuth" key in the system And an instance of "SecurityMonitoring" API - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Add a security signal to an incident returns "Bad Request" response Given new "AddSecurityMonitoringSignalToIncident" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -17,7 +17,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Add a security signal to an incident returns "Not Found" response Given new "AddSecurityMonitoringSignalToIncident" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -25,7 +25,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/k9-cloud-security-platform + @replay-only @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Add a security signal to an incident returns "OK" response Given new "AddSecurityMonitoringSignalToIncident" request And request contains "signal_id" parameter with value "AQAAAYDiB_Ol8PbzFAAAAABBWURpQl9PbEFBQU0yeXhGTG9ZV2JnQUE" @@ -34,7 +34,7 @@ Feature: Security Monitoring Then the response status is 200 OK And the response "status" is equal to "done" - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Change the triage state of a security signal returns "Bad Request" response Given new "EditSecurityMonitoringSignalState" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -42,7 +42,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Change the triage state of a security signal returns "Not Found" response Given new "EditSecurityMonitoringSignalState" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -50,7 +50,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/k9-cloud-security-platform + @replay-only @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Change the triage state of a security signal returns "OK" response Given new "EditSecurityMonitoringSignalState" request And request contains "signal_id" parameter with value "AQAAAYDiB_Ol8PbzFAAAAABBWURpQl9PbEFBQU0yeXhGTG9ZV2JnQUE" @@ -59,7 +59,7 @@ Feature: Security Monitoring Then the response status is 200 OK And the response "status" is equal to "done" - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Modify the triage assignee of a security signal returns "Bad Request" response Given new "EditSecurityMonitoringSignalAssignee" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -67,7 +67,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Modify the triage assignee of a security signal returns "Not Found" response Given new "EditSecurityMonitoringSignalAssignee" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -75,7 +75,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/k9-cloud-security-platform + @replay-only @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Modify the triage assignee of a security signal returns "OK" response Given new "EditSecurityMonitoringSignalAssignee" request And request contains "signal_id" parameter with value "AQAAAYDiB_Ol8PbzFAAAAABBWURpQl9PbEFBQU0yeXhGTG9ZV2JnQUE" diff --git a/features/v1/service_checks.feature b/features/v1/service_checks.feature index 5ed435e4cb7d..a061279a9d35 100644 --- a/features/v1/service_checks.feature +++ b/features/v1/service_checks.feature @@ -20,25 +20,25 @@ Feature: Service Checks And an instance of "ServiceChecks" API And new "SubmitServiceCheck" request - @generated @skip @team:DataDog/monitors-evaluation + @generated @skip @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Submit a Service Check returns "Bad Request" response Given body with value [{"check": "app.ok", "host_name": "app.host1", "message": "app is running", "status": 0, "tags": ["environment:test"]}] When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:DataDog/monitors-evaluation + @skip-validation @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Submit a Service Check returns "Payload accepted" response Given body with value [{"check": "app.ok", "host_name": "host", "status": 0, "tags": ["test:{{ unique_alnum }}"]}] When the request is sent Then the response status is 202 Payload accepted - @generated @skip @team:DataDog/monitors-evaluation + @generated @skip @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Submit a Service Check returns "Payload too large" response Given body with value [{"check": "app.ok", "host_name": "app.host1", "message": "app is running", "status": 0, "tags": ["environment:test"]}] When the request is sent Then the response status is 413 Payload too large - @generated @skip @team:DataDog/monitors-evaluation + @generated @skip @team:DataDog/monitors-evaluation @team:DataDog/web-frameworks-approvers Scenario: Submit a Service Check returns "Request timeout" response Given body with value [{"check": "app.ok", "host_name": "app.host1", "message": "app is running", "status": 0, "tags": ["environment:test"]}] When the request is sent diff --git a/features/v1/service_level_objective_corrections.feature b/features/v1/service_level_objective_corrections.feature index d301d8e6764f..94e0959ca91f 100644 --- a/features/v1/service_level_objective_corrections.feature +++ b/features/v1/service_level_objective_corrections.feature @@ -13,7 +13,7 @@ Feature: Service Level Objective Corrections And a valid "appKeyAuth" key in the system And an instance of "ServiceLevelObjectiveCorrections" API - @skip @team:DataDog/slo-app + @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Create an SLO correction returns "Bad Request" response Given there is a valid "slo" in the system And new "CreateSLOCorrection" request @@ -21,7 +21,7 @@ Feature: Service Level Objective Corrections When the request is sent Then the response status is 400 Bad Request - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Create an SLO correction returns "OK" response Given there is a valid "slo" in the system And new "CreateSLOCorrection" request @@ -32,14 +32,14 @@ Feature: Service Level Objective Corrections And the response "data.attributes.category" is equal to "Scheduled Maintenance" And the response "data.attributes.slo_id" has the same value as "slo.data[0].id" - @skip @team:DataDog/slo-app + @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Create an SLO correction returns "SLO Not Found" response Given new "CreateSLOCorrection" request And body with value {"data": {"attributes": {"category": "Scheduled Maintenance", "description": "{{ unique }}", "end": {{ timestamp("now + 1h") }}, "slo_id": "sloId", "start": {{ timestamp("now") }}, "timezone": "UTC"}, "type": "correction"}} When the request is sent Then the response status is 404 SLO Not Found - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Create an SLO correction with rrule returns "OK" response Given there is a valid "slo" in the system And new "CreateSLOCorrection" request @@ -49,21 +49,21 @@ Feature: Service Level Objective Corrections And the response "data.type" is equal to "correction" And the response "data.attributes.rrule" is equal to "FREQ=DAILY;INTERVAL=10;COUNT=5" - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Delete an SLO correction returns "Not found" response Given new "DeleteSLOCorrection" request And request contains "slo_correction_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Delete an SLO correction returns "OK" response Given new "DeleteSLOCorrection" request And request contains "slo_correction_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get all SLO corrections returns "OK" response Given there is a valid "slo" in the system And there is a valid "correction" for "slo" @@ -74,7 +74,7 @@ Feature: Service Level Objective Corrections Then the response status is 200 OK And the response "data" has length 1 - @replay-only @skip-validation @team:DataDog/slo-app @with-pagination + @replay-only @skip-validation @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all SLO corrections returns "OK" response with pagination Given new "ListSLOCorrection" request And request contains "limit" parameter with value 2 @@ -82,14 +82,14 @@ Feature: Service Level Objective Corrections Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get an SLO correction for an SLO returns "Bad Request" response Given new "GetSLOCorrection" request And request contains "slo_correction_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get an SLO correction for an SLO returns "OK" response Given there is a valid "slo" in the system And there is a valid "correction" for "slo" @@ -100,7 +100,7 @@ Feature: Service Level Objective Corrections And the response "data.type" has the same value as "correction.data.type" And the response "data.attributes.category" has the same value as "correction.data.attributes.category" - @skip @team:DataDog/slo-app + @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Update an SLO correction returns "Bad Request" response Given there is a valid "slo" in the system And there is a valid "correction" for "slo" @@ -110,7 +110,7 @@ Feature: Service Level Objective Corrections When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Update an SLO correction returns "Not Found" response Given new "UpdateSLOCorrection" request And request contains "slo_correction_id" parameter from "REPLACE.ME" @@ -118,7 +118,7 @@ Feature: Service Level Objective Corrections When the request is sent Then the response status is 404 Not Found - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Update an SLO correction returns "OK" response Given there is a valid "slo" in the system And there is a valid "correction" for "slo" diff --git a/features/v1/service_level_objectives.feature b/features/v1/service_level_objectives.feature index c5534618a73e..67188d42d0f2 100644 --- a/features/v1/service_level_objectives.feature +++ b/features/v1/service_level_objectives.feature @@ -13,42 +13,42 @@ Feature: Service Level Objectives And a valid "appKeyAuth" key in the system And an instance of "ServiceLevelObjectives" API - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Bulk Delete SLO Timeframes returns "Bad Request" response Given new "DeleteSLOTimeframeInBulk" request And body with value {"id1": ["7d", "30d"], "id2": ["7d", "30d"]} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Bulk Delete SLO Timeframes returns "OK" response Given new "DeleteSLOTimeframeInBulk" request And body with value {"id1": ["7d", "30d"], "id2": ["7d", "30d"]} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Check if SLOs can be safely deleted returns "Bad Request" response Given new "CheckCanDeleteSLO" request And request contains "ids" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Check if SLOs can be safely deleted returns "Conflict" response Given new "CheckCanDeleteSLO" request And request contains "ids" parameter from "REPLACE.ME" When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Check if SLOs can be safely deleted returns "OK" response Given new "CheckCanDeleteSLO" request And request contains "ids" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Create a time-slice SLO object returns "OK" response Given new "CreateSLO" request And body with value {"type":"time_slice","description":"string","name":"{{ unique }}","sli_specification":{"time_slice":{"query":{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"metrics","name":"query1","query":"trace.servlet.request{env:prod}"}]},"comparator":">","threshold":5}},"tags":["env:prod"],"thresholds":[{"target":97.0,"target_display":"97.0","timeframe":"7d","warning":98,"warning_display":"98.0"}],"timeframe":"7d","target_threshold":97.0,"warning_threshold":98} @@ -58,14 +58,14 @@ Feature: Service Level Objectives And the response "data[0].target_threshold" is equal to 97.0 And the response "data[0].warning_threshold" is equal to 98.0 - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Create an SLO object returns "Bad Request" response Given new "CreateSLO" request And body with value {"type":"monitor","name":"{{ unique }}","thresholds":[{"target":95.0,"target_display":"95.0","timeframe":"7d","warning":98,"warning_display":"98.0"}]} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Create an SLO object returns "OK" response Given new "CreateSLO" request And body with value {"type":"metric","description":"string","groups":["env:test","role:mysql"],"monitor_ids":[],"name":"{{ unique }}","query":{"denominator":"sum:httpservice.hits{!code:3xx}.as_count()","numerator":"sum:httpservice.hits{code:2xx}.as_count()"},"tags":["env:prod","app:core"],"thresholds":[{"target":97.0,"target_display":"97.0","timeframe":"7d","warning":98,"warning_display":"98.0"}],"timeframe":"7d","target_threshold":97.0,"warning_threshold":98} @@ -75,21 +75,21 @@ Feature: Service Level Objectives And the response "data[0].target_threshold" is equal to 97.0 And the response "data[0].warning_threshold" is equal to 98.0 - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Delete an SLO returns "Conflict" response Given new "DeleteSLO" request And request contains "slo_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 409 Conflict - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Delete an SLO returns "Not found" response Given new "DeleteSLO" request And request contains "slo_id" parameter with value "{{ unique_lower_alnum }}" When the request is sent Then the response status is 404 Not found - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Delete an SLO returns "OK" response Given there is a valid "slo" in the system And new "DeleteSLO" request @@ -98,21 +98,21 @@ Feature: Service Level Objectives Then the response status is 200 OK And the response "data[0]" has the same value as "slo.data[0].id" - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get Corrections For an SLO returns "Bad Request" response Given new "GetSLOCorrections" request And request contains "slo_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get Corrections For an SLO returns "Not Found" response Given new "GetSLOCorrections" request And request contains "slo_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get Corrections For an SLO returns "OK" response Given there is a valid "slo" in the system And there is a valid "correction" for "slo" @@ -122,19 +122,19 @@ Feature: Service Level Objectives Then the response status is 200 OK And the response "data" has length 1 - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get all SLOs returns "Bad Request" response Given new "ListSLOs" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get all SLOs returns "Not Found" response Given new "ListSLOs" request When the request is sent Then the response status is 404 Not Found - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get all SLOs returns "OK" response Given there is a valid "slo" in the system And new "ListSLOs" request @@ -144,7 +144,7 @@ Feature: Service Level Objectives And the response "data" has length 1 And the response "data[0].id" has the same value as "slo.data[0].id" - @replay-only @skip-validation @team:DataDog/slo-app @with-pagination + @replay-only @skip-validation @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all SLOs returns "OK" response with pagination Given new "ListSLOs" request And request contains "limit" parameter with value 2 @@ -152,14 +152,14 @@ Feature: Service Level Objectives Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get an SLO's details returns "Not found" response Given new "GetSLO" request And request contains "slo_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get an SLO's details returns "OK" response Given there is a valid "slo" in the system And new "GetSLO" request @@ -168,7 +168,7 @@ Feature: Service Level Objectives Then the response status is 200 OK And the response "data.type" is equal to "metric" - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get an SLO's history returns "Bad Request" response Given new "GetSLOHistory" request And request contains "slo_id" parameter from "REPLACE.ME" @@ -177,7 +177,7 @@ Feature: Service Level Objectives When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get an SLO's history returns "Not Found" response Given new "GetSLOHistory" request And request contains "slo_id" parameter from "REPLACE.ME" @@ -186,7 +186,7 @@ Feature: Service Level Objectives When the request is sent Then the response status is 404 Not Found - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get an SLO's history returns "OK" response Given there is a valid "slo" in the system And new "GetSLOHistory" request @@ -197,13 +197,13 @@ Feature: Service Level Objectives Then the response status is 200 OK And the response "data.series.res_type" is equal to "time_series" - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Search for SLOs returns "Bad Request" response Given new "SearchSLO" request When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/slo-app + @replay-only @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Search for SLOs returns "OK" response Given there is a valid "slo" in the system And new "SearchSLO" request @@ -217,7 +217,7 @@ Feature: Service Level Objectives And the response "data.attributes.slos[0].data.attributes.overall_status[0].status" is equal to null And the response "data.attributes.slos[0].data.attributes.status.state" is equal to "no_data" - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Update an SLO returns "Bad Request" response Given new "UpdateSLO" request And there is a valid "slo" in the system @@ -226,7 +226,7 @@ Feature: Service Level Objectives When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/slo-app + @generated @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Update an SLO returns "Not Found" response Given new "UpdateSLO" request And request contains "slo_id" parameter from "REPLACE.ME" @@ -234,7 +234,7 @@ Feature: Service Level Objectives When the request is sent Then the response status is 404 Not Found - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Update an SLO returns "OK" response Given there is a valid "slo" in the system And new "UpdateSLO" request diff --git a/features/v1/slack_integration.feature b/features/v1/slack_integration.feature index fb23f6bd737a..ac3e25e0002f 100644 --- a/features/v1/slack_integration.feature +++ b/features/v1/slack_integration.feature @@ -9,7 +9,7 @@ Feature: Slack Integration And a valid "appKeyAuth" key in the system And an instance of "SlackIntegration" API - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a Slack integration channel returns "Bad Request" response Given new "CreateSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -17,7 +17,7 @@ Feature: Slack Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a Slack integration channel returns "Item Not Found" response Given new "CreateSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -25,7 +25,7 @@ Feature: Slack Integration When the request is sent Then the response status is 404 Item Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a Slack integration channel returns "OK" response Given new "CreateSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -33,7 +33,7 @@ Feature: Slack Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get a Slack integration channel returns "Bad Request" response Given new "GetSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -41,7 +41,7 @@ Feature: Slack Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get a Slack integration channel returns "Item Not Found" response Given new "GetSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -49,7 +49,7 @@ Feature: Slack Integration When the request is sent Then the response status is 404 Item Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get a Slack integration channel returns "OK" response Given new "GetSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -57,28 +57,28 @@ Feature: Slack Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all channels in a Slack integration returns "Bad Request" response Given new "GetSlackIntegrationChannels" request And request contains "account_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all channels in a Slack integration returns "Item Not Found" response Given new "GetSlackIntegrationChannels" request And request contains "account_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Item Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all channels in a Slack integration returns "OK" response Given new "GetSlackIntegrationChannels" request And request contains "account_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Remove a Slack integration channel returns "Bad Request" response Given new "RemoveSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -86,7 +86,7 @@ Feature: Slack Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Remove a Slack integration channel returns "Item Not Found" response Given new "RemoveSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -94,7 +94,7 @@ Feature: Slack Integration When the request is sent Then the response status is 404 Item Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Remove a Slack integration channel returns "The channel was removed successfully." response Given new "RemoveSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -102,7 +102,7 @@ Feature: Slack Integration When the request is sent Then the response status is 204 The channel was removed successfully. - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update a Slack integration channel returns "Bad Request" response Given new "UpdateSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -111,7 +111,7 @@ Feature: Slack Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update a Slack integration channel returns "Item Not Found" response Given new "UpdateSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" @@ -120,7 +120,7 @@ Feature: Slack Integration When the request is sent Then the response status is 404 Item Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update a Slack integration channel returns "OK" response Given new "UpdateSlackIntegrationChannel" request And request contains "account_name" parameter from "REPLACE.ME" diff --git a/features/v1/snapshots.feature b/features/v1/snapshots.feature index 9e86ed6bb075..7c48fb8bac53 100644 --- a/features/v1/snapshots.feature +++ b/features/v1/snapshots.feature @@ -8,14 +8,14 @@ Feature: Snapshots And an instance of "Snapshots" API And new "GetGraphSnapshot" request - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Take graph snapshots returns "Bad Request" response Given request contains "start" parameter from "REPLACE.ME" And request contains "end" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @integration-only @team:DataDog/monitor-app + @integration-only @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Take graph snapshots returns "OK" response Given request contains "start" parameter with value {{ timestamp("now - 1d") }} And request contains "end" parameter with value {{ timestamp("now") }} diff --git a/features/v1/synthetics.feature b/features/v1/synthetics.feature index c6962b4dbab5..d071fc189ddf 100644 --- a/features/v1/synthetics.feature +++ b/features/v1/synthetics.feature @@ -15,7 +15,7 @@ Feature: Synthetics And a valid "appKeyAuth" key in the system And an instance of "Synthetics" API - @replay-only @skip-validation @team:DataDog/synthetics-ct + @replay-only @skip-validation @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Client is resilient to enum and oneOf deserialization errors Given new "ListTests" request When the request is sent @@ -31,7 +31,7 @@ Feature: Synthetics And the response "tests[3].type" is equal to "A non existent test type" And the response "tests[4].config.request.method" is equal to "A non existent method" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a FIDO global variable returns "OK" response Given there is a valid "synthetics_api_test_multi_step" in the system And new "CreateGlobalVariable" request @@ -40,7 +40,7 @@ Feature: Synthetics Then the response status is 200 OK And the response "name" is equal to "GLOBAL_VARIABLE_FIDO_PAYLOAD_{{ unique_upper_alnum }}" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a TOTP global variable returns "OK" response Given there is a valid "synthetics_api_test_multi_step" in the system And new "CreateGlobalVariable" request @@ -49,14 +49,14 @@ Feature: Synthetics Then the response status is 200 OK And the response "name" is equal to "GLOBAL_VARIABLE_TOTP_PAYLOAD_{{ unique_upper_alnum }}" - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a browser test returns "- JSON format is wrong" response Given new "CreateSyntheticsBrowserTest" request And body with value {"config": {"assertions": [], "configVariables": [{"name": "VARIABLE_NAME", "secure": false, "type": "text"}], "request": {"basicAuth": {"password": "PaSSw0RD!", "type": "web", "username": "my_username"}, "bodyType": "text/plain", "callType": "unary", "certificate": {"cert": {}, "key": {}}, "certificateDomains": [], "files": [{}], "httpVersion": "http1", "proxy": {"url": "https://example.com"}, "service": "Greeter", "url": "https://example.com"}, "variables": [{"name": "VARIABLE_NAME", "type": "text"}]}, "locations": ["aws:eu-west-3"], "message": "", "name": "Example test name", "options": {"ci": {"executionRule": "blocking"}, "device_ids": ["chrome.laptop_large"], "httpVersion": "http1", "monitor_options": {"notification_preset_name": "show_all"}, "restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], "retry": {}, "rumSettings": {"applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "clientTokenId": 12345, "isEnabled": true}, "scheduling": {"timeframes": [{"day": 1, "from": "07:00", "to": "16:00"}, {"day": 3, "from": "07:00", "to": "16:00"}], "timezone": "America/New_York"}}, "status": "live", "steps": [{"type": "assertElementContent"}], "tags": ["env:prod"], "type": "browser"} When the request is sent Then the response status is 400 - JSON format is wrong - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a browser test returns "OK - Returns saved rumSettings." response Given new "CreateSyntheticsBrowserTest" request And body from file "synthetics_browser_test_payload_with_rum_settings.json" @@ -67,7 +67,7 @@ Feature: Synthetics And the response "options.rumSettings.clientTokenId" is equal to 12345 And the response "steps[0]" has field "public_id" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a browser test returns "OK - Returns the created test details." response Given new "CreateSyntheticsBrowserTest" request And body from file "synthetics_browser_test_payload.json" @@ -79,14 +79,14 @@ Feature: Synthetics And the response "steps[0].alwaysExecute" is equal to true And the response "steps[0].exitIfSucceed" is equal to true - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a browser test returns "Test quota is reached" response Given new "CreateSyntheticsBrowserTest" request And body with value {"config": {"assertions": [], "configVariables": [{"name": "VARIABLE_NAME", "secure": false, "type": "text"}], "request": {"basicAuth": {"password": "PaSSw0RD!", "type": "web", "username": "my_username"}, "bodyType": "text/plain", "callType": "unary", "certificate": {"cert": {}, "key": {}}, "certificateDomains": [], "files": [{}], "httpVersion": "http1", "proxy": {"url": "https://example.com"}, "service": "Greeter", "url": "https://example.com"}, "variables": [{"name": "VARIABLE_NAME", "type": "text"}]}, "locations": ["aws:eu-west-3"], "message": "", "name": "Example test name", "options": {"ci": {"executionRule": "blocking"}, "device_ids": ["chrome.laptop_large"], "httpVersion": "http1", "monitor_options": {"notification_preset_name": "show_all"}, "restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], "retry": {}, "rumSettings": {"applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "clientTokenId": 12345, "isEnabled": true}, "scheduling": {"timeframes": [{"day": 1, "from": "07:00", "to": "16:00"}, {"day": 3, "from": "07:00", "to": "16:00"}], "timezone": "America/New_York"}}, "status": "live", "steps": [{"type": "assertElementContent"}], "tags": ["env:prod"], "type": "browser"} When the request is sent Then the response status is 402 Test quota is reached - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a browser test with advanced scheduling options returns "OK - Returns the created test details." response Given new "CreateSyntheticsBrowserTest" request And body from file "synthetics_browser_test_payload_with_advanced_scheduling.json" @@ -98,7 +98,7 @@ Feature: Synthetics And the response "options.scheduling.timeframes[1].to" is equal to "16:00" And the response "options.scheduling.timezone" is equal to "America/New_York" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a global variable from test returns "OK" response Given there is a valid "synthetics_api_test_multi_step" in the system And new "CreateGlobalVariable" request @@ -107,35 +107,35 @@ Feature: Synthetics Then the response status is 200 OK And the response "name" is equal to "GLOBAL_VARIABLE_FROM_TEST_PAYLOAD_{{ unique_upper_alnum }}" - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a global variable returns "Conflict" response Given new "CreateGlobalVariable" request And body with value {"attributes": {"restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]}, "description": "Example description", "name": "MY_VARIABLE", "parse_test_options": {"field": "content-type", "localVariableName": "LOCAL_VARIABLE", "parser": {"type": "regex", "value": ".*"}, "type": "http_body"}, "parse_test_public_id": "abc-def-123", "tags": ["team:front", "test:workflow-1"], "value": {"secure": true, "value": "value"}} When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a global variable returns "Invalid request" response Given new "CreateGlobalVariable" request And body with value {"attributes": {"restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]}, "description": "Example description", "name": "MY_VARIABLE", "parse_test_options": {"field": "content-type", "localVariableName": "LOCAL_VARIABLE", "parser": {"type": "regex", "value": ".*"}, "type": "http_body"}, "parse_test_public_id": "abc-def-123", "tags": ["team:front", "test:workflow-1"], "value": {"secure": true, "value": "value"}} When the request is sent Then the response status is 400 Invalid request - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a global variable returns "OK" response Given new "CreateGlobalVariable" request And body with value {"attributes": {"restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]}, "description": "Example description", "name": "MY_VARIABLE", "parse_test_options": {"field": "content-type", "localVariableName": "LOCAL_VARIABLE", "parser": {"type": "regex", "value": ".*"}, "type": "http_body"}, "parse_test_public_id": "abc-def-123", "tags": ["team:front", "test:workflow-1"], "value": {"secure": true, "value": "value"}} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a mobile test returns "- JSON format is wrong" response Given new "CreateSyntheticsMobileTest" request And body with value {"config": {"variables": [{"name": "VARIABLE_NAME", "secure": false, "type": "text"}]}, "device_ids": ["chrome.laptop_large"], "message": "Notification message", "name": "Example test name", "options": {"bindings": [{"principals": [], "relation": "editor"}], "ci": {"executionRule": "blocking"}, "device_ids": ["synthetics:mobile:device:apple_ipad_10th_gen_2022_ios_16"], "mobileApplication": {"applicationId": "00000000-0000-0000-0000-aaaaaaaaaaaa", "referenceId": "00000000-0000-0000-0000-aaaaaaaaaaab", "referenceType": "latest"}, "monitor_options": {"notification_preset_name": "show_all"}, "restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], "retry": {}, "scheduling": {"timeframes": [{"day": 1, "from": "07:00", "to": "16:00"}, {"day": 3, "from": "07:00", "to": "16:00"}], "timezone": "America/New_York"}, "tick_every": 300}, "status": "live", "steps": [{"name": "", "params": {"check": "equals", "direction": "up", "element": {"contextType": "native", "relativePosition": {}, "userLocator": {"values": [{"type": "accessibility-id"}]}}, "positions": [{}], "variable": {"example": "", "name": "VAR_NAME"}}, "publicId": "pub-lic-id0", "type": "assertElementContent"}], "tags": ["env:production"], "type": "mobile"} When the request is sent Then the response status is 400 - JSON format is wrong - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a mobile test returns "OK - Returns the created test details." response Given new "CreateSyntheticsMobileTest" request And body from file "synthetics_mobile_test_payload.json" @@ -147,14 +147,14 @@ Feature: Synthetics And the response "options.mobileApplication.referenceId" is equal to "6115922a-5f5d-455e-bc7e-7955a57f3815" And the response "options.mobileApplication.referenceType" is equal to "version" - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a mobile test returns "Test quota is reached" response Given new "CreateSyntheticsMobileTest" request And body with value {"config": {"variables": [{"name": "VARIABLE_NAME", "secure": false, "type": "text"}]}, "device_ids": ["chrome.laptop_large"], "message": "Notification message", "name": "Example test name", "options": {"bindings": [{"principals": [], "relation": "editor"}], "ci": {"executionRule": "blocking"}, "device_ids": ["synthetics:mobile:device:apple_ipad_10th_gen_2022_ios_16"], "mobileApplication": {"applicationId": "00000000-0000-0000-0000-aaaaaaaaaaaa", "referenceId": "00000000-0000-0000-0000-aaaaaaaaaaab", "referenceType": "latest"}, "monitor_options": {"notification_preset_name": "show_all"}, "restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], "retry": {}, "scheduling": {"timeframes": [{"day": 1, "from": "07:00", "to": "16:00"}, {"day": 3, "from": "07:00", "to": "16:00"}], "timezone": "America/New_York"}, "tick_every": 300}, "status": "live", "steps": [{"name": "", "params": {"check": "equals", "direction": "up", "element": {"contextType": "native", "relativePosition": {}, "userLocator": {"values": [{"type": "accessibility-id"}]}}, "positions": [{}], "variable": {"example": "", "name": "VAR_NAME"}}, "publicId": "pub-lic-id0", "type": "assertElementContent"}], "tags": ["env:production"], "type": "mobile"} When the request is sent Then the response status is 402 Test quota is reached - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a multi-step api test with every type of basicAuth returns "OK - Returns the created test details." response Given new "CreateSyntheticsAPITest" request And body from file "synthetics_api_test_multi_step_with_every_type_of_basic_auth.json" @@ -169,7 +169,7 @@ Feature: Synthetics And the response "config.steps[5].request.basicAuth.type" is equal to "oauth-client" And the response "config.steps[6].request.basicAuth.type" is equal to "oauth-rop" - @replay-only @team:DataDog/synthetics-ct + @replay-only @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a private location returns "OK" response Given there is a valid "role" in the system And new "CreatePrivateLocation" request @@ -179,21 +179,21 @@ Feature: Synthetics And the response "private_location.name" is equal to "{{ unique }}" And the response "private_location.metadata.restricted_roles[0]" has the same value as "role.data.id" - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a private location returns "Private locations are not activated for the user" response Given new "CreatePrivateLocation" request And body with value {"description": "Description of private location", "metadata": {"restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]}, "name": "New private location", "tags": ["team:front"]} When the request is sent Then the response status is 404 Private locations are not activated for the user - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create a private location returns "Quota reached for private locations" response Given new "CreatePrivateLocation" request And body with value {"description": "Description of private location", "metadata": {"restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]}, "name": "New private location", "tags": ["team:front"]} When the request is sent Then the response status is 402 Quota reached for private locations - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API GRPC test returns "OK - Returns the created test details." response Given new "CreateSyntheticsAPITest" request And body from file "synthetics_api_grpc_test_payload.json" @@ -201,7 +201,7 @@ Feature: Synthetics Then the response status is 200 OK - Returns the created test details. And the response "name" is equal to "{{ unique }}" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API HTTP test has bodyHash filled out Given new "CreateSyntheticsAPITest" request And body from file "synthetics_api_http_test_payload.json" @@ -211,7 +211,7 @@ Feature: Synthetics And the response "config.assertions[6].target" is equal to "a" And the response "config.assertions[6].type" is equal to "bodyHash" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API HTTP test returns "OK - Returns the created test details." response Given new "CreateSyntheticsAPITest" request And body from file "synthetics_api_http_test_payload.json" @@ -221,7 +221,7 @@ Feature: Synthetics And the response "config.assertions[7].type" is equal to "javascript" And the response "config.assertions[7].code" is equal to "const hello = 'world';" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API HTTP with oauth-rop test returns "OK - Returns the created test details." response Given new "CreateSyntheticsAPITest" request And body from file "synthetics_api_http_test_oauth_rop_payload.json" @@ -229,7 +229,7 @@ Feature: Synthetics Then the response status is 200 OK - Returns the created test details. And the response "name" is equal to "{{ unique }}" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API SSL test returns "OK - Returns the created test details." response Given new "CreateSyntheticsAPITest" request And body from file "synthetics_api_ssl_test_payload.json" @@ -237,28 +237,28 @@ Feature: Synthetics Then the response status is 200 OK - Returns the created test details. And the response "name" is equal to "{{ unique }}" - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API test returns "- JSON format is wrong" response Given new "CreateSyntheticsAPITest" request And body with value {"config": {"assertions": [{"operator": "lessThan", "target": 1000, "type": "responseTime"}], "request": {"method": "GET", "url": "https://example.com"}}, "locations": ["aws:eu-west-3"], "message": "Notification message", "name": "Example test name", "options": {"ci": {"executionRule": "blocking"}, "device_ids": ["chrome.laptop_large"], "httpVersion": "http1", "monitor_options": {"notification_preset_name": "show_all"}, "restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], "retry": {}, "rumSettings": {"applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "clientTokenId": 12345, "isEnabled": true}, "scheduling": {"timeframes": [{"day": 1, "from": "07:00", "to": "16:00"}, {"day": 3, "from": "07:00", "to": "16:00"}], "timezone": "America/New_York"}}, "status": "live", "subtype": "http", "tags": ["env:production"], "type": "api"} When the request is sent Then the response status is 400 - JSON format is wrong - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API test returns "OK - Returns the created test details." response Given new "CreateSyntheticsAPITest" request And body with value {"config": {"assertions": [{"operator": "lessThan", "target": 1000, "type": "responseTime"}], "request": {"method": "GET", "url": "https://example.com"}}, "locations": ["aws:eu-west-3"], "message": "Notification message", "name": "Example test name", "options": {"ci": {"executionRule": "blocking"}, "device_ids": ["chrome.laptop_large"], "httpVersion": "http1", "monitor_options": {"notification_preset_name": "show_all"}, "restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], "retry": {}, "rumSettings": {"applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "clientTokenId": 12345, "isEnabled": true}, "scheduling": {"timeframes": [{"day": 1, "from": "07:00", "to": "16:00"}, {"day": 3, "from": "07:00", "to": "16:00"}], "timezone": "America/New_York"}}, "status": "live", "subtype": "http", "tags": ["env:production"], "type": "api"} When the request is sent Then the response status is 200 OK - Returns the created test details. - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API test returns "Test quota is reached" response Given new "CreateSyntheticsAPITest" request And body with value {"config": {"assertions": [{"operator": "lessThan", "target": 1000, "type": "responseTime"}], "request": {"method": "GET", "url": "https://example.com"}}, "locations": ["aws:eu-west-3"], "message": "Notification message", "name": "Example test name", "options": {"ci": {"executionRule": "blocking"}, "device_ids": ["chrome.laptop_large"], "httpVersion": "http1", "monitor_options": {"notification_preset_name": "show_all"}, "restricted_roles": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], "retry": {}, "rumSettings": {"applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "clientTokenId": 12345, "isEnabled": true}, "scheduling": {"timeframes": [{"day": 1, "from": "07:00", "to": "16:00"}, {"day": 3, "from": "07:00", "to": "16:00"}], "timezone": "America/New_York"}}, "status": "live", "subtype": "http", "tags": ["env:production"], "type": "api"} When the request is sent Then the response status is 402 Test quota is reached - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API test with UDP subtype returns "OK - Returns the created test details." response Given new "CreateSyntheticsAPITest" request And body from file "synthetics_api_test_udp_payload.json" @@ -266,7 +266,7 @@ Feature: Synthetics Then the response status is 200 OK - Returns the created test details. And the response "name" is equal to "{{ unique }}" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API test with WEBSOCKET subtype returns "OK - Returns the created test details." response Given new "CreateSyntheticsAPITest" request And body from file "synthetics_api_test_websocket_payload.json" @@ -274,7 +274,7 @@ Feature: Synthetics Then the response status is 200 OK - Returns the created test details. And the response "name" is equal to "{{ unique }}" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API test with a file payload returns "OK - Returns the created test details." response Given new "CreateSyntheticsAPITest" request And body from file "synthetics_api_http_test_with_file_payload.json" @@ -286,7 +286,7 @@ Feature: Synthetics And the response "config.request.files[0].type" is equal to "file type" And the response "config.request.files[0]" has field "bucketKey" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Create an API test with multi subtype returns "OK - Returns the created test details." response Given new "CreateSyntheticsAPITest" request And body from file "synthetics_api_test_multi_step_payload.json" @@ -303,56 +303,56 @@ Feature: Synthetics And the response "config.steps[2].request.host" is equal to "grpcbin.test.k6.io" And the response "config.steps[2].request.host" is equal to "grpcbin.test.k6.io" - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Delete a global variable returns "JSON format is wrong" response Given new "DeleteGlobalVariable" request And request contains "variable_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 JSON format is wrong - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Delete a global variable returns "Not found" response Given new "DeleteGlobalVariable" request And request contains "variable_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Delete a global variable returns "OK" response Given new "DeleteGlobalVariable" request And request contains "variable_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Delete a private location returns "- Private locations are not activated for the user" response Given new "DeletePrivateLocation" request And request contains "location_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 - Private locations are not activated for the user - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Delete a private location returns "OK" response Given new "DeletePrivateLocation" request And request contains "location_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Delete tests returns "- JSON format is wrong" response Given new "DeleteTests" request And body with value {"force_delete_dependencies": false, "public_ids": []} When the request is sent Then the response status is 400 - JSON format is wrong - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Delete tests returns "- Tests to be deleted can't be found" response Given new "DeleteTests" request And body with value {"force_delete_dependencies": false, "public_ids": []} When the request is sent Then the response status is 404 - Tests to be deleted can't be found - @skip @team:DataDog/synthetics-ct + @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Delete tests returns "OK." response Given there is a valid "synthetics_api_test" in the system And new "DeleteTests" request @@ -361,7 +361,7 @@ Feature: Synthetics Then the response status is 200 OK. And the response "deleted_tests[0].public_id" is equal to "{{ synthetics_api_test.public_id }}" - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit a Mobile test returns "- JSON format is wrong" response Given new "UpdateMobileTest" request And request contains "public_id" parameter from "REPLACE.ME" @@ -369,7 +369,7 @@ Feature: Synthetics When the request is sent Then the response status is 400 - JSON format is wrong - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit a Mobile test returns "- Synthetic Monitoring is not activated for the user" response Given new "UpdateMobileTest" request And request contains "public_id" parameter from "REPLACE.ME" @@ -377,7 +377,7 @@ Feature: Synthetics When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit a Mobile test returns "OK" response Given there is a valid "synthetics_mobile_test" in the system And new "UpdateMobileTest" request @@ -391,7 +391,7 @@ Feature: Synthetics And the response "options.mobileApplication.referenceId" is equal to "6115922a-5f5d-455e-bc7e-7955a57f3815" And the response "options.mobileApplication.referenceType" is equal to "version" - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit a browser test returns "- JSON format is wrong" response Given new "UpdateBrowserTest" request And request contains "public_id" parameter from "REPLACE.ME" @@ -399,7 +399,7 @@ Feature: Synthetics When the request is sent Then the response status is 400 - JSON format is wrong - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit a browser test returns "- Synthetic Monitoring is not activated for the user" response Given new "UpdateBrowserTest" request And request contains "public_id" parameter from "REPLACE.ME" @@ -407,7 +407,7 @@ Feature: Synthetics When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit a browser test returns "OK" response Given new "UpdateBrowserTest" request And request contains "public_id" parameter from "REPLACE.ME" @@ -415,7 +415,7 @@ Feature: Synthetics When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit a global variable returns "Invalid request" response Given new "EditGlobalVariable" request And request contains "variable_id" parameter from "REPLACE.ME" @@ -423,7 +423,7 @@ Feature: Synthetics When the request is sent Then the response status is 400 Invalid request - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit a global variable returns "OK" response Given new "EditGlobalVariable" request And request contains "variable_id" parameter from "REPLACE.ME" @@ -431,7 +431,7 @@ Feature: Synthetics When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit a private location returns "- Private locations are not activated for the user" response Given new "UpdatePrivateLocation" request And request contains "location_id" parameter from "REPLACE.ME" @@ -439,7 +439,7 @@ Feature: Synthetics When the request is sent Then the response status is 404 - Private locations are not activated for the user - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit a private location returns "OK" response Given new "UpdatePrivateLocation" request And request contains "location_id" parameter from "REPLACE.ME" @@ -447,7 +447,7 @@ Feature: Synthetics When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit an API test returns "- JSON format is wrong" response Given new "UpdateAPITest" request And request contains "public_id" parameter from "REPLACE.ME" @@ -455,7 +455,7 @@ Feature: Synthetics When the request is sent Then the response status is 400 - JSON format is wrong - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit an API test returns "- Synthetic Monitoring is not activated for the user" response Given new "UpdateAPITest" request And request contains "public_id" parameter from "REPLACE.ME" @@ -463,7 +463,7 @@ Feature: Synthetics When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Edit an API test returns "OK" response Given there is a valid "synthetics_api_test" in the system And new "UpdateAPITest" request @@ -473,14 +473,14 @@ Feature: Synthetics Then the response status is 200 OK And the response "name" is equal to "{{ synthetics_api_test.name }}-updated" - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Fetch uptime for multiple tests returns "- JSON format is wrong" response Given new "FetchUptimes" request And body with value {"from_ts": 0, "public_ids": [], "to_ts": 0} When the request is sent Then the response status is 400 - JSON format is wrong - @replay-only @team:DataDog/synthetics-ct + @replay-only @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Fetch uptime for multiple tests returns "OK." response Given new "FetchUptimes" request And body with value {"from_ts": 1726041488, "public_ids": ["p8m-9gw-nte"], "to_ts": 1726055954} @@ -490,14 +490,14 @@ Feature: Synthetics And the response "[0].overall.uptime" is equal to 83.05682373046875 And the response "[0].overall.history" has length 2 - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a Mobile test returns "- Synthetic Monitoring is not activated for the user" response Given new "GetMobileTest" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a Mobile test returns "OK" response Given there is a valid "synthetics_mobile_test" in the system And new "GetMobileTest" request @@ -511,7 +511,7 @@ Feature: Synthetics And the response "options.mobileApplication.referenceType" is equal to "version" And the response "type" is equal to "mobile" - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a browser test result returns "- Synthetic Monitoring is not activated for the user" response Given new "GetBrowserTestResult" request And request contains "public_id" parameter from "REPLACE.ME" @@ -519,7 +519,7 @@ Feature: Synthetics When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @replay-only @team:DataDog/synthetics-ct + @replay-only @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a browser test result returns "OK" response Given new "GetBrowserTestResult" request And request contains "public_id" parameter with value "2yy-sem-mjh" @@ -529,28 +529,28 @@ Feature: Synthetics 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-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a browser test returns "- Synthetic Monitoring is not activated for the user" response Given new "GetBrowserTest" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a browser test returns "OK" response Given new "GetBrowserTest" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a browser test's latest results summaries returns "- Synthetic Monitoring is not activated for the user" response Given new "GetBrowserTestLatestResults" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @replay-only @team:DataDog/synthetics-ct + @replay-only @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a browser test's latest results summaries returns "OK" response Given new "GetBrowserTestLatestResults" request And request contains "public_id" parameter with value "2yy-sem-mjh" @@ -560,61 +560,61 @@ Feature: Synthetics 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-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a global variable returns "Not found" response Given new "GetGlobalVariable" request And request contains "variable_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a global variable returns "OK" response Given new "GetGlobalVariable" request And request contains "variable_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a private location returns "- Synthetic private locations are not activated for the user" response Given new "GetPrivateLocation" request And request contains "location_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 - Synthetic private locations are not activated for the user - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a private location returns "OK" response Given new "GetPrivateLocation" request And request contains "location_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a test configuration returns "- Synthetic is not activated for the user" response Given new "GetTest" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 - Synthetic is not activated for the user - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get a test configuration returns "OK" response Given new "GetTest" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get all global variables returns "OK" response Given new "ListGlobalVariables" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get all locations (public and private) returns "OK" response Given new "ListLocations" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get an API test result returns "- Synthetic Monitoring is not activated for the user" response Given new "GetAPITestResult" request And request contains "public_id" parameter from "REPLACE.ME" @@ -622,7 +622,7 @@ Feature: Synthetics When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @replay-only @team:DataDog/synthetics-ct + @replay-only @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get an API test result returns "OK" response Given new "GetAPITestResult" request And request contains "public_id" parameter with value "hwb-332-3xe" @@ -632,7 +632,7 @@ Feature: Synthetics And the response "result_id" is equal to "3420446318379485707" And the response "probe_dc" is equal to "aws:us-west-1" - @replay-only @team:DataDog/synthetics-ct + @replay-only @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get an API test result returns result with failure object Given there is a "synthetics_api_test_with_wrong_dns" in the system And the "synthetics_api_test_with_wrong_dns" is triggered @@ -644,28 +644,28 @@ Feature: Synthetics And the response "result.failure.code" is equal to "DNS" And the response "result.failure.message" is equal to "Error during DNS resolution of hostname app.datadfoghq.com (ENOTFOUND)." - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get an API test returns "- Synthetic Monitoring is not activated for the user" response Given new "GetAPITest" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get an API test returns "OK" response Given new "GetAPITest" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get an API test's latest results summaries returns "- Synthetic is not activated for the user" response Given new "GetAPITestLatestResults" request And request contains "public_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 - Synthetic is not activated for the user - @replay-only @team:DataDog/synthetics-ct + @replay-only @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get an API test's latest results summaries returns "OK" response Given new "GetAPITestLatestResults" request And request contains "public_id" parameter with value "hwb-332-3xe" @@ -675,33 +675,33 @@ Feature: Synthetics 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-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get details of batch returns "Batch does not exist." response Given new "GetSyntheticsCIBatch" request And request contains "batch_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Batch does not exist. - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get details of batch returns "OK" response Given new "GetSyntheticsCIBatch" request And request contains "batch_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get the default locations returns "OK" response Given new "GetSyntheticsDefaultLocations" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get the list of all Synthetic tests returns "OK - Returns the list of all Synthetic tests." response Given new "ListTests" request When the request is sent Then the response status is 200 OK - Returns the list of all Synthetic tests. - @replay-only @skip-validation @team:DataDog/synthetics-ct @with-pagination + @replay-only @skip-validation @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get the list of all Synthetic tests returns "OK - Returns the list of all Synthetic tests." response with pagination Given new "ListTests" request And request contains "page_size" parameter with value 2 @@ -709,19 +709,19 @@ Feature: Synthetics Then the response status is 200 OK - Returns the list of all Synthetic tests. And the response has 3 items - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get the list of all Synthetic tests returns "Synthetic Monitoring is not activated for the user." response Given new "ListTests" request When the request is sent Then the response status is 404 Synthetic Monitoring is not activated for the user. - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get the list of default locations returns "OK" response Given new "GetSyntheticsDefaultLocations" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Patch a Synthetic test returns "- JSON format is wrong" response Given new "PatchTest" request And request contains "public_id" parameter from "REPLACE.ME" @@ -729,7 +729,7 @@ Feature: Synthetics When the request is sent Then the response status is 400 - JSON format is wrong - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Patch a Synthetic test returns "- Synthetic Monitoring is not activated for the user" response Given new "PatchTest" request And request contains "public_id" parameter from "REPLACE.ME" @@ -737,7 +737,7 @@ Feature: Synthetics When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Patch a Synthetic test returns "OK" response Given there is a valid "synthetics_api_test" in the system And new "PatchTest" request @@ -746,7 +746,7 @@ Feature: Synthetics When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Pause or start a test returns "- Synthetic Monitoring is not activated for the user" response Given new "UpdateTestPauseStatus" request And request contains "public_id" parameter from "REPLACE.ME" @@ -754,7 +754,7 @@ Feature: Synthetics When the request is sent Then the response status is 404 - Synthetic Monitoring is not activated for the user - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Pause or start a test returns "JSON format is wrong." response Given new "UpdateTestPauseStatus" request And request contains "public_id" parameter from "REPLACE.ME" @@ -762,7 +762,7 @@ Feature: Synthetics When the request is sent Then the response status is 400 JSON format is wrong. - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Pause or start a test returns "OK - Returns a boolean indicating if the update was successful." response Given new "UpdateTestPauseStatus" request And request contains "public_id" parameter from "REPLACE.ME" @@ -770,14 +770,14 @@ Feature: Synthetics When the request is sent Then the response status is 200 OK - Returns a boolean indicating if the update was successful. - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Trigger Synthetic tests returns "Bad Request" response Given new "TriggerTests" request And body with value {"tests": [{"metadata": {"ci": {"pipeline": {}, "provider": {}}, "git": {}}, "public_id": "aaa-aaa-aaa"}]} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Trigger Synthetic tests returns "OK" response Given there is a valid "synthetics_api_test" in the system And new "TriggerTests" request @@ -787,14 +787,14 @@ Feature: Synthetics And the response "triggered_check_ids" array contains value "{{ synthetics_api_test.public_id }}" And the response "results" has item with field "public_id" with value "{{ synthetics_api_test.public_id }}" - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Trigger tests from CI/CD pipelines returns "JSON format is wrong" response Given new "TriggerCITests" request And body with value {"tests": [{"basicAuth": {"password": "PaSSw0RD!", "type": "web", "username": "my_username"}, "deviceIds": ["chrome.laptop_large"], "locations": ["aws:eu-west-3"], "metadata": {"ci": {"pipeline": {}, "provider": {}}, "git": {}}, "public_id": "aaa-aaa-aaa", "retry": {}}]} When the request is sent Then the response status is 400 JSON format is wrong - @generated @skip @team:DataDog/synthetics-ct + @generated @skip @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Trigger tests from CI/CD pipelines returns "OK" response Given new "TriggerCITests" request And body with value {"tests": [{"basicAuth": {"password": "PaSSw0RD!", "type": "web", "username": "my_username"}, "deviceIds": ["chrome.laptop_large"], "locations": ["aws:eu-west-3"], "metadata": {"ci": {"pipeline": {}, "provider": {}}, "git": {}}, "public_id": "aaa-aaa-aaa", "retry": {}}]} diff --git a/features/v1/tags.feature b/features/v1/tags.feature index 36e1eabfdc25..b2684cfd6dfd 100644 --- a/features/v1/tags.feature +++ b/features/v1/tags.feature @@ -14,7 +14,7 @@ Feature: Tags And a valid "appKeyAuth" key in the system And an instance of "Tags" API - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Add tags to a host returns "Created" response Given new "CreateHostTags" request And request contains "host_name" parameter from "REPLACE.ME" @@ -22,7 +22,7 @@ Feature: Tags When the request is sent Then the response status is 201 Created - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Add tags to a host returns "Not Found" response Given new "CreateHostTags" request And request contains "host_name" parameter from "REPLACE.ME" @@ -30,47 +30,47 @@ Feature: Tags When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Get Tags returns "Not Found" response Given new "ListHostTags" request When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Get Tags returns "OK" response Given new "ListHostTags" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Get host tags returns "Not Found" response Given new "GetHostTags" request And request contains "host_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Get host tags returns "OK" response Given new "GetHostTags" request And request contains "host_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Remove host tags returns "Not Found" response Given new "DeleteHostTags" request And request contains "host_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Remove host tags returns "OK" response Given new "DeleteHostTags" request And request contains "host_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Update host tags returns "Not Found" response Given new "UpdateHostTags" request And request contains "host_name" parameter from "REPLACE.ME" @@ -78,7 +78,7 @@ Feature: Tags When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/core-index + @generated @skip @team:DataDog/core-index @team:DataDog/web-frameworks-approvers Scenario: Update host tags returns "OK" response Given new "UpdateHostTags" request And request contains "host_name" parameter from "REPLACE.ME" diff --git a/features/v1/usage_metering.feature b/features/v1/usage_metering.feature index bed6ecbb90b4..3570317de12e 100644 --- a/features/v1/usage_metering.feature +++ b/features/v1/usage_metering.feature @@ -14,32 +14,32 @@ Feature: Usage Metering And a valid "appKeyAuth" key in the system And an instance of "UsageMetering" API - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get all custom metrics by hourly average returns "Bad Request" response Given new "GetUsageTopAvgMetrics" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get all custom metrics by hourly average returns "OK" response Given new "GetUsageTopAvgMetrics" request And request contains "day" parameter with value "{{ timeISO('now - 3d') }}" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get billable usage across your account returns "Bad Request" response Given new "GetUsageBillableSummary" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get billable usage across your account returns "OK" response Given new "GetUsageBillableSummary" request When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly logs usage by retention returns "Bad Request" response Given new "GetUsageLogsByRetention" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -47,7 +47,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly logs usage by retention returns "OK" response Given new "GetUsageLogsByRetention" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -55,7 +55,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @skip @team:DataDog/revenue-query + @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage attribution returns "Bad Request" response Given new "GetHourlyUsageAttribution" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -63,7 +63,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage attribution returns "OK" response Given new "GetHourlyUsageAttribution" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -71,7 +71,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for CI visibility returns "Bad Request" response Given new "GetUsageCIApp" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -79,7 +79,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for CI visibility returns "OK" response Given new "GetUsageCIApp" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -87,21 +87,21 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for CSM Pro returns "Bad Request" response Given new "GetUsageCloudSecurityPostureManagement" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for CSM Pro returns "OK" response Given new "GetUsageCloudSecurityPostureManagement" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Database Monitoring returns "OK" response Given new "GetUsageDBM" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -109,7 +109,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Fargate returns "Bad Request" response Given new "GetUsageFargate" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -117,7 +117,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Fargate returns "OK" response Given new "GetUsageFargate" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -125,7 +125,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for IoT returns "Bad Request" response Given new "GetUsageInternetOfThings" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -133,7 +133,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for IoT returns "OK" response Given new "GetUsageInternetOfThings" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -141,7 +141,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Lambda returns "Bad Request" response Given new "GetUsageLambda" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -149,7 +149,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Lambda returns "OK" response Given new "GetUsageLambda" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -157,7 +157,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Logs by Index returns "Bad Request" response Given new "GetUsageLogsByIndex" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -165,7 +165,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Logs by Index returns "OK" response Given new "GetUsageLogsByIndex" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -173,7 +173,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Logs returns "Bad Request" response Given new "GetUsageLogs" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -181,7 +181,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Logs returns "OK" response Given new "GetUsageLogs" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -189,7 +189,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Network Flows returns "Bad Request" response Given new "GetUsageNetworkFlows" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -197,7 +197,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Network Flows returns "OK" response Given new "GetUsageNetworkFlows" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -205,7 +205,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Network Hosts returns "Bad Request" response Given new "GetUsageNetworkHosts" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -213,7 +213,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Network Hosts returns "OK" response Given new "GetUsageNetworkHosts" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -221,7 +221,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Online Archive returns "Bad Request" response Given new "GetUsageOnlineArchive" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -229,7 +229,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Online Archive returns "OK" response Given new "GetUsageOnlineArchive" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -237,7 +237,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for RUM Sessions returns "Bad Request" response Given new "GetUsageRumSessions" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -245,7 +245,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for RUM Sessions returns "OK" response Given new "GetUsageRumSessions" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -253,7 +253,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for RUM Units returns "OK" response Given new "GetUsageRumUnits" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -261,35 +261,35 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for RUM sessions returns "Bad Request" response Given new "GetUsageRumSessions" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for RUM sessions returns "OK" response Given new "GetUsageRumSessions" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for RUM units returns "Bad Request" response Given new "GetUsageRumUnits" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for RUM units returns "OK" response Given new "GetUsageRumUnits" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for SNMP devices returns "Bad Request" response Given new "GetUsageSNMP" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -297,7 +297,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for SNMP devices returns "OK" response Given new "GetUsageSNMP" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -305,7 +305,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Sensitive Data Scanner returns "OK" response Given new "GetUsageSDS" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -313,7 +313,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Synthetics API Checks returns "Bad Request" response Given new "GetUsageSyntheticsAPI" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -321,7 +321,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Synthetics API Checks returns "OK" response Given new "GetUsageSyntheticsAPI" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -329,7 +329,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Synthetics Browser Checks returns "Bad Request" response Given new "GetUsageSyntheticsBrowser" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -337,7 +337,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Synthetics Browser Checks returns "OK" response Given new "GetUsageSyntheticsBrowser" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -345,7 +345,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for analyzed logs returns "Bad Request" response Given new "GetUsageAnalyzedLogs" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -353,7 +353,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for analyzed logs returns "OK" response Given new "GetUsageAnalyzedLogs" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -361,14 +361,14 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for audit logs returns "Bad Request" response Given new "GetUsageAuditLogs" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for audit logs returns "OK" response Given new "GetUsageAuditLogs" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -376,14 +376,14 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for cloud workload security returns "Bad Request" response Given new "GetUsageCWS" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for cloud workload security returns "OK" response Given new "GetUsageCWS" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -391,7 +391,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for custom metrics returns "Bad Request" response Given new "GetUsageTimeseries" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -399,7 +399,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for custom metrics returns "OK" response Given new "GetUsageTimeseries" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -407,21 +407,21 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for database monitoring returns "Bad Request" response Given new "GetUsageDBM" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for database monitoring returns "OK" response Given new "GetUsageDBM" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for hosts and containers returns "Bad Request" response Given new "GetUsageHosts" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -429,7 +429,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for hosts and containers returns "OK" response Given new "GetUsageHosts" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -437,7 +437,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for incident management returns "Bad Request" response Given new "GetIncidentManagement" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -445,7 +445,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for incident management returns "OK" response Given new "GetIncidentManagement" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -453,7 +453,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for indexed spans returns "Bad Request" response Given new "GetUsageIndexedSpans" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -461,7 +461,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for indexed spans returns "OK" response Given new "GetUsageIndexedSpans" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -469,7 +469,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for ingested spans returns "Bad Request" response Given new "GetIngestedSpans" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -477,7 +477,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for ingested spans returns "OK" response Given new "GetIngestedSpans" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -485,63 +485,63 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for logs by index returns "Bad Request" response Given new "GetUsageLogsByIndex" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for logs by index returns "OK" response Given new "GetUsageLogsByIndex" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for logs returns "Bad Request" response Given new "GetUsageLogs" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for logs returns "OK" response Given new "GetUsageLogs" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for network hosts returns "Bad Request" response Given new "GetUsageNetworkHosts" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for network hosts returns "OK" response Given new "GetUsageNetworkHosts" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for online archive returns "Bad Request" response Given new "GetUsageOnlineArchive" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for online archive returns "OK" response Given new "GetUsageOnlineArchive" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for profiled hosts returns "Bad Request" response Given new "GetUsageProfiling" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -549,7 +549,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for profiled hosts returns "OK" response Given new "GetUsageProfiling" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -557,63 +557,63 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for sensitive data scanner returns "Bad Request" response Given new "GetUsageSDS" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for sensitive data scanner returns "OK" response Given new "GetUsageSDS" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for synthetics API checks returns "Bad Request" response Given new "GetUsageSyntheticsAPI" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for synthetics API checks returns "OK" response Given new "GetUsageSyntheticsAPI" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for synthetics browser checks returns "Bad Request" response Given new "GetUsageSyntheticsBrowser" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for synthetics browser checks returns "OK" response Given new "GetUsageSyntheticsBrowser" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for synthetics checks returns "Bad Request" response Given new "GetUsageSynthetics" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for synthetics checks returns "OK" response Given new "GetUsageSynthetics" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get mobile hourly usage for RUM Sessions returns "OK" response Given new "GetUsageRumSessions" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -622,7 +622,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @skip @team:DataDog/revenue-query + @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get monthly usage attribution returns "Bad Request" response Given new "GetMonthlyUsageAttribution" request And request contains "start_month" parameter with value "{{ timeISO('now - 3d') }}" @@ -630,7 +630,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get monthly usage attribution returns "OK" response Given new "GetMonthlyUsageAttribution" request And request contains "start_month" parameter with value "{{ timeISO('now - 3d') }}" @@ -638,68 +638,68 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get specified daily custom reports returns "Not Found" response Given new "GetSpecifiedDailyCustomReports" request And request contains "report_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/revenue-query + @replay-only @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get specified daily custom reports returns "OK" response Given new "GetSpecifiedDailyCustomReports" request And request contains "report_id" parameter with value "2022-03-20" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get specified monthly custom reports returns "Bad Request" response Given new "GetSpecifiedMonthlyCustomReports" request And request contains "report_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get specified monthly custom reports returns "Not Found" response Given new "GetSpecifiedMonthlyCustomReports" request And request contains "report_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/revenue-query + @replay-only @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get specified monthly custom reports returns "OK" response Given new "GetSpecifiedMonthlyCustomReports" request And request contains "report_id" parameter with value "2021-05-01" When the request is sent Then the response status is 200 OK - @skip @team:DataDog/revenue-query + @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get the list of available daily custom reports returns "OK" response Given new "GetDailyCustomReports" request When the request is sent Then the response status is 200 OK - @skip @team:DataDog/revenue-query + @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get the list of available monthly custom reports returns "OK" response Given new "GetMonthlyCustomReports" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get usage across your account returns "Bad Request" response Given new "GetUsageSummary" request And request contains "start_month" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get usage across your account returns "OK" response Given new "GetUsageSummary" request And request contains "start_month" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @skip @team:DataDog/revenue-query + @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Paginate monthly usage attribution Given there is a valid "monthly_usage_attribution" response And new "GetMonthlyUsageAttribution" request @@ -709,14 +709,14 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: get hourly usage for network flows returns "Bad Request" response Given new "GetUsageNetworkFlows" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: get hourly usage for network flows returns "OK" response Given new "GetUsageNetworkFlows" request And request contains "start_hr" parameter from "REPLACE.ME" diff --git a/features/v1/users.feature b/features/v1/users.feature index 57285544672a..578408c34fb2 100644 --- a/features/v1/users.feature +++ b/features/v1/users.feature @@ -7,28 +7,28 @@ Feature: Users And a valid "appKeyAuth" key in the system And an instance of "Users" API - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create a user returns "Bad Request" response Given new "CreateUser" request And body with value {"access_role": "ro", "disabled": false, "email": "test@datadoghq.com", "handle": "test@datadoghq.com", "name": "test user"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create a user returns "Conflict" response Given new "CreateUser" request And body with value {"access_role": "ro", "disabled": false, "email": "test@datadoghq.com", "handle": "test@datadoghq.com", "name": "test user"} When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create a user returns "User created" response Given new "CreateUser" request And body with value {"access_role": "ro", "disabled": false, "email": "test@datadoghq.com", "handle": "test@datadoghq.com", "name": "test user"} When the request is sent Then the response status is 200 User created - @replay-only @team:DataDog/team-aaa-identity + @replay-only @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create a user returns null access role Given new "CreateUser" request And body with value {"access_role": null, "disabled": false, "email": "test@datadoghq.com", "handle": "test@datadoghq.com", "name": "test user"} @@ -36,48 +36,48 @@ Feature: Users Then the response status is 200 User created And the response "user.access_role" is equal to null - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Disable a user returns "Bad Request" response Given new "DisableUser" request And request contains "user_handle" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Disable a user returns "Not Found" response Given new "DisableUser" request And request contains "user_handle" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Disable a user returns "User disabled" response Given new "DisableUser" request And request contains "user_handle" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 User disabled - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get user details returns "Not Found" response Given new "GetUser" request And request contains "user_handle" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get user details returns "OK for get user" response Given new "GetUser" request And request contains "user_handle" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK for get user - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: List all users returns "OK" response Given new "ListUsers" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a user returns "Bad Request" response Given new "UpdateUser" request And request contains "user_handle" parameter from "REPLACE.ME" @@ -85,7 +85,7 @@ Feature: Users When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a user returns "Not Found" response Given new "UpdateUser" request And request contains "user_handle" parameter from "REPLACE.ME" @@ -93,7 +93,7 @@ Feature: Users When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a user returns "User updated" response Given new "UpdateUser" request And request contains "user_handle" parameter from "REPLACE.ME" diff --git a/features/v1/webhooks_integration.feature b/features/v1/webhooks_integration.feature index e58d93b78169..85bccc488a9b 100644 --- a/features/v1/webhooks_integration.feature +++ b/features/v1/webhooks_integration.feature @@ -10,42 +10,42 @@ Feature: Webhooks Integration And a valid "appKeyAuth" key in the system And an instance of "WebhooksIntegration" API - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Create a custom variable returns "Bad Request" response Given new "CreateWebhooksIntegrationCustomVariable" request And body with value {"is_secret": true, "name": "CUSTOM_VARIABLE_NAME", "value": "CUSTOM_VARIABLE_VALUE"} When the request is sent Then the response status is 400 Bad Request - @skip-terraform-config @team:Datadog/collaboration-integrations + @skip-terraform-config @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Create a custom variable returns "OK" response Given new "CreateWebhooksIntegrationCustomVariable" request And body with value {"is_secret": true, "name": "{{ unique_upper_alnum }}", "value": "CUSTOM_VARIABLE_VALUE"} When the request is sent Then the response status is 201 OK - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Create a webhooks integration returns "Bad Request" response Given new "CreateWebhooksIntegration" request And body with value {"custom_headers": null, "encode_as": "json", "name": "WEBHOOK_NAME", "payload": null, "url": "https://example.com/webhook"} When the request is sent Then the response status is 400 Bad Request - @skip-terraform-config @team:Datadog/collaboration-integrations + @skip-terraform-config @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Create a webhooks integration returns "OK" response Given new "CreateWebhooksIntegration" request And body with value {"name": "{{ unique }}", "url": "https://example.com/webhook"} When the request is sent Then the response status is 201 OK - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Delete a custom variable returns "Item Not Found" response Given new "DeleteWebhooksIntegrationCustomVariable" request And request contains "custom_variable_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Item Not Found - @skip-terraform-config @team:Datadog/collaboration-integrations + @skip-terraform-config @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Delete a custom variable returns "OK" response Given there is a valid "webhook_custom_variable" in the system And new "DeleteWebhooksIntegrationCustomVariable" request @@ -53,14 +53,14 @@ Feature: Webhooks Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Delete a webhook returns "Item Not Found" response Given new "DeleteWebhooksIntegration" request And request contains "webhook_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Item Not Found - @skip-terraform-config @team:Datadog/collaboration-integrations + @skip-terraform-config @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Delete a webhook returns "OK" response Given there is a valid "webhook" in the system And new "DeleteWebhooksIntegration" request @@ -68,42 +68,42 @@ Feature: Webhooks Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get a custom variable returns "Bad Request" response Given new "GetWebhooksIntegrationCustomVariable" request And request contains "custom_variable_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get a custom variable returns "Item Not Found" response Given new "GetWebhooksIntegrationCustomVariable" request And request contains "custom_variable_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Item Not Found - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get a custom variable returns "OK" response Given new "GetWebhooksIntegrationCustomVariable" request And request contains "custom_variable_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get a webhook integration returns "Bad Request" response Given new "GetWebhooksIntegration" request And request contains "webhook_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get a webhook integration returns "Item Not Found" response Given new "GetWebhooksIntegration" request And request contains "webhook_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Item Not Found - @skip-terraform-config @team:Datadog/collaboration-integrations + @skip-terraform-config @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get a webhook integration returns "OK" response Given there is a valid "webhook" in the system And new "GetWebhooksIntegration" request @@ -111,7 +111,7 @@ Feature: Webhooks Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Update a custom variable returns "Bad Request" response Given new "UpdateWebhooksIntegrationCustomVariable" request And request contains "custom_variable_name" parameter from "REPLACE.ME" @@ -119,7 +119,7 @@ Feature: Webhooks Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Update a custom variable returns "Item Not Found" response Given new "UpdateWebhooksIntegrationCustomVariable" request And request contains "custom_variable_name" parameter from "REPLACE.ME" @@ -127,7 +127,7 @@ Feature: Webhooks Integration When the request is sent Then the response status is 404 Item Not Found - @skip-terraform-config @team:Datadog/collaboration-integrations + @skip-terraform-config @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Update a custom variable returns "OK" response Given there is a valid "webhook_custom_variable" in the system And new "UpdateWebhooksIntegrationCustomVariable" request @@ -136,7 +136,7 @@ Feature: Webhooks Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Update a webhook returns "Bad Request" response Given new "UpdateWebhooksIntegration" request And request contains "webhook_name" parameter from "REPLACE.ME" @@ -144,7 +144,7 @@ Feature: Webhooks Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Update a webhook returns "Item Not Found" response Given new "UpdateWebhooksIntegration" request And request contains "webhook_name" parameter from "REPLACE.ME" @@ -152,7 +152,7 @@ Feature: Webhooks Integration When the request is sent Then the response status is 404 Item Not Found - @skip-terraform-config @team:Datadog/collaboration-integrations + @skip-terraform-config @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Update a webhook returns "OK" response Given there is a valid "webhook" in the system And new "UpdateWebhooksIntegration" request diff --git a/features/v2/action_connection.feature b/features/v2/action_connection.feature index f379fc1a003e..b634d2e634c0 100644 --- a/features/v2/action_connection.feature +++ b/features/v2/action_connection.feature @@ -14,28 +14,28 @@ Feature: Action Connection And a valid "appKeyAuth" key in the system And an instance of "ActionConnection" API - @team:DataDog/workflow-automation-dev + @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Create a new Action Connection returns "Bad Request" response Given new "CreateActionConnection" request And body with value {"data":{"type":"action_connection","attributes":{"name":"Cassette Connection","integration":{"type":"AWS","credentials":{"type":"AWSAssumeRole","role":"MyRoleUpdated","account_id":"1"}}}}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/workflow-automation-dev + @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Create a new Action Connection returns "Successfully created Action Connection" response Given new "CreateActionConnection" request And body with value {"data":{"type":"action_connection","attributes":{"name":"Cassette Connection DELETE_ME","integration":{"type":"AWS","credentials":{"type":"AWSAssumeRole","role":"MyRoleUpdated","account_id":"123456789123"}}}}} When the request is sent Then the response status is 201 Successfully created Action Connection - @team:DataDog/workflow-automation-dev + @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Delete an existing Action Connection returns "Not Found" response Given new "DeleteActionConnection" request And request contains "connection_id" parameter with value "aaa11111-aa11-aa11-aaaa-aaaaaa111111" When the request is sent Then the response status is 404 Not Found - @team:DataDog/workflow-automation-dev + @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Delete an existing Action Connection returns "Successfully deleted Action Connection" response Given there is a valid "action_connection" in the system And new "DeleteActionConnection" request @@ -43,35 +43,35 @@ Feature: Action Connection When the request is sent Then the response status is 204 The resource was deleted successfully. - @generated @skip @team:DataDog/workflow-automation-dev + @generated @skip @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Delete an existing Action Connection returns "The resource was deleted successfully." response Given new "DeleteActionConnection" request And request contains "connection_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 The resource was deleted successfully. - @team:DataDog/workflow-automation-dev + @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Get an existing Action Connection returns "Bad Request" response Given new "GetActionConnection" request And request contains "connection_id" parameter with value "bad-format" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/workflow-automation-dev + @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Get an existing Action Connection returns "Not Found" response Given new "GetActionConnection" request And request contains "connection_id" parameter with value "aaa11111-aa11-aa11-aaaa-aaaaaa111111" When the request is sent Then the response status is 404 Not Found - @team:DataDog/workflow-automation-dev + @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Get an existing Action Connection returns "Successfully get Action Connection" response Given new "GetActionConnection" request And request contains "connection_id" parameter with value "cb460d51-3c88-4e87-adac-d47131d0423d" When the request is sent Then the response status is 200 Successfully get Action Connection - @team:DataDog/workflow-automation-dev + @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Update an existing Action Connection returns "Bad Request" response Given new "UpdateActionConnection" request And request contains "connection_id" parameter with value "cb460d51-3c88-4e87-adac-d47131d0423d" @@ -79,7 +79,7 @@ Feature: Action Connection When the request is sent Then the response status is 400 Bad Request - @team:DataDog/workflow-automation-dev + @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Update an existing Action Connection returns "Not Found" response Given new "UpdateActionConnection" request And request contains "connection_id" parameter with value "aaa11111-aa11-aa11-aaaa-aaaaaa111111" @@ -87,7 +87,7 @@ Feature: Action Connection When the request is sent Then the response status is 404 Not Found - @team:DataDog/workflow-automation-dev + @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Update an existing Action Connection returns "Successfully updated Action Connection" response Given new "UpdateActionConnection" request And request contains "connection_id" parameter with value "cb460d51-3c88-4e87-adac-d47131d0423d" diff --git a/features/v2/agentless_scanning.feature b/features/v2/agentless_scanning.feature index d37dfee5eef1..dec035b6e70e 100644 --- a/features/v2/agentless_scanning.feature +++ b/features/v2/agentless_scanning.feature @@ -6,7 +6,7 @@ Feature: Agentless Scanning where Agents cannot be installed. Go to https://www.datadoghq.com/blog/agentless-scanning/ to learn more - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get AWS Scan Options returns "OK" response Given a valid "apiKeyAuth" key in the system And a valid "appKeyAuth" key in the system diff --git a/features/v2/api_management.feature b/features/v2/api_management.feature index 86cb52fe8453..597ee308dbb4 100644 --- a/features/v2/api_management.feature +++ b/features/v2/api_management.feature @@ -7,7 +7,7 @@ Feature: API Management And a valid "appKeyAuth" key in the system And an instance of "APIManagement" API - @integration-only @skip-terraform-config @skip-validation @team:DataDog/api-management + @integration-only @skip-terraform-config @skip-validation @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Create a new API returns "API created successfully" response Given operation "CreateOpenAPI" enabled And new "CreateOpenAPI" request @@ -16,14 +16,14 @@ Feature: API Management Then the response status is 201 API created successfully And the response "data.attributes.failed_endpoints" has length 0 - @generated @skip @team:DataDog/api-management + @generated @skip @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Create a new API returns "Bad request" response Given operation "CreateOpenAPI" enabled And new "CreateOpenAPI" request When the request is sent Then the response status is 400 Bad request - @integration-only @skip-terraform-config @skip-validation @team:DataDog/api-management + @integration-only @skip-terraform-config @skip-validation @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Delete an API returns "API deleted successfully" response Given operation "DeleteOpenAPI" enabled And there is a valid "managed_api" in the system @@ -32,7 +32,7 @@ Feature: API Management When the request is sent Then the response status is 204 API deleted successfully - @generated @skip @team:DataDog/api-management + @generated @skip @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Delete an API returns "API not found error" response Given operation "DeleteOpenAPI" enabled And new "DeleteOpenAPI" request @@ -40,7 +40,7 @@ Feature: API Management When the request is sent Then the response status is 404 API not found error - @generated @skip @team:DataDog/api-management + @generated @skip @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Delete an API returns "Bad request" response Given operation "DeleteOpenAPI" enabled And new "DeleteOpenAPI" request @@ -48,7 +48,7 @@ Feature: API Management When the request is sent Then the response status is 400 Bad request - @generated @skip @team:DataDog/api-management + @generated @skip @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Get an API returns "API not found error" response Given operation "GetOpenAPI" enabled And new "GetOpenAPI" request @@ -56,7 +56,7 @@ Feature: API Management When the request is sent Then the response status is 404 API not found error - @generated @skip @team:DataDog/api-management + @generated @skip @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Get an API returns "Bad request" response Given operation "GetOpenAPI" enabled And new "GetOpenAPI" request @@ -64,7 +64,7 @@ Feature: API Management When the request is sent Then the response status is 400 Bad request - @integration-only @skip-terraform-config @skip-validation @team:DataDog/api-management + @integration-only @skip-terraform-config @skip-validation @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Get an API returns "OK" response Given operation "GetOpenAPI" enabled And there is a valid "managed_api" in the system @@ -73,21 +73,21 @@ Feature: API Management When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/api-management + @generated @skip @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: List APIs returns "Bad request" response Given operation "ListAPIs" enabled And new "ListAPIs" request When the request is sent Then the response status is 400 Bad request - @generated @skip @team:DataDog/api-management + @generated @skip @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: List APIs returns "OK" response Given operation "ListAPIs" enabled And new "ListAPIs" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/api-management + @generated @skip @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Update an API returns "API not found error" response Given operation "UpdateOpenAPI" enabled And new "UpdateOpenAPI" request @@ -95,7 +95,7 @@ Feature: API Management When the request is sent Then the response status is 404 API not found error - @integration-only @skip-terraform-config @skip-validation @team:DataDog/api-management + @integration-only @skip-terraform-config @skip-validation @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Update an API returns "API updated successfully" response Given operation "UpdateOpenAPI" enabled And there is a valid "managed_api" in the system @@ -106,7 +106,7 @@ Feature: API Management Then the response status is 200 API updated successfully And the response "data.attributes.failed_endpoints" has length 0 - @generated @skip @team:DataDog/api-management + @generated @skip @team:DataDog/api-management @team:DataDog/web-frameworks-approvers Scenario: Update an API returns "Bad request" response Given operation "UpdateOpenAPI" enabled And new "UpdateOpenAPI" request diff --git a/features/v2/apm_retention_filters.feature b/features/v2/apm_retention_filters.feature index e68470157dd3..effea1b0a52d 100644 --- a/features/v2/apm_retention_filters.feature +++ b/features/v2/apm_retention_filters.feature @@ -12,28 +12,28 @@ Feature: APM Retention Filters And a valid "appKeyAuth" key in the system And an instance of "APMRetentionFilters" API - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Create a default retention filter returns "Bad Request" response Given new "CreateApmRetentionFilter" request And body with value {"data": {"attributes": {"enabled": true, "filter": {"query": "@http.status_code:200 service:my-service"}, "filter_type": "spans-errors-sampling-processor", "name": "my retention filter", "rate": 1.0}, "type": "apm_retention_filter"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Create a retention filter returns "Bad Request" response Given new "CreateApmRetentionFilter" request And body with value {"data": {"attributes": {"enabled": true, "filter": {"query": "@http.status_code:200 service:my-service"}, "filter_type": "spans-sampling-processor", "name": "my retention filter", "rate": 2.0}, "type": "apm_retention_filter"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/apm-trace-intake + @generated @skip @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Create a retention filter returns "Conflict" response Given new "CreateApmRetentionFilter" request And body with value {"data": {"attributes": {"enabled": true, "filter": {"query": "@http.status_code:200 service:my-service"}, "filter_type": "spans-sampling-processor", "name": "my retention filter", "rate": 1.0}, "type": "apm_retention_filter"}} When the request is sent Then the response status is 409 Conflict - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Create a retention filter returns "OK" response Given new "CreateApmRetentionFilter" request And body with value {"data": {"attributes": {"enabled": true, "filter": {"query": "@http.status_code:200 service:my-service"}, "filter_type": "spans-sampling-processor", "name": "my retention filter", "rate": 1.0}, "type": "apm_retention_filter"}} @@ -41,14 +41,14 @@ Feature: APM Retention Filters Then the response status is 200 OK And the response "data.attributes.name" is equal to "my retention filter" - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Delete a retention filter returns "Not Found" response Given new "DeleteApmRetentionFilter" request And request contains "filter_id" parameter with value "not_found" When the request is sent Then the response status is 404 Not Found - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Delete a retention filter returns "OK" response Given there is a valid "retention_filter" in the system And new "DeleteApmRetentionFilter" request @@ -56,14 +56,14 @@ Feature: APM Retention Filters When the request is sent Then the response status is 200 OK - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Get a given APM retention filter returns "Not Found" response Given new "GetApmRetentionFilter" request And request contains "filter_id" parameter with value "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Get a given APM retention filter returns "OK" response Given there is a valid "retention_filter" in the system And new "GetApmRetentionFilter" request @@ -71,7 +71,7 @@ Feature: APM Retention Filters When the request is sent Then the response status is 200 OK - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: List all APM retention filters returns "OK" response Given there is a valid "retention_filter" in the system And new "ListApmRetentionFilters" request @@ -79,21 +79,21 @@ Feature: APM Retention Filters Then the response status is 200 OK And the response "data" has item with field "id" with value "{{ retention_filter.data.id }}" - @generated @skip @team:DataDog/apm-trace-intake + @generated @skip @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Re-order retention filters returns "Bad Request" response Given new "ReorderApmRetentionFilters" request And body with value {"data": [{"id": "7RBOb7dLSYWI01yc3pIH8w", "type": "apm_retention_filter"}]} When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/apm-trace-intake + @replay-only @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Re-order retention filters returns "OK" response Given new "ReorderApmRetentionFilters" request And body with value {"data":[{"id":"jdZrilSJQLqzb6Cu7aub9Q","type":"apm_retention_filter"},{"id":"7RBOb7dLSYWI01yc3pIH8w","type":"apm_retention_filter"}]} When the request is sent Then the response status is 200 OK - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Update a retention filter returns "Bad Request" response Given there is a valid "retention_filter" in the system And new "UpdateApmRetentionFilter" request @@ -102,7 +102,7 @@ Feature: APM Retention Filters When the request is sent Then the response status is 400 Bad Request - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Update a retention filter returns "Not Found" response Given new "UpdateApmRetentionFilter" request And request contains "filter_id" parameter with value "not_found" @@ -110,7 +110,7 @@ Feature: APM Retention Filters When the request is sent Then the response status is 404 Not Found - @team:DataDog/apm-trace-intake + @team:DataDog/apm-trace-intake @team:DataDog/web-frameworks-approvers Scenario: Update a retention filter returns "OK" response Given there is a valid "retention_filter" in the system And new "UpdateApmRetentionFilter" request diff --git a/features/v2/app_builder.feature b/features/v2/app_builder.feature index 1c8226e89709..9b9a8fec59f4 100644 --- a/features/v2/app_builder.feature +++ b/features/v2/app_builder.feature @@ -10,7 +10,7 @@ Feature: App Builder And a valid "appKeyAuth" key in the system And an instance of "AppBuilder" API - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Create App returns "Bad Request" response Given operation "CreateApp" enabled And new "CreateApp" request @@ -20,7 +20,7 @@ Feature: App Builder And the response "errors" has length 1 And the response "errors[0].title" is equal to "missing required field" - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Create App returns "Created" response Given operation "CreateApp" enabled And new "CreateApp" request @@ -29,7 +29,7 @@ Feature: App Builder Then the response status is 201 Created And the response "data.type" is equal to "appDefinitions" - @skip @team:DataDog/app-builder-backend + @skip @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Delete App returns "Bad Request" response Given operation "DeleteApp" enabled And new "DeleteApp" request @@ -37,7 +37,7 @@ Feature: App Builder When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/app-builder-backend + @skip @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Delete App returns "Gone" response Given operation "DeleteApp" enabled And new "DeleteApp" request @@ -45,7 +45,7 @@ Feature: App Builder When the request is sent Then the response status is 410 Gone - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Delete App returns "Not Found" response Given operation "DeleteApp" enabled And new "DeleteApp" request @@ -53,7 +53,7 @@ Feature: App Builder When the request is sent Then the response status is 404 Not Found - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Delete App returns "OK" response Given operation "DeleteApp" enabled And there is a valid "app" in the system @@ -64,7 +64,7 @@ Feature: App Builder And the response "data.id" has the same value as "app.data.id" And the response "data.type" is equal to "appDefinitions" - @generated @skip @team:DataDog/app-builder-backend + @generated @skip @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Delete Multiple Apps returns "Bad Request" response Given operation "DeleteApps" enabled And new "DeleteApps" request @@ -72,7 +72,7 @@ Feature: App Builder When the request is sent Then the response status is 400 Bad Request - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Delete Multiple Apps returns "Not Found" response Given operation "DeleteApps" enabled And new "DeleteApps" request @@ -80,7 +80,7 @@ Feature: App Builder When the request is sent Then the response status is 404 Not Found - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Delete Multiple Apps returns "OK" response Given operation "DeleteApps" enabled And new "DeleteApps" request @@ -91,7 +91,7 @@ Feature: App Builder And the response "data" has length 1 And the response "data[0].id" has the same value as "app.data.id" - @skip @team:DataDog/app-builder-backend + @skip @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Get App returns "Bad Request" response Given operation "GetApp" enabled And new "GetApp" request @@ -99,7 +99,7 @@ Feature: App Builder When the request is sent Then the response status is 400 Bad Request - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Get App returns "Not Found" response Given operation "GetApp" enabled And new "GetApp" request @@ -107,7 +107,7 @@ Feature: App Builder When the request is sent Then the response status is 404 Not Found - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Get App returns "OK" response Given operation "GetApp" enabled And new "GetApp" request @@ -118,21 +118,21 @@ Feature: App Builder And the response "data.id" has the same value as "app.data.id" And the response "data.type" is equal to "appDefinitions" - @generated @skip @team:DataDog/app-builder-backend + @generated @skip @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: List Apps returns "Bad Request" response Given operation "ListApps" enabled And new "ListApps" request When the request is sent Then the response status is 400 Bad Request - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: List Apps returns "OK" response Given operation "ListApps" enabled And new "ListApps" request When the request is sent Then the response status is 200 OK - @skip @team:DataDog/app-builder-backend + @skip @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Publish App returns "Bad Request" response Given operation "PublishApp" enabled And new "PublishApp" request @@ -140,7 +140,7 @@ Feature: App Builder When the request is sent Then the response status is 400 Bad Request - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Publish App returns "Created" response Given operation "PublishApp" enabled And new "PublishApp" request @@ -149,7 +149,7 @@ Feature: App Builder When the request is sent Then the response status is 201 Created - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Publish App returns "Not Found" response Given operation "PublishApp" enabled And new "PublishApp" request @@ -157,7 +157,7 @@ Feature: App Builder When the request is sent Then the response status is 404 Not Found - @skip @team:DataDog/app-builder-backend + @skip @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Unpublish App returns "Bad Request" response Given operation "UnpublishApp" enabled And new "UnpublishApp" request @@ -165,7 +165,7 @@ Feature: App Builder When the request is sent Then the response status is 400 Bad Request - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Unpublish App returns "Not Found" response Given operation "UnpublishApp" enabled And new "UnpublishApp" request @@ -173,7 +173,7 @@ Feature: App Builder When the request is sent Then the response status is 404 Not Found - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Unpublish App returns "OK" response Given operation "UnpublishApp" enabled And new "UnpublishApp" request @@ -182,7 +182,7 @@ Feature: App Builder When the request is sent Then the response status is 200 OK - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Update App returns "Bad Request" response Given operation "UpdateApp" enabled And new "UpdateApp" request @@ -194,7 +194,7 @@ Feature: App Builder And the response "errors" has length 1 And the response "errors[0].title" is equal to "missing required field" - @skip-typescript @team:DataDog/app-builder-backend + @skip-typescript @team:DataDog/app-builder-backend @team:DataDog/web-frameworks-approvers Scenario: Update App returns "OK" response Given operation "UpdateApp" enabled And new "UpdateApp" request diff --git a/features/v2/audit.feature b/features/v2/audit.feature index b61cee6106ad..9fad05e64c8e 100644 --- a/features/v2/audit.feature +++ b/features/v2/audit.feature @@ -7,19 +7,19 @@ Feature: Audit And a valid "appKeyAuth" key in the system And an instance of "Audit" API - @generated @skip @team:DataDog/logs-app + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of Audit Logs events returns "Bad Request" response Given new "ListAuditLogs" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/logs-app + @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of Audit Logs events returns "OK" response Given new "ListAuditLogs" request When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/logs-app @with-pagination + @replay-only @skip-validation @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get a list of Audit Logs events returns "OK" response with pagination Given new "ListAuditLogs" request And request contains "page[limit]" parameter with value 2 @@ -27,21 +27,21 @@ Feature: Audit Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/logs-app + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Search Audit Logs events returns "Bad Request" response Given new "SearchAuditLogs" request And body with value {"filter": {"from": "now-15m", "query": "@type:session AND @session.type:user", "to": "now"}, "options": {"timezone": "GMT"}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "timestamp"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/logs-app + @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Search Audit Logs events returns "OK" response Given new "SearchAuditLogs" request And body with value {"filter": {"from": "now-15m", "query": "@type:session AND @session.type:user", "to": "now"}, "options": {"time_offset": 0, "timezone": "GMT"}, "page": {"limit": 25}, "sort": "timestamp"} When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/logs-app @with-pagination + @replay-only @skip-validation @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Search Audit Logs events returns "OK" response with pagination Given new "SearchAuditLogs" request And body with value {"filter": {"from": "now-15m", "to": "now"}, "options": {"timezone": "GMT"}, "page": {"limit": 2}, "sort": "timestamp"} diff --git a/features/v2/authn_mappings.feature b/features/v2/authn_mappings.feature index a90c3e6adefc..8ad767d3cb63 100644 --- a/features/v2/authn_mappings.feature +++ b/features/v2/authn_mappings.feature @@ -10,21 +10,21 @@ Feature: AuthN Mappings And a valid "appKeyAuth" key in the system And an instance of "AuthNMappings" API - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Create an AuthN Mapping returns "Bad Request" response Given new "CreateAuthNMapping" request And body with value {"data": {"attributes": {"attribute_key": "member-of", "attribute_value": "Development"}, "relationships": {"role": {"data": {"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d", "type": "roles"}}}, "type": "authn_mappings"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Create an AuthN Mapping returns "Not Found" response Given new "CreateAuthNMapping" request And body with value {"data": {"attributes": {"attribute_key": "member-of", "attribute_value": "Development"}, "relationships": {"role": {"data": {"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d", "type": "roles"}}}, "type": "authn_mappings"}} When the request is sent Then the response status is 404 Not Found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Create an AuthN Mapping returns "OK" response Given there is a valid "role" in the system And new "CreateAuthNMapping" request @@ -35,14 +35,14 @@ Feature: AuthN Mappings And the response "data.attributes.attribute_value" is equal to "{{ unique }}" And the response "data.relationships.role.data.id" is equal to "{{ role.data.id }}" - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Delete an AuthN Mapping returns "Not Found" response Given new "DeleteAuthNMapping" request And request contains "authn_mapping_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Delete an AuthN Mapping returns "OK" response Given there is a valid "role" in the system And there is a valid "authn_mapping" in the system @@ -51,7 +51,7 @@ Feature: AuthN Mappings When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Edit an AuthN Mapping returns "Bad Request" response Given new "UpdateAuthNMapping" request And request contains "authn_mapping_id" parameter from "REPLACE.ME" @@ -59,7 +59,7 @@ Feature: AuthN Mappings When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Edit an AuthN Mapping returns "Conflict" response Given new "UpdateAuthNMapping" request And request contains "authn_mapping_id" parameter from "REPLACE.ME" @@ -67,7 +67,7 @@ Feature: AuthN Mappings When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Edit an AuthN Mapping returns "Not Found" response Given new "UpdateAuthNMapping" request And request contains "authn_mapping_id" parameter from "REPLACE.ME" @@ -75,7 +75,7 @@ Feature: AuthN Mappings When the request is sent Then the response status is 404 Not Found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Edit an AuthN Mapping returns "OK" response Given there is a valid "role" in the system And there is a valid "authn_mapping" in the system @@ -89,7 +89,7 @@ Feature: AuthN Mappings And the response "data.attributes.attribute_value" is equal to "Development" And the response "data.relationships.role.data.id" is equal to "{{ role.data.id }}" - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Edit an AuthN Mapping returns "Unprocessable Entity" response Given new "UpdateAuthNMapping" request And request contains "authn_mapping_id" parameter from "REPLACE.ME" @@ -97,14 +97,14 @@ Feature: AuthN Mappings When the request is sent Then the response status is 422 Unprocessable Entity - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Get an AuthN Mapping by UUID returns "Not Found" response Given new "GetAuthNMapping" request And request contains "authn_mapping_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Get an AuthN Mapping by UUID returns "OK" response Given there is a valid "role" in the system And there is a valid "authn_mapping" in the system @@ -117,7 +117,7 @@ Feature: AuthN Mappings And the response "data.attributes.attribute_value" is equal to "{{ unique }}" And the response "data.relationships.role.data.id" is equal to "{{ role.data.id }}" - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: List all AuthN Mappings returns "OK" response Given there is a valid "role" in the system And there is a valid "authn_mapping" in the system diff --git a/features/v2/aws_integration.feature b/features/v2/aws_integration.feature index 3f47d837a7b1..e0707e92ebe5 100644 --- a/features/v2/aws_integration.feature +++ b/features/v2/aws_integration.feature @@ -9,7 +9,7 @@ Feature: AWS Integration And a valid "appKeyAuth" key in the system And an instance of "AWSIntegration" API - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an AWS account returns "AWS Account object" response Given operation "CreateAWSAccount" enabled And new "CreateAWSAccount" request @@ -17,7 +17,7 @@ Feature: AWS Integration When the request is sent Then the response status is 200 AWS Account object - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an AWS integration returns "AWS Account object" response Given operation "CreateAWSAccount" enabled And new "CreateAWSAccount" request @@ -25,7 +25,7 @@ Feature: AWS Integration When the request is sent Then the response status is 200 AWS Account object - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an AWS integration returns "Bad Request" response Given operation "CreateAWSAccount" enabled And new "CreateAWSAccount" request @@ -33,7 +33,7 @@ Feature: AWS Integration When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Create an AWS integration returns "Conflict" response Given operation "CreateAWSAccount" enabled And there is a valid "aws_account_v2" in the system @@ -42,7 +42,7 @@ Feature: AWS Integration When the request is sent Then the response status is 409 Conflict - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an AWS integration returns "Bad Request" response Given operation "DeleteAWSAccount" enabled And new "DeleteAWSAccount" request @@ -50,7 +50,7 @@ Feature: AWS Integration When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an AWS integration returns "No Content" response Given operation "DeleteAWSAccount" enabled And there is a valid "aws_account_v2" in the system @@ -59,7 +59,7 @@ Feature: AWS Integration When the request is sent Then the response status is 204 No Content - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an AWS integration returns "Not Found" response Given operation "DeleteAWSAccount" enabled And there is a valid "aws_account_v2" in the system @@ -68,21 +68,21 @@ Feature: AWS Integration When the request is sent Then the response status is 404 Not Found - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Generate a new external ID returns "AWS External ID object" response Given operation "CreateNewAWSExternalID" enabled And new "CreateNewAWSExternalID" request When the request is sent Then the response status is 200 AWS External ID object - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Generate new external ID returns "AWS External ID object" response Given operation "CreateNewAWSExternalID" enabled And new "CreateNewAWSExternalID" request When the request is sent Then the response status is 200 AWS External ID object - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Get an AWS integration by config ID returns "AWS Account object" response Given operation "GetAWSAccount" enabled And there is a valid "aws_account_v2" in the system @@ -91,7 +91,7 @@ Feature: AWS Integration When the request is sent Then the response status is 200 AWS Account object - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Get an AWS integration by config ID returns "Bad Request" response Given operation "GetAWSAccount" enabled And new "GetAWSAccount" request @@ -99,7 +99,7 @@ Feature: AWS Integration When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Get an AWS integration by config ID returns "Not Found" response Given operation "GetAWSAccount" enabled And new "GetAWSAccount" request @@ -107,28 +107,28 @@ Feature: AWS Integration When the request is sent Then the response status is 404 Not Found - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: List all AWS integrations returns "AWS Accounts List object" response Given operation "ListAWSAccounts" enabled And new "ListAWSAccounts" request When the request is sent Then the response status is 200 AWS Accounts List object - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: List available namespaces returns "AWS Namespaces List object" response Given operation "ListAWSNamespaces" enabled And new "ListAWSNamespaces" request When the request is sent Then the response status is 200 AWS Namespaces List object - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: List namespaces returns "AWS Namespaces List object" response Given operation "ListAWSNamespaces" enabled And new "ListAWSNamespaces" request When the request is sent Then the response status is 200 AWS Namespaces List object - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Update an AWS integration returns "AWS Account object" response Given operation "UpdateAWSAccount" enabled And there is a valid "aws_account_v2" in the system @@ -138,7 +138,7 @@ Feature: AWS Integration When the request is sent Then the response status is 200 AWS Account object - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Update an AWS integration returns "Bad Request" response Given operation "UpdateAWSAccount" enabled And there is a valid "aws_account_v2" in the system @@ -148,7 +148,7 @@ Feature: AWS Integration When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Update an AWS integration returns "Not Found" response Given operation "UpdateAWSAccount" enabled And new "UpdateAWSAccount" request diff --git a/features/v2/aws_logs_integration.feature b/features/v2/aws_logs_integration.feature index 7dcfb894ae9d..8febc914f6eb 100644 --- a/features/v2/aws_logs_integration.feature +++ b/features/v2/aws_logs_integration.feature @@ -5,7 +5,7 @@ Feature: AWS Logs Integration page](https://docs.datadoghq.com/integrations/amazon_web_services/#log- collection). - @team:DataDog/aws-integrations + @team:DataDog/aws-integrations @team:DataDog/web-frameworks-approvers Scenario: Get list of AWS log ready services returns "AWS Logs Services List object" response Given a valid "apiKeyAuth" key in the system And a valid "appKeyAuth" key in the system diff --git a/features/v2/case_management.feature b/features/v2/case_management.feature index e95b1dc1c4c9..bc2c0b453ce6 100644 --- a/features/v2/case_management.feature +++ b/features/v2/case_management.feature @@ -10,7 +10,7 @@ Feature: Case Management And a valid "appKeyAuth" key in the system And an instance of "CaseManagement" API - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Archive case returns "Bad Request" response Given new "ArchiveCase" request And there is a valid "case" in the system @@ -19,7 +19,7 @@ Feature: Case Management When the request is sent Then the response status is 400 Bad Request - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Archive case returns "Not Found" response Given new "ArchiveCase" request And request contains "case_id" parameter with value "67d80aa3-36ff-44b9-a694-c501a7591737" @@ -27,7 +27,7 @@ Feature: Case Management When the request is sent Then the response status is 404 Not Found - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Archive case returns "OK" response Given new "ArchiveCase" request And there is a valid "case" in the system @@ -36,7 +36,7 @@ Feature: Case Management When the request is sent Then the response status is 200 OK - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Assign case returns "Bad Request" response Given new "AssignCase" request And there is a valid "case" in the system @@ -45,7 +45,7 @@ Feature: Case Management When the request is sent Then the response status is 400 Bad Request - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Assign case returns "Not Found" response Given new "AssignCase" request And there is a valid "user" in the system @@ -54,7 +54,7 @@ Feature: Case Management When the request is sent Then the response status is 404 Not Found - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Assign case returns "OK" response Given new "AssignCase" request And there is a valid "case" in the system @@ -64,14 +64,14 @@ Feature: Case Management When the request is sent Then the response status is 200 OK - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Create a case returns "Bad Request" response Given new "CreateCase" request And body with value {"data": {"attributes": {"priority": "NOT_DEFINED", "title": "Security breach investigation", "type": "STANDARD"}, "relationships": {"assignee": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "userx"}}, "project": {"data": {"id": "e555e290-ed65-49bd-ae18-8acbfcf18db7", "type": "project"}}}, "type": "case"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Create a case returns "CREATED" response Given new "CreateCase" request And there is a valid "user" in the system @@ -83,53 +83,53 @@ Feature: Case Management And the response "data.attributes.type" is equal to "STANDARD" And the response "data.attributes.priority" is equal to "NOT_DEFINED" - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Create a case returns "Not Found" response Given new "CreateCase" request And body with value {"data": {"attributes": {"priority": "NOT_DEFINED", "title": "Security breach investigation", "type": "STANDARD"}, "relationships": {"assignee": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "user"}}, "project": {"data": {"id": "e555e290-ed65-49bd-ae18-8acbfcf18db7", "type": "project"}}}, "type": "case"}} When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Create a project returns "Bad Request" response Given new "CreateProject" request And body with value {"data": {"attributes": {"key": "SEC", "name": "Security Investigation"}, "type": "project"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Create a project returns "CREATED" response Given new "CreateProject" request And body with value {"data": {"attributes": {"key": "SEC", "name": "Security Investigation"}, "type": "project"}} When the request is sent Then the response status is 201 CREATED - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Create a project returns "Not Found" response Given new "CreateProject" request And body with value {"data": {"attributes": {"key": "SEC", "name": "Security Investigation"}, "type": "project"}} When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Get all projects returns "Bad Request" response Given new "GetProjects" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Get all projects returns "Not Found" response Given new "GetProjects" request When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Get all projects returns "OK" response Given new "GetProjects" request When the request is sent Then the response status is 200 OK - @skip @team:DataDog/case-management + @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Get the details of a case returns "Bad Request" response Given new "GetCase" request And there is a valid "case" in the system @@ -137,14 +137,14 @@ Feature: Case Management When the request is sent Then the response status is 400 Bad Request - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Get the details of a case returns "Not Found" response Given new "GetCase" request And request contains "case_id" parameter with value "67d80aa3-36ff-44b9-a694-c501a7591737" When the request is sent Then the response status is 404 Not Found - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Get the details of a case returns "OK" response Given new "GetCase" request And there is a valid "case" in the system @@ -152,66 +152,66 @@ Feature: Case Management When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Get the details of a project returns "Bad Request" response Given new "GetProject" request And request contains "project_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Get the details of a project returns "Not Found" response Given new "GetProject" request And request contains "project_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Get the details of a project returns "OK" response Given new "GetProject" request And request contains "project_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Remove a project returns "API error response" response Given new "DeleteProject" request And request contains "project_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 API error response - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Remove a project returns "No Content" response Given new "DeleteProject" request And request contains "project_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Search cases returns "Bad Request" response Given new "SearchCases" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Search cases returns "Not Found" response Given new "SearchCases" request When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/case-management + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Search cases returns "OK" response Given new "SearchCases" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/case-management @with-pagination + @generated @skip @team:DataDog/case-management @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Search cases returns "OK" response with pagination Given new "SearchCases" request When the request with pagination is sent Then the response status is 200 OK - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Unarchive case returns "Bad Request" response Given new "UnarchiveCase" request And there is a valid "case" in the system @@ -220,7 +220,7 @@ Feature: Case Management When the request is sent Then the response status is 400 Bad Request - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Unarchive case returns "Not Found" response Given new "UnarchiveCase" request And request contains "case_id" parameter with value "67d80aa3-36ff-44b9-a694-c501a7591737" @@ -228,7 +228,7 @@ Feature: Case Management When the request is sent Then the response status is 404 Not Found - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Unarchive case returns "OK" response Given new "UnarchiveCase" request And there is a valid "case" in the system @@ -237,7 +237,7 @@ Feature: Case Management When the request is sent Then the response status is 200 OK - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Unassign case returns "Bad Request" response Given new "UnassignCase" request And there is a valid "case" in the system @@ -246,7 +246,7 @@ Feature: Case Management When the request is sent Then the response status is 400 Bad Request - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Unassign case returns "Not Found" response Given new "UnassignCase" request And request contains "case_id" parameter with value "67d80aa3-36ff-44b9-a694-c501a7591737" @@ -254,7 +254,7 @@ Feature: Case Management When the request is sent Then the response status is 404 Not Found - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Unassign case returns "OK" response Given new "UnassignCase" request And there is a valid "case" in the system @@ -263,7 +263,7 @@ Feature: Case Management When the request is sent Then the response status is 200 OK - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Update case priority returns "Bad Request" response Given new "UpdatePriority" request And there is a valid "case" in the system @@ -272,7 +272,7 @@ Feature: Case Management When the request is sent Then the response status is 400 Bad Request - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Update case priority returns "Not Found" response Given new "UpdatePriority" request And request contains "case_id" parameter with value "67d80aa3-36ff-44b9-a694-c501a7591737" @@ -280,7 +280,7 @@ Feature: Case Management When the request is sent Then the response status is 404 Not Found - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Update case priority returns "OK" response Given new "UpdatePriority" request And there is a valid "case" in the system @@ -290,7 +290,7 @@ Feature: Case Management Then the response status is 200 OK And the response "data.attributes.priority" is equal to "P3" - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Update case status returns "Bad Request" response Given new "UpdateStatus" request And there is a valid "case" in the system @@ -299,7 +299,7 @@ Feature: Case Management When the request is sent Then the response status is 400 Bad Request - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Update case status returns "Not Found" response Given new "UpdateStatus" request And request contains "case_id" parameter with value "67d80aa3-36ff-44b9-a694-c501a7591737" @@ -307,7 +307,7 @@ Feature: Case Management When the request is sent Then the response status is 404 Not Found - @team:DataDog/case-management + @team:DataDog/case-management @team:DataDog/web-frameworks-approvers Scenario: Update case status returns "OK" response Given new "UpdateStatus" request And there is a valid "case" in the system diff --git a/features/v2/ci_visibility_pipelines.feature b/features/v2/ci_visibility_pipelines.feature index 81bd36d12d5e..5df72860fa11 100644 --- a/features/v2/ci_visibility_pipelines.feature +++ b/features/v2/ci_visibility_pipelines.feature @@ -9,7 +9,7 @@ Feature: CI Visibility Pipelines Given a valid "apiKeyAuth" key in the system And an instance of "CIVisibilityPipelines" API - @generated @skip @team:Datadog/ci-app-backend + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Aggregate pipelines events returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "AggregateCIAppPipelineEvents" request @@ -17,7 +17,7 @@ Feature: CI Visibility Pipelines When the request is sent Then the response status is 400 Bad Request - @team:Datadog/ci-app-backend + @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Aggregate pipelines events returns "OK" response Given a valid "appKeyAuth" key in the system And new "AggregateCIAppPipelineEvents" request @@ -26,14 +26,14 @@ Feature: CI Visibility Pipelines Then the response status is 200 OK And the response "meta.status" is equal to "done" - @generated @skip @team:Datadog/ci-app-backend + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Get a list of pipelines events returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListCIAppPipelineEvents" request When the request is sent Then the response status is 400 Bad Request - @team:Datadog/ci-app-backend + @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Get a list of pipelines events returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListCIAppPipelineEvents" request @@ -44,7 +44,7 @@ Feature: CI Visibility Pipelines When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:Datadog/ci-app-backend @with-pagination + @replay-only @skip-validation @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend @with-pagination Scenario: Get a list of pipelines events returns "OK" response with pagination Given a valid "appKeyAuth" key in the system And new "ListCIAppPipelineEvents" request @@ -55,7 +55,7 @@ Feature: CI Visibility Pipelines Then the response status is 200 OK And the response has 2 items - @generated @skip @team:Datadog/ci-app-backend + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Search pipelines events returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "SearchCIAppPipelineEvents" request @@ -63,7 +63,7 @@ Feature: CI Visibility Pipelines When the request is sent Then the response status is 400 Bad Request - @team:Datadog/ci-app-backend + @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Search pipelines events returns "OK" response Given a valid "appKeyAuth" key in the system And new "SearchCIAppPipelineEvents" request @@ -71,7 +71,7 @@ Feature: CI Visibility Pipelines When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:Datadog/ci-app-backend @with-pagination + @replay-only @skip-validation @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend @with-pagination Scenario: Search pipelines events returns "OK" response with pagination Given a valid "appKeyAuth" key in the system And new "SearchCIAppPipelineEvents" request @@ -80,49 +80,49 @@ Feature: CI Visibility Pipelines Then the response status is 200 OK And the response has 2 items - @generated @skip @team:Datadog/ci-app-backend + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send pipeline event returns "Bad Request" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"resource": "Details TBD"}, "type": "cipipeline_resource_request"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/ci-app-backend + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send pipeline event returns "Payload Too Large" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"resource": "Details TBD"}, "type": "cipipeline_resource_request"}} When the request is sent Then the response status is 413 Payload Too Large - @generated @skip @team:Datadog/ci-app-backend + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send pipeline event returns "Request Timeout" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"resource": "Details TBD"}, "type": "cipipeline_resource_request"}} When the request is sent Then the response status is 408 Request Timeout - @team:Datadog/ci-app-backend + @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send pipeline event returns "Request accepted for processing" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"resource": {"level": "pipeline","unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a","name": "Deploy to AWS","url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1","start": "{{ timeISO('now - 120s') }}","end": "{{ timeISO('now - 30s') }}","status": "success","partial_retry": false,"git": {"repository_url": "https://github.com/DataDog/datadog-agent","sha": "7f263865994b76066c4612fd1965215e7dcb4cd2","author_email": "john.doe@email.com"}}},"type": "cipipeline_resource_request"}} When the request is sent Then the response status is 202 Request accepted for processing - @team:Datadog/ci-app-backend + @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send pipeline event with custom provider returns "Request accepted for processing" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"provider_name": "example-provider", "resource": {"level": "pipeline","unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a","name": "Deploy to AWS","url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1","start": "{{ timeISO('now - 120s') }}","end": "{{ timeISO('now - 30s') }}","status": "success","partial_retry": false,"git": {"repository_url": "https://github.com/DataDog/datadog-agent","sha": "7f263865994b76066c4612fd1965215e7dcb4cd2","author_email": "john.doe@email.com"}}},"type": "cipipeline_resource_request"}} When the request is sent Then the response status is 202 Request accepted for processing - @skip @team:Datadog/ci-app-backend + @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send pipeline job event returns "Request accepted for processing" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"resource": {"level": "job", "id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33", "name": "Build image", "pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a", "pipeline_name": "Deploy to AWS", "start": "{{ timeISO('now - 120s') }}", "end": "{{ timeISO('now - 30s') }}", "status": "error", "url": "https://my-ci-provider.example/jobs/my-jobs/run/1"}}, "type": "cipipeline_resource_request"}} When the request is sent Then the response status is 202 Request accepted for processing - @team:Datadog/ci-app-backend + @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send running pipeline event returns "Request accepted for processing" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"resource": {"level": "pipeline","unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a","name": "Deploy to AWS","url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1","start": "{{ timeISO('now - 120s') }}","status": "running","partial_retry": false,"git": {"repository_url": "https://github.com/DataDog/datadog-agent","sha": "7f263865994b76066c4612fd1965215e7dcb4cd2","author_email": "john.doe@email.com"}}},"type": "cipipeline_resource_request"}} diff --git a/features/v2/ci_visibility_tests.feature b/features/v2/ci_visibility_tests.feature index 9d6f849b2050..c9b4313032b9 100644 --- a/features/v2/ci_visibility_tests.feature +++ b/features/v2/ci_visibility_tests.feature @@ -9,14 +9,14 @@ Feature: CI Visibility Tests And a valid "appKeyAuth" key in the system And an instance of "CIVisibilityTests" API - @generated @skip @team:Datadog/ci-app-backend + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Aggregate tests events returns "Bad Request" response Given new "AggregateCIAppTestEvents" request And body with value {"compute": [{"aggregation": "pc90", "interval": "5m", "metric": "@duration", "type": "total"}], "filter": {"from": "now-15m", "query": "@test.service:web-ui-tests AND @test.status:fail", "to": "now"}, "group_by": [{"facet": "@test.service", "histogram": {"interval": 10, "max": 100, "min": 50}, "limit": 10, "sort": {"aggregation": "count", "order": "asc"}, "total": false}], "options": {"timezone": "GMT"}} When the request is sent Then the response status is 400 Bad Request - @team:Datadog/ci-app-backend + @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Aggregate tests events returns "OK" response Given new "AggregateCIAppTestEvents" request And body with value {"compute": [{"aggregation": "count", "metric": "@test.is_flaky", "type": "total"}], "filter": {"from": "now-15m", "query": "@language:(python OR go)", "to": "now"}, "group_by": [{"facet": "@git.branch", "limit": 10, "sort": {"order": "asc"}, "total": false}], "options": {"timezone": "GMT"}} @@ -24,13 +24,13 @@ Feature: CI Visibility Tests Then the response status is 200 OK And the response "meta.status" is equal to "done" - @generated @skip @team:Datadog/ci-app-backend + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Get a list of tests events returns "Bad Request" response Given new "ListCIAppTestEvents" request When the request is sent Then the response status is 400 Bad Request - @team:Datadog/ci-app-backend + @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Get a list of tests events returns "OK" response Given new "ListCIAppTestEvents" request And request contains "filter[query]" parameter with value "@test.service:web-ui-tests" @@ -40,7 +40,7 @@ Feature: CI Visibility Tests When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:Datadog/ci-app-backend @with-pagination + @replay-only @skip-validation @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend @with-pagination Scenario: Get a list of tests events returns "OK" response with pagination Given new "ListCIAppTestEvents" request And request contains "filter[from]" parameter with value "{{ timeISO('now - 30s') }}" @@ -50,21 +50,21 @@ Feature: CI Visibility Tests Then the response status is 200 OK And the response has 2 items - @generated @skip @team:Datadog/ci-app-backend + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Search tests events returns "Bad Request" response Given new "SearchCIAppTestEvents" request And body with value {"filter": {"from": "now-15m", "query": "@test.service:web-ui-tests AND @test.status:fail", "to": "now"}, "options": {"timezone": "GMT"}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "timestamp"} When the request is sent Then the response status is 400 Bad Request - @team:Datadog/ci-app-backend + @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Search tests events returns "OK" response Given new "SearchCIAppTestEvents" request And body with value {"filter": {"from": "now-15m", "query": "@test.service:web-ui-tests AND @test.status:skip", "to": "now"}, "options": {"timezone": "GMT"}, "page": {"limit": 25}, "sort": "timestamp"} When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:Datadog/ci-app-backend @with-pagination + @replay-only @skip-validation @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend @with-pagination Scenario: Search tests events returns "OK" response with pagination Given new "SearchCIAppTestEvents" request And body with value {"filter": {"from": "now-15m", "query": "@test.status:pass AND -@language:python", "to": "now"}, "page": {"limit": 2}, "sort": "timestamp"} diff --git a/features/v2/cloud_cost_management.feature b/features/v2/cloud_cost_management.feature index 4bef351f25c0..095d6ef93687 100644 --- a/features/v2/cloud_cost_management.feature +++ b/features/v2/cloud_cost_management.feature @@ -13,14 +13,14 @@ Feature: Cloud Cost Management And a valid "appKeyAuth" key in the system And an instance of "CloudCostManagement" API - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Create Cloud Cost Management AWS CUR config returns "Bad Request" response Given new "CreateCostAWSCURConfig" request And body with value {"data": {"attributes": {"account_id": "123456789123", "bucket_name": "dd-cost-bucket", "bucket_region": "us-east-1", "report_name": "dd-report-name", "report_prefix": "dd-report-prefix"}, "type": "aws_cur_config_post_request"}} When the request is sent Then the response status is 400 Bad Request - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Create Cloud Cost Management AWS CUR config returns "OK" response Given new "CreateCostAWSCURConfig" request And body with value {"data": {"attributes": {"account_id": "123456789123", "bucket_name": "dd-cost-bucket", "bucket_region": "us-east-1", "report_name": "dd-report-name", "report_prefix": "dd-report-prefix"}, "type": "aws_cur_config_post_request"}} @@ -28,14 +28,14 @@ Feature: Cloud Cost Management Then the response status is 200 OK And the response "data.attributes.account_id" is equal to "123456789123" - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Create Cloud Cost Management Azure configs returns "Bad Request" response Given new "CreateCostAzureUCConfigs" request And body with value {"data": {"attributes": {"account_id": "1234abcd-1234-abcd-1234-1234abcd1234", "actual_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "amortized_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", "scope": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234"}, "type": "azure_uc_config_post_request"}} When the request is sent Then the response status is 400 Bad Request - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Create Cloud Cost Management Azure configs returns "OK" response Given new "CreateCostAzureUCConfigs" request And body with value {"data": {"attributes": {"account_id": "1234abcd-1234-abcd-1234-1234abcd1234", "actual_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "amortized_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", "is_enabled": true, "scope": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234"}, "type": "azure_uc_config_post_request"}} @@ -43,63 +43,63 @@ Feature: Cloud Cost Management Then the response status is 200 OK And the response "data.attributes.configs[0].account_id" is equal to "1234abcd-1234-abcd-1234-1234abcd1234" - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management AWS CUR config returns "Bad Request" response Given new "DeleteCostAWSCURConfig" request And request contains "cloud_account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management AWS CUR config returns "No Content" response Given new "DeleteCostAWSCURConfig" request And request contains "cloud_account_id" parameter with value "100" When the request is sent Then the response status is 204 No Content - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management AWS CUR config returns "Not Found" response Given new "DeleteCostAWSCURConfig" request And request contains "cloud_account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management Azure config returns "Bad Request" response Given new "DeleteCostAzureUCConfig" request And request contains "cloud_account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management Azure config returns "No Content" response Given new "DeleteCostAzureUCConfig" request And request contains "cloud_account_id" parameter with value "100" When the request is sent Then the response status is 204 No Content - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management Azure config returns "Not Found" response Given new "DeleteCostAzureUCConfig" request And request contains "cloud_account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Delete Custom Costs File returns "No Content" response Given new "DeleteCustomCostsFile" request And request contains "file_id" parameter with value "9d055d22-a838-4e9f-bc34-a4f9ab66280c" When the request is sent Then the response status is 204 No Content - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Delete Custom Costs file returns "No Content" response Given new "DeleteCustomCostsFile" request And request contains "file_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 No Content - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Get Custom Costs File returns "OK" response Given new "GetCustomCostsFile" request And request contains "file_id" parameter with value "9d055d22-a838-4e9f-bc34-a4f9ab66280c" @@ -108,41 +108,41 @@ Feature: Cloud Cost Management And the response "data.attributes.name" is equal to "data.json" And the response "data.attributes.content[0].ChargeDescription" is equal to "my_description" - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Get Custom Costs file returns "OK" response Given new "GetCustomCostsFile" request And request contains "file_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: List Cloud Cost Management AWS CUR configs returns "OK" response Given new "ListCostAWSCURConfigs" request When the request is sent Then the response status is 200 OK And the response "data[0].attributes.bucket_name" is equal to "test_bucket_name" - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: List Cloud Cost Management Azure configs returns "OK" response Given new "ListCostAzureUCConfigs" request When the request is sent Then the response status is 200 OK And the response "data[0].attributes.configs[0].export_name" is equal to "test_export_name" - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: List Custom Costs Files returns "OK" response Given new "ListCustomCostsFiles" request When the request is sent Then the response status is 200 OK And the response "data[0].attributes.name" is equal to "data.json" - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: List Custom Costs files returns "OK" response Given new "ListCustomCostsFiles" request When the request is sent Then the response status is 200 OK - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Update Cloud Cost Management AWS CUR config returns "OK" response Given new "UpdateCostAWSCURConfig" request And request contains "cloud_account_id" parameter with value "100" @@ -151,7 +151,7 @@ Feature: Cloud Cost Management Then the response status is 200 OK And the response "data[0].attributes.account_id" is equal to "000000000000" - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Update Cloud Cost Management Azure config returns "Bad Request" response Given new "UpdateCostAzureUCConfigs" request And request contains "cloud_account_id" parameter from "REPLACE.ME" @@ -159,7 +159,7 @@ Feature: Cloud Cost Management When the request is sent Then the response status is 400 Bad Request - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Update Cloud Cost Management Azure config returns "OK" response Given new "UpdateCostAzureUCConfigs" request And request contains "cloud_account_id" parameter with value "100" @@ -168,7 +168,7 @@ Feature: Cloud Cost Management Then the response status is 200 OK And the response "data.type" is equal to "azure_uc_configs" - @replay-only @team:Datadog/cloud-cost-management + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Upload Custom Costs File returns "Accepted" response Given new "UploadCustomCostsFile" request And body with value [{ "ProviderName": "my_provider", "ChargePeriodStart": "2023-05-06", "ChargePeriodEnd": "2023-06-06","ChargeDescription": "my_description","BilledCost": 250,"BillingCurrency": "USD","Tags": {"key": "value"}}] @@ -176,7 +176,7 @@ Feature: Cloud Cost Management Then the response status is 202 Accepted And the response "data.attributes.name" is equal to "data.json" - @generated @skip @team:Datadog/cloud-cost-management + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/cloud-cost-management Scenario: Upload Custom Costs file returns "Accepted" response Given new "UploadCustomCostsFile" request And body with value [{"BilledCost": 100.5, "BillingCurrency": "USD", "ChargeDescription": "Monthly usage charge for my service", "ChargePeriodEnd": "2023-02-28", "ChargePeriodStart": "2023-02-01"}] diff --git a/features/v2/cloudflare_integration.feature b/features/v2/cloudflare_integration.feature index 506d440826d1..3f9fd97871e2 100644 --- a/features/v2/cloudflare_integration.feature +++ b/features/v2/cloudflare_integration.feature @@ -10,28 +10,28 @@ Feature: Cloudflare Integration And a valid "appKeyAuth" key in the system And an instance of "CloudflareIntegration" API - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Cloudflare account returns "Bad Request" response Given new "CreateCloudflareAccount" request And body with value {"data": {"attributes": {"api_key": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "email": "test-email@example.com", "name": "test-name", "resources": ["web", "dns", "lb", "worker"], "zones": ["zone_id_1", "zone_id_2"]}, "type": "cloudflare-accounts"}} When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/saas-integrations + @replay-only @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Cloudflare account returns "Bad Request" response due to missing email Given new "CreateCloudflareAccount" request And body with value {"data": {"attributes": {"api_key": "fakekey", "name": "{{ unique_lower_alnum }}"}, "type": "cloudflare-accounts"}} When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/saas-integrations + @replay-only @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Cloudflare account returns "Bad Request" response using invalid auth key Given new "CreateCloudflareAccount" request And body with value {"data": {"attributes": {"api_key": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "name": "{{ unique_lower_alnum }}"}, "type": "cloudflare-accounts"}} When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/saas-integrations + @replay-only @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Cloudflare account returns "CREATED" response Given new "CreateCloudflareAccount" request And body with value {"data": {"attributes": {"api_key": "fakekey", "email": "dev@datadoghq.com", "name": "{{ unique_lower_alnum }}"}, "type": "cloudflare-accounts"}} @@ -41,49 +41,49 @@ Feature: Cloudflare Integration And the response "data.attributes.email" is equal to "dev@datadoghq.com" And the response "data.attributes.name" is equal to "{{ unique_lower_alnum }}" - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Cloudflare account returns "Not Found" response Given new "CreateCloudflareAccount" request And body with value {"data": {"attributes": {"api_key": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "email": "test-email@example.com", "name": "test-name", "resources": ["web", "dns", "lb", "worker"], "zones": ["zone_id_1", "zone_id_2"]}, "type": "cloudflare-accounts"}} When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Cloudflare account returns "Bad Request" response Given new "DeleteCloudflareAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Cloudflare account returns "Not Found" response Given new "DeleteCloudflareAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Cloudflare account returns "OK" response Given new "DeleteCloudflareAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Cloudflare account returns "Bad Request" response Given new "GetCloudflareAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Cloudflare account returns "Not Found" response Given new "GetCloudflareAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/saas-integrations + @replay-only @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Cloudflare account returns "OK" response Given there is a valid "cloudflare_account" in the system And new "GetCloudflareAccount" request @@ -94,19 +94,19 @@ Feature: Cloudflare Integration And the response "data.attributes.email" is equal to "dev@datadog.com" And the response "data.attributes.name" is equal to "{{ unique_lower_alnum }}" - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Cloudflare accounts returns "Bad Request" response Given new "ListCloudflareAccounts" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Cloudflare accounts returns "Not Found" response Given new "ListCloudflareAccounts" request When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/saas-integrations + @replay-only @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Cloudflare accounts returns "OK" response Given there is a valid "cloudflare_account" in the system And new "ListCloudflareAccounts" request @@ -114,7 +114,7 @@ Feature: Cloudflare Integration Then the response status is 200 OK And the response "data[0].type" is equal to "cloudflare-accounts" - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Cloudflare account returns "Bad Request" response Given new "UpdateCloudflareAccount" request And request contains "account_id" parameter from "REPLACE.ME" @@ -122,7 +122,7 @@ Feature: Cloudflare Integration When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/saas-integrations + @replay-only @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Cloudflare account returns "Bad Request" response due to invalid api key Given there is a valid "cloudflare_account" in the system And new "UpdateCloudflareAccount" request @@ -131,7 +131,7 @@ Feature: Cloudflare Integration When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/saas-integrations + @replay-only @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Cloudflare account returns "Bad Request" response due to missing required email Given there is a valid "cloudflare_account" in the system And new "UpdateCloudflareAccount" request @@ -140,7 +140,7 @@ Feature: Cloudflare Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Cloudflare account returns "Not Found" response Given new "UpdateCloudflareAccount" request And request contains "account_id" parameter from "REPLACE.ME" @@ -148,7 +148,7 @@ Feature: Cloudflare Integration When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/saas-integrations + @replay-only @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Cloudflare account returns "OK" response Given there is a valid "cloudflare_account" in the system And new "UpdateCloudflareAccount" request diff --git a/features/v2/confluent_cloud.feature b/features/v2/confluent_cloud.feature index f81e01d0938d..754c3c9c679d 100644 --- a/features/v2/confluent_cloud.feature +++ b/features/v2/confluent_cloud.feature @@ -10,28 +10,28 @@ Feature: Confluent Cloud And a valid "appKeyAuth" key in the system And an instance of "ConfluentCloud" API - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Confluent account returns "Bad Request" response Given new "CreateConfluentAccount" request And body with value {"data": {"attributes": {"api_key": "TESTAPIKEY123", "api_secret": "test-api-secret-123", "resources": [{"enable_custom_metrics": false, "id": "resource-id-123", "resource_type": "kafka", "tags": ["myTag", "myTag2:myValue"]}], "tags": ["myTag", "myTag2:myValue"]}, "type": "confluent-cloud-accounts"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Confluent account returns "Not Found" response Given new "CreateConfluentAccount" request And body with value {"data": {"attributes": {"api_key": "TESTAPIKEY123", "api_secret": "test-api-secret-123", "resources": [{"enable_custom_metrics": false, "id": "resource-id-123", "resource_type": "kafka", "tags": ["myTag", "myTag2:myValue"]}], "tags": ["myTag", "myTag2:myValue"]}, "type": "confluent-cloud-accounts"}} When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Confluent account returns "OK" response Given new "CreateConfluentAccount" request And body with value {"data": {"attributes": {"api_key": "TESTAPIKEY123", "api_secret": "test-api-secret-123", "resources": [{"enable_custom_metrics": false, "id": "resource-id-123", "resource_type": "kafka", "tags": ["myTag", "myTag2:myValue"]}], "tags": ["myTag", "myTag2:myValue"]}, "type": "confluent-cloud-accounts"}} When the request is sent Then the response status is 201 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add resource to Confluent account returns "Bad Request" response Given new "CreateConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" @@ -39,7 +39,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add resource to Confluent account returns "Not Found" response Given new "CreateConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" @@ -47,7 +47,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add resource to Confluent account returns "OK" response Given there is a valid "confluent_account" in the system And new "CreateConfluentResource" request @@ -59,21 +59,21 @@ Feature: Confluent Cloud And the response "data.attributes.resource_type" is equal to "kafka" And the response "data.attributes.tags[0]" is equal to "mytag" - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Confluent account returns "Bad Request" response Given new "DeleteConfluentAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Confluent account returns "Not Found" response Given new "DeleteConfluentAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Confluent account returns "OK" response Given there is a valid "confluent_account" in the system And new "DeleteConfluentAccount" request @@ -81,7 +81,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete resource from Confluent account returns "Bad Request" response Given new "DeleteConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" @@ -89,7 +89,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete resource from Confluent account returns "Not Found" response Given new "DeleteConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" @@ -97,7 +97,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete resource from Confluent account returns "OK" response Given new "DeleteConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" @@ -105,21 +105,21 @@ Feature: Confluent Cloud When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Confluent account returns "Bad Request" response Given new "GetConfluentAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Confluent account returns "Not Found" response Given new "GetConfluentAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Confluent account returns "OK" response Given there is a valid "confluent_account" in the system And new "GetConfluentAccount" request @@ -131,7 +131,7 @@ Feature: Confluent Cloud And the response "data.attributes.resources[0].resource_type" is equal to "kafka" And the response "data.attributes.resources[0].enable_custom_metrics" is equal to false - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get resource from Confluent account returns "Bad Request" response Given new "GetConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" @@ -139,7 +139,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get resource from Confluent account returns "Not Found" response Given new "GetConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" @@ -147,7 +147,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get resource from Confluent account returns "OK" response Given new "GetConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" @@ -155,40 +155,40 @@ Feature: Confluent Cloud When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Confluent Account resources returns "Bad Request" response Given new "ListConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Confluent Account resources returns "Not Found" response Given new "ListConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Confluent Account resources returns "OK" response Given new "ListConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Confluent accounts returns "Bad Request" response Given new "ListConfluentAccount" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Confluent accounts returns "Not Found" response Given new "ListConfluentAccount" request When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Confluent accounts returns "OK" response Given there is a valid "confluent_account" in the system And new "ListConfluentAccount" request @@ -196,7 +196,7 @@ Feature: Confluent Cloud Then the response status is 200 OK And the response "data[0].type" is equal to "confluent-cloud-accounts" - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Confluent account returns "Bad Request" response Given new "UpdateConfluentAccount" request And request contains "account_id" parameter from "REPLACE.ME" @@ -204,7 +204,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Confluent account returns "Not Found" response Given new "UpdateConfluentAccount" request And request contains "account_id" parameter from "REPLACE.ME" @@ -212,7 +212,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Confluent account returns "OK" response Given there is a valid "confluent_account" in the system And new "UpdateConfluentAccount" request @@ -223,7 +223,7 @@ Feature: Confluent Cloud And the response "data.attributes.tags[0]" is equal to "updated_tag:val" And the response "data.attributes.api_key" is equal to "{{ confluent_account.data.attributes.api_key }}" - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update resource in Confluent account returns "Bad Request" response Given new "UpdateConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" @@ -232,7 +232,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update resource in Confluent account returns "Not Found" response Given new "UpdateConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" @@ -241,7 +241,7 @@ Feature: Confluent Cloud When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update resource in Confluent account returns "OK" response Given new "UpdateConfluentResource" request And request contains "account_id" parameter from "REPLACE.ME" diff --git a/features/v2/container_images.feature b/features/v2/container_images.feature index ad6e1559becb..ae6363afedba 100644 --- a/features/v2/container_images.feature +++ b/features/v2/container_images.feature @@ -10,25 +10,25 @@ Feature: Container Images And an instance of "ContainerImages" API And new "ListContainerImages" request - @replay-only @team:DataDog/processes + @replay-only @team:DataDog/processes @team:DataDog/web-frameworks-approvers Scenario: Get all Container Image groups returns "OK" response Given request contains "group_by" parameter with value "short_image" When the request is sent Then the response status is 200 OK And the response "data[0].attributes.name" is equal to "test_name" - @generated @skip @team:DataDog/processes + @generated @skip @team:DataDog/processes @team:DataDog/web-frameworks-approvers Scenario: Get all Container Images returns "Bad Request" response When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/processes + @replay-only @team:DataDog/processes @team:DataDog/web-frameworks-approvers Scenario: Get all Container Images returns "OK" response When the request is sent Then the response status is 200 OK And the response "data[0].attributes.name" is equal to "test_name" - @replay-only @skip-validation @team:DataDog/processes @with-pagination + @replay-only @skip-validation @team:DataDog/processes @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all Container Images returns "OK" response with pagination Given request contains "page[size]" parameter with value 2 When the request with pagination is sent diff --git a/features/v2/containers.feature b/features/v2/containers.feature index 8149319237f4..c1e8d5d251d5 100644 --- a/features/v2/containers.feature +++ b/features/v2/containers.feature @@ -10,25 +10,25 @@ Feature: Containers And an instance of "Containers" API And new "ListContainers" request - @replay-only @team:DataDog/processes + @replay-only @team:DataDog/processes @team:DataDog/web-frameworks-approvers Scenario: Get All Container groups returns "OK" response Given request contains "group_by" parameter with value "short_image" When the request is sent Then the response status is 200 OK And the response "data[0].attributes.count" is equal to 123 - @generated @skip @team:DataDog/processes + @generated @skip @team:DataDog/processes @team:DataDog/web-frameworks-approvers Scenario: Get All Containers returns "Bad Request" response When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/processes + @replay-only @team:DataDog/processes @team:DataDog/web-frameworks-approvers Scenario: Get All Containers returns "OK" response When the request is sent Then the response status is 200 OK And the response "data[0].attributes.name" is equal to "test_name" - @replay-only @skip-validation @team:DataDog/processes @with-pagination + @replay-only @skip-validation @team:DataDog/processes @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get All Containers returns "OK" response with pagination Given request contains "page[size]" parameter with value 2 When the request with pagination is sent diff --git a/features/v2/csm_agents.feature b/features/v2/csm_agents.feature index 49cde30aa904..3465db1f73f3 100644 --- a/features/v2/csm_agents.feature +++ b/features/v2/csm_agents.feature @@ -12,13 +12,13 @@ Feature: CSM Agents And a valid "appKeyAuth" key in the system And an instance of "CSMAgents" API - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get all CSM Agents returns "OK" response Given new "ListAllCSMAgents" request When the request is sent Then the response status is 200 OK - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get all CSM Serverless Agents returns "OK" response Given new "ListAllCSMServerlessAgents" request When the request is sent diff --git a/features/v2/csm_coverage_analysis.feature b/features/v2/csm_coverage_analysis.feature index 8c3689dbfa71..b112d47f7c99 100644 --- a/features/v2/csm_coverage_analysis.feature +++ b/features/v2/csm_coverage_analysis.feature @@ -12,19 +12,19 @@ Feature: CSM Coverage Analysis And a valid "appKeyAuth" key in the system And an instance of "CSMCoverageAnalysis" API - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get the CSM Cloud Accounts Coverage Analysis returns "OK" response Given new "GetCSMCloudAccountsCoverageAnalysis" request When the request is sent Then the response status is 200 OK - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get the CSM Hosts and Containers Coverage Analysis returns "OK" response Given new "GetCSMHostsAndContainersCoverageAnalysis" request When the request is sent Then the response status is 200 OK - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get the CSM Serverless Coverage Analysis returns "OK" response Given new "GetCSMServerlessCoverageAnalysis" request When the request is sent diff --git a/features/v2/csm_threats.feature b/features/v2/csm_threats.feature index 17d49528c52c..c470cc065cdf 100644 --- a/features/v2/csm_threats.feature +++ b/features/v2/csm_threats.feature @@ -11,42 +11,42 @@ Feature: CSM Threats And a valid "appKeyAuth" key in the system And an instance of "CSMThreats" API - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Create a CSM Threats Agent rule returns "Bad Request" response Given new "CreateCSMThreatsAgentRule" request And body with value {"data": {"attributes": {"description": "My Agent rule", "enabled": true, "expression": "exec.file.name == sh", "name": "{{ unique_lower_alnum }}"}, "type": "agent_rule"}} When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Create a CSM Threats Agent rule returns "Conflict" response Given new "CreateCSMThreatsAgentRule" request And body with value {"data": {"attributes": {"description": "My Agent rule", "enabled": true, "expression": "exec.file.name == \"sh\"", "name": "my_agent_rule"}, "type": "agent_rule"}} When the request is sent Then the response status is 409 Conflict - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Create a CSM Threats Agent rule returns "OK" response Given new "CreateCSMThreatsAgentRule" request And body with value {"data": {"attributes": {"description": "My Agent rule", "enabled": true, "expression": "exec.file.name == \"sh\"", "filters": ["os == \"linux\""], "name": "{{ unique_lower_alnum }}"}, "type": "agent_rule"}} When the request is sent Then the response status is 200 OK - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Create a Cloud Workload Security Agent rule returns "Bad Request" response Given new "CreateCloudWorkloadSecurityAgentRule" request And body with value {"data": {"attributes": {"description": "Test Agent rule", "enabled": true, "expression": "open.file.path = sh", "name": "{{ unique_lower_alnum }}"}, "type": "agent_rule"}} When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Create a Cloud Workload Security Agent rule returns "Conflict" response Given new "CreateCloudWorkloadSecurityAgentRule" request And body with value {"data": {"attributes": {"description": "Test Agent rule", "enabled": true, "expression": "exec.file.name == \"sh\"", "name": "{{ unique_lower_alnum }}"}, "type": "agent_rule"}} When the request is sent Then the response status is 409 Conflict - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Create a Cloud Workload Security Agent rule returns "OK" response Given new "CreateCloudWorkloadSecurityAgentRule" request And body with value {"data": {"attributes": {"description": "Test Agent rule", "enabled": true, "expression": "exec.file.name == \"sh\"", "name": "{{ unique_lower_alnum }}"}, "type": "agent_rule"}} @@ -55,14 +55,14 @@ Feature: CSM Threats And the response "data.type" is equal to "agent_rule" And the response "data.attributes.description" is equal to "Test Agent rule" - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a CSM Threats Agent rule returns "Not Found" response Given new "DeleteCSMThreatsAgentRule" request And request contains "agent_rule_id" parameter with value "abc-123-xyz" When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a CSM Threats Agent rule returns "OK" response Given there is a valid "agent_rule_rc" in the system And new "DeleteCSMThreatsAgentRule" request @@ -70,14 +70,14 @@ Feature: CSM Threats When the request is sent Then the response status is 204 OK - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a Cloud Workload Security Agent rule returns "Not Found" response Given new "DeleteCloudWorkloadSecurityAgentRule" request And request contains "agent_rule_id" parameter with value "abc-123-xyz" When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a Cloud Workload Security Agent rule returns "OK" response Given there is a valid "agent_rule" in the system And new "DeleteCloudWorkloadSecurityAgentRule" request @@ -85,14 +85,14 @@ Feature: CSM Threats When the request is sent Then the response status is 204 OK - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Get a CSM Threats Agent rule returns "Not Found" response Given new "GetCSMThreatsAgentRule" request And request contains "agent_rule_id" parameter with value "abc-123-xyz" When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Get a CSM Threats Agent rule returns "OK" response Given there is a valid "agent_rule_rc" in the system And new "GetCSMThreatsAgentRule" request @@ -102,14 +102,14 @@ Feature: CSM Threats And the response "data.type" is equal to "agent_rule" And the response "data.attributes.description" is equal to "My Agent rule" - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Get a Cloud Workload Security Agent rule returns "Not Found" response Given new "GetCloudWorkloadSecurityAgentRule" request And request contains "agent_rule_id" parameter with value "abc-123-xyz" When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Get a Cloud Workload Security Agent rule returns "OK" response Given there is a valid "agent_rule" in the system And new "GetCloudWorkloadSecurityAgentRule" request @@ -119,13 +119,13 @@ Feature: CSM Threats And the response "data.type" is equal to "agent_rule" And the response "data.attributes.description" is equal to "My Agent rule" - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Get all CSM Threats Agent rules returns "OK" response Given new "ListCSMThreatsAgentRules" request When the request is sent Then the response status is 200 OK - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Get all Cloud Workload Security Agent rules returns "OK" response Given there is a valid "agent_rule" in the system And new "ListCloudWorkloadSecurityAgentRules" request @@ -133,19 +133,19 @@ Feature: CSM Threats Then the response status is 200 OK And the response "data[0].type" is equal to "agent_rule" - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Get the latest CSM Threats policy returns "OK" response Given new "DownloadCSMThreatsPolicy" request When the request is sent Then the response status is 200 OK - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Get the latest Cloud Workload Security policy returns "OK" response Given new "DownloadCloudWorkloadPolicyFile" request When the request is sent Then the response status is 200 OK - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Update a CSM Threats Agent rule returns "Bad Request" response Given there is a valid "agent_rule_rc" in the system And new "UpdateCSMThreatsAgentRule" request @@ -154,7 +154,7 @@ Feature: CSM Threats When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Update a CSM Threats Agent rule returns "Concurrent Modification" response Given new "UpdateCSMThreatsAgentRule" request And there is a valid "agent_rule" in the system @@ -163,7 +163,7 @@ Feature: CSM Threats When the request is sent Then the response status is 409 Concurrent Modification - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Update a CSM Threats Agent rule returns "Not Found" response Given new "UpdateCSMThreatsAgentRule" request And request contains "agent_rule_id" parameter with value "abc-123-xyz" @@ -171,7 +171,7 @@ Feature: CSM Threats When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Update a CSM Threats Agent rule returns "OK" response Given there is a valid "agent_rule_rc" in the system And new "UpdateCSMThreatsAgentRule" request @@ -182,7 +182,7 @@ Feature: CSM Threats And the response "data.type" is equal to "agent_rule" And the response "data.attributes.description" is equal to "Test Agent rule" - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Update a Cloud Workload Security Agent rule returns "Bad Request" response Given there is a valid "agent_rule" in the system And new "UpdateCloudWorkloadSecurityAgentRule" request @@ -191,7 +191,7 @@ Feature: CSM Threats When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Update a Cloud Workload Security Agent rule returns "Concurrent Modification" response Given there is a valid "agent_rule" in the system And new "UpdateCloudWorkloadSecurityAgentRule" request @@ -200,7 +200,7 @@ Feature: CSM Threats When the request is sent Then the response status is 409 Concurrent Modification - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Update a Cloud Workload Security Agent rule returns "Not Found" response Given new "UpdateCloudWorkloadSecurityAgentRule" request And request contains "agent_rule_id" parameter with value "abc-123-xyz" @@ -208,7 +208,7 @@ Feature: CSM Threats When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend + @team:DataDog/k9-cloud-security-platform @team:DataDog/k9-cws-backend @team:DataDog/web-frameworks-approvers Scenario: Update a Cloud Workload Security Agent rule returns "OK" response Given there is a valid "agent_rule" in the system And new "UpdateCloudWorkloadSecurityAgentRule" request diff --git a/features/v2/dashboard_lists.feature b/features/v2/dashboard_lists.feature index 1d36afaadd5f..048dc2ab1e38 100644 --- a/features/v2/dashboard_lists.feature +++ b/features/v2/dashboard_lists.feature @@ -8,7 +8,7 @@ Feature: Dashboard Lists And a valid "appKeyAuth" key in the system And an instance of "DashboardLists" API - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Add Items to a Dashboard List returns "Bad Request" response Given new "CreateDashboardListItems" request And request contains "dashboard_list_id" parameter from "REPLACE.ME" @@ -16,7 +16,7 @@ Feature: Dashboard Lists When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Add Items to a Dashboard List returns "Not Found" response Given new "CreateDashboardListItems" request And request contains "dashboard_list_id" parameter from "REPLACE.ME" @@ -24,7 +24,7 @@ Feature: Dashboard Lists When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Add Items to a Dashboard List returns "OK" response Given new "CreateDashboardListItems" request And request contains "dashboard_list_id" parameter from "REPLACE.ME" @@ -32,7 +32,7 @@ Feature: Dashboard Lists When the request is sent Then the response status is 200 OK - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Add custom screenboard dashboard to an existing dashboard list returns "OK" response Given there is a valid "dashboard_list" in the system And there is a valid "screenboard_dashboard" in the system @@ -45,7 +45,7 @@ Feature: Dashboard Lists And the response "added_dashboards_to_list[0].id" is equal to "{{ screenboard_dashboard.id }}" And the response "added_dashboards_to_list" has length 1 - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Add custom timeboard dashboard to an existing dashboard list returns "OK" response Given there is a valid "dashboard_list" in the system And there is a valid "dashboard" in the system @@ -58,7 +58,7 @@ Feature: Dashboard Lists And the response "added_dashboards_to_list[0].id" is equal to "{{ dashboard.id }}" And the response "added_dashboards_to_list" has length 1 - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete custom screenboard dashboard from an existing dashboard list returns "OK" response Given there is a valid "dashboard_list" in the system And there is a valid "screenboard_dashboard" in the system @@ -72,7 +72,7 @@ Feature: Dashboard Lists And the response "deleted_dashboards_from_list[0].id" is equal to "{{ screenboard_dashboard.id }}" And the response "deleted_dashboards_from_list" has length 1 - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete custom timeboard dashboard from an existing dashboard list returns "OK" response Given there is a valid "dashboard_list" in the system And there is a valid "dashboard" in the system @@ -86,7 +86,7 @@ Feature: Dashboard Lists And the response "deleted_dashboards_from_list[0].id" is equal to "{{ dashboard.id }}" And the response "deleted_dashboards_from_list" has length 1 - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete items from a dashboard list returns "Bad Request" response Given new "DeleteDashboardListItems" request And request contains "dashboard_list_id" parameter from "REPLACE.ME" @@ -94,7 +94,7 @@ Feature: Dashboard Lists When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete items from a dashboard list returns "Not Found" response Given new "DeleteDashboardListItems" request And request contains "dashboard_list_id" parameter from "REPLACE.ME" @@ -102,7 +102,7 @@ Feature: Dashboard Lists When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete items from a dashboard list returns "OK" response Given new "DeleteDashboardListItems" request And request contains "dashboard_list_id" parameter from "REPLACE.ME" @@ -110,14 +110,14 @@ Feature: Dashboard Lists When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get items of a Dashboard List returns "Not Found" response Given new "GetDashboardListItems" request And request contains "dashboard_list_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get items of a Dashboard List returns "OK" response Given there is a valid "dashboard_list" in the system And there is a valid "dashboard" in the system @@ -130,7 +130,7 @@ Feature: Dashboard Lists And the response "dashboards[0].type" is equal to "custom_timeboard" And the response "dashboards" has length 1 - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update items of a dashboard list returns "Bad Request" response Given new "UpdateDashboardListItems" request And request contains "dashboard_list_id" parameter from "REPLACE.ME" @@ -138,7 +138,7 @@ Feature: Dashboard Lists When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/dashboards-backend + @generated @skip @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update items of a dashboard list returns "Not Found" response Given new "UpdateDashboardListItems" request And request contains "dashboard_list_id" parameter from "REPLACE.ME" @@ -146,7 +146,7 @@ Feature: Dashboard Lists When the request is sent Then the response status is 404 Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update items of a dashboard list returns "OK" response Given there is a valid "dashboard_list" in the system And there is a valid "dashboard" in the system diff --git a/features/v2/data_deletion.feature b/features/v2/data_deletion.feature index 4085e586ba13..9543e8fee412 100644 --- a/features/v2/data_deletion.feature +++ b/features/v2/data_deletion.feature @@ -9,7 +9,7 @@ Feature: Data Deletion And a valid "appKeyAuth" key in the system And an instance of "DataDeletion" API - @replay-only @team:DataDog/supportability-engineering + @replay-only @team:DataDog/supportability-engineering @team:DataDog/web-frameworks-approvers Scenario: Cancels a data deletion request returns "Bad Request" response Given operation "CancelDataDeletionRequest" enabled And new "CancelDataDeletionRequest" request @@ -17,7 +17,7 @@ Feature: Data Deletion When the request is sent Then the response status is 400 Bad Request - @team:DataDog/supportability-engineering + @team:DataDog/supportability-engineering @team:DataDog/web-frameworks-approvers Scenario: Cancels a data deletion request returns "OK" response Given operation "CancelDataDeletionRequest" enabled And there is a valid "deletion_request" in the system @@ -30,7 +30,7 @@ Feature: Data Deletion And the response "data.attributes.product" is equal to "{{ deletion_request.data.attributes.product }}" And the response "data.attributes.status" is equal to "canceled" - @replay-only @team:DataDog/supportability-engineering + @replay-only @team:DataDog/supportability-engineering @team:DataDog/web-frameworks-approvers Scenario: Cancels a data deletion request returns "Precondition failed error" response Given operation "CancelDataDeletionRequest" enabled And new "CancelDataDeletionRequest" request @@ -38,7 +38,7 @@ Feature: Data Deletion When the request is sent Then the response status is 412 Precondition failed error - @generated @skip @team:DataDog/supportability-engineering + @generated @skip @team:DataDog/supportability-engineering @team:DataDog/web-frameworks-approvers Scenario: Creates a data deletion request returns "Bad Request" response Given operation "CreateDataDeletionRequest" enabled And new "CreateDataDeletionRequest" request @@ -47,7 +47,7 @@ Feature: Data Deletion When the request is sent Then the response status is 400 Bad Request - @team:DataDog/supportability-engineering + @team:DataDog/supportability-engineering @team:DataDog/web-frameworks-approvers Scenario: Creates a data deletion request returns "OK" response Given operation "CreateDataDeletionRequest" enabled And new "CreateDataDeletionRequest" request @@ -59,7 +59,7 @@ Feature: Data Deletion And the response "data.attributes.product" is equal to "logs" And the response "data.attributes.status" is equal to "pending" - @replay-only @team:DataDog/supportability-engineering + @replay-only @team:DataDog/supportability-engineering @team:DataDog/web-frameworks-approvers Scenario: Creates a data deletion request returns "Precondition failed error" response Given operation "CreateDataDeletionRequest" enabled And new "CreateDataDeletionRequest" request @@ -68,14 +68,14 @@ Feature: Data Deletion When the request is sent Then the response status is 412 Precondition failed error - @generated @skip @team:DataDog/supportability-engineering + @generated @skip @team:DataDog/supportability-engineering @team:DataDog/web-frameworks-approvers Scenario: Gets a list of data deletion requests returns "Bad Request" response Given operation "GetDataDeletionRequests" enabled And new "GetDataDeletionRequests" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/supportability-engineering + @team:DataDog/supportability-engineering @team:DataDog/web-frameworks-approvers Scenario: Gets a list of data deletion requests returns "OK" response Given operation "GetDataDeletionRequests" enabled And there is a valid "deletion_request" in the system diff --git a/features/v2/domain_allowlist.feature b/features/v2/domain_allowlist.feature index 8fe10371d5c1..def4810e7130 100644 --- a/features/v2/domain_allowlist.feature +++ b/features/v2/domain_allowlist.feature @@ -11,7 +11,7 @@ Feature: Domain Allowlist And a valid "appKeyAuth" key in the system And an instance of "DomainAllowlist" API - @team:Datadog/team-aaa-dogmail + @team:DataDog/web-frameworks-approvers @team:Datadog/team-aaa-dogmail Scenario: Get Domain Allowlist returns "OK" response Given new "GetDomainAllowlist" request When the request is sent @@ -20,7 +20,7 @@ Feature: Domain Allowlist And the response "data.attributes.domains" array contains value "@static-test-domain.test" And the response "data.attributes.enabled" is equal to false - @team:Datadog/team-aaa-dogmail + @team:DataDog/web-frameworks-approvers @team:Datadog/team-aaa-dogmail Scenario: Sets Domain Allowlist returns "OK" response Given new "PatchDomainAllowlist" request And body with value {"data": {"attributes": {"domains": ["@static-test-domain.test"], "enabled": false}, "type": "domain_allowlist"}} diff --git a/features/v2/dora_metrics.feature b/features/v2/dora_metrics.feature index 0bbd31d204f4..f806b5264571 100644 --- a/features/v2/dora_metrics.feature +++ b/features/v2/dora_metrics.feature @@ -8,7 +8,7 @@ Feature: DORA Metrics Given a valid "apiKeyAuth" key in the system And an instance of "DORAMetrics" API - @skip @team:Datadog/ci-app-backend + @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send a deployment event for DORA Metrics returns "Bad Request" response Given operation "CreateDORADeployment" enabled And new "CreateDORADeployment" request @@ -16,7 +16,7 @@ Feature: DORA Metrics When the request is sent Then the response status is 400 Bad Request - @skip @team:Datadog/ci-app-backend + @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send a deployment event for DORA Metrics returns "OK - but delayed due to incident" response Given operation "CreateDORADeployment" enabled And new "CreateDORADeployment" request @@ -24,7 +24,7 @@ Feature: DORA Metrics When the request is sent Then the response status is 202 OK - but delayed due to incident - @replay-only @team:Datadog/ci-app-backend + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send a deployment event for DORA Metrics returns "OK" response Given operation "CreateDORADeployment" enabled And new "CreateDORADeployment" request @@ -32,7 +32,7 @@ Feature: DORA Metrics When the request is sent Then the response status is 200 OK - @skip @team:Datadog/ci-app-backend + @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send an incident event for DORA Metrics returns "Bad Request" response Given operation "CreateDORAIncident" enabled And new "CreateDORAIncident" request @@ -40,7 +40,7 @@ Feature: DORA Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/ci-app-backend + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send an incident event for DORA Metrics returns "OK - but delayed due to incident" response Given operation "CreateDORAIncident" enabled And new "CreateDORAIncident" request @@ -48,7 +48,7 @@ Feature: DORA Metrics When the request is sent Then the response status is 202 OK - but delayed due to incident - @replay-only @team:Datadog/ci-app-backend + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/ci-app-backend Scenario: Send an incident event for DORA Metrics returns "OK" response Given operation "CreateDORAIncident" enabled And new "CreateDORAIncident" request diff --git a/features/v2/downtimes.feature b/features/v2/downtimes.feature index 5e6dc55f7149..2e265de1ba40 100644 --- a/features/v2/downtimes.feature +++ b/features/v2/downtimes.feature @@ -13,14 +13,14 @@ Feature: Downtimes And a valid "appKeyAuth" key in the system And an instance of "Downtimes" API - @skip-validation @team:DataDog/monitor-app + @skip-validation @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Cancel a downtime returns "Downtime not found" response Given new "CancelDowntime" request And request contains "downtime_id" parameter with value "00000000-0000-1234-0000-000000000000" When the request is sent Then the response status is 404 Downtime not found - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Cancel a downtime returns "OK" response Given there is a valid "downtime_v2" in the system And new "CancelDowntime" request @@ -28,21 +28,21 @@ Feature: Downtimes When the request is sent Then the response status is 204 OK - @skip-validation @team:DataDog/monitor-app + @skip-validation @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a downtime returns "Bad Request" response Given new "GetDowntime" request And request contains "downtime_id" parameter with value "INVALID_UUID_LENGTH" When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:DataDog/monitor-app + @skip-validation @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a downtime returns "Not Found" response Given new "GetDowntime" request And request contains "downtime_id" parameter with value "00000000-0000-1234-0000-000000000000" When the request is sent Then the response status is 404 Not Found - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a downtime returns "OK" response Given there is a valid "downtime_v2" in the system And new "GetDowntime" request @@ -51,14 +51,14 @@ Feature: Downtimes Then the response status is 200 OK And the response "data.attributes.message" is equal to "test message" - @generated @skip @team:DataDog/monitor-app + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get active downtimes for a monitor returns "Monitor Not Found error" response Given new "ListMonitorDowntimes" request And request contains "monitor_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Monitor Not Found error - @replay-only @team:DataDog/monitor-app + @replay-only @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get active downtimes for a monitor returns "OK" response Given new "ListMonitorDowntimes" request And request contains "monitor_id" parameter with value 35534610 @@ -67,28 +67,28 @@ Feature: Downtimes And the response "data" has length 1 And the response "data" has item with field "id" with value "aeefc6a8-15d8-11ee-a8ef-da7ad0900002" - @generated @skip @team:DataDog/monitor-app @with-pagination + @generated @skip @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get active downtimes for a monitor returns "OK" response with pagination Given new "ListMonitorDowntimes" request And request contains "monitor_id" parameter from "REPLACE.ME" When the request with pagination is sent Then the response status is 200 OK - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get all downtimes for a monitor returns "Monitor Not Found error" response Given new "ListMonitorDowntimes" request And request contains "monitor_id" parameter with value 0 When the request is sent Then the response status is 404 Monitor Not Found error - @replay-only @team:DataDog/monitor-app + @replay-only @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get all downtimes returns "OK" response Given new "ListDowntimes" request When the request is sent Then the response status is 200 OK And the response "data" has item with field "id" with value "1dcb33f8-b23a-11ed-ae77-da7ad0900002" - @replay-only @skip-validation @team:DataDog/monitor-app @with-pagination + @replay-only @skip-validation @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all downtimes returns "OK" response with pagination Given new "ListDowntimes" request And request contains "page[limit]" parameter with value 2 @@ -96,14 +96,14 @@ Feature: Downtimes Then the response status is 200 OK And the response has 3 items - @skip-validation @team:DataDog/monitor-app + @skip-validation @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a downtime returns "Bad Request" response Given new "CreateDowntime" request And body with value { "data": { "attributes": { "monitor_identifier": { "monitor_tags": ["cat:hat"] }, "scope": "BAD_SCOPE_MISSING_KEY_VALUE_FORMAT", "schedule": {"start": null } }, "type": "downtime" } } When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Schedule a downtime returns "OK" response Given new "CreateDowntime" request And body with value { "data": { "attributes": { "message": "dark forest", "monitor_identifier": { "monitor_tags": ["cat:hat"] }, "scope": "test:{{ unique_lower_alnum }}", "schedule": {"start": null } }, "type": "downtime" } } @@ -111,7 +111,7 @@ Feature: Downtimes Then the response status is 200 OK And the response "data.attributes.message" is equal to "dark forest" - @skip-java @skip-python @skip-ruby @skip-rust @skip-typescript @skip-validation @team:DataDog/monitor-app + @skip-java @skip-python @skip-ruby @skip-rust @skip-typescript @skip-validation @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Update a downtime returns "Bad Request" response Given there is a valid "downtime_v2" in the system And new "UpdateDowntime" request @@ -120,7 +120,7 @@ Feature: Downtimes When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:DataDog/monitor-app + @skip-validation @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Update a downtime returns "Downtime not found" response Given new "UpdateDowntime" request And request contains "downtime_id" parameter with value "00000000-0000-1234-0000-000000000000" @@ -128,7 +128,7 @@ Feature: Downtimes When the request is sent Then the response status is 404 Downtime not found - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Update a downtime returns "OK" response Given there is a valid "downtime_v2" in the system And new "UpdateDowntime" request diff --git a/features/v2/events.feature b/features/v2/events.feature index a8c1307ac683..bd53b51d3312 100644 --- a/features/v2/events.feature +++ b/features/v2/events.feature @@ -17,19 +17,19 @@ Feature: Events And a valid "appKeyAuth" key in the system And an instance of "Events" API - @generated @skip @team:DataDog/event-management + @generated @skip @team:DataDog/event-management @team:DataDog/web-frameworks-approvers Scenario: Get a list of events returns "Bad Request" response Given new "ListEvents" request When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:DataDog/event-management + @skip-validation @team:DataDog/event-management @team:DataDog/web-frameworks-approvers Scenario: Get a list of events returns "OK" response Given new "ListEvents" request When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/event-management @with-pagination + @replay-only @skip-validation @team:DataDog/event-management @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get a list of events returns "OK" response with pagination Given new "ListEvents" request And request contains "filter[from]" parameter with value "now-15m" @@ -39,7 +39,7 @@ Feature: Events Then the response status is 200 OK And the response has 3 items - @team:DataDog/event-management + @team:DataDog/event-management @team:DataDog/web-frameworks-approvers Scenario: Get a quick list of events returns "OK" response Given new "ListEvents" request And request contains "filter[query]" parameter with value "datadog-agent" @@ -50,28 +50,28 @@ Feature: Events Then the response status is 200 OK And the response "data" has length 0 - @generated @skip @team:DataDog/event-management + @generated @skip @team:DataDog/event-management @team:DataDog/web-frameworks-approvers Scenario: Post an event returns "Bad request" response Given new "CreateEvent" request And body with value {"data": {"attributes": {"attributes": {"author": {"name": "datadog@datadog.com", "type": "user"}, "change_metadata": {"dd": {"team": "datadog_team", "user_email": "datadog@datadog.com", "user_id": "datadog_user_id", "user_name": "datadog_username"}, "resource_link": "datadog.com/feature/fallback_payments_test"}, "changed_resource": {"name": "fallback_payments_test", "type": "feature_flag"}, "impacted_resources": [{"name": "payments_api", "type": "service"}], "new_value": {"enabled": true, "percentage": "50%", "rule": {"datacenter": "devcycle.us1.prod"}}, "prev_value": {"enabled": true, "percentage": "10%", "rule": {"datacenter": "devcycle.us1.prod"}}}, "category": "change", "message": "payment_processed feature flag has been enabled", "tags": ["env:test"], "title": "payment_processed feature flag updated"}, "type": "event"}} When the request is sent Then the response status is 400 Bad request - @generated @skip @team:DataDog/event-management + @generated @skip @team:DataDog/event-management @team:DataDog/web-frameworks-approvers Scenario: Post an event returns "OK" response Given new "CreateEvent" request And body with value {"data": {"attributes": {"attributes": {"author": {"name": "datadog@datadog.com", "type": "user"}, "change_metadata": {"dd": {"team": "datadog_team", "user_email": "datadog@datadog.com", "user_id": "datadog_user_id", "user_name": "datadog_username"}, "resource_link": "datadog.com/feature/fallback_payments_test"}, "changed_resource": {"name": "fallback_payments_test", "type": "feature_flag"}, "impacted_resources": [{"name": "payments_api", "type": "service"}], "new_value": {"enabled": true, "percentage": "50%", "rule": {"datacenter": "devcycle.us1.prod"}}, "prev_value": {"enabled": true, "percentage": "10%", "rule": {"datacenter": "devcycle.us1.prod"}}}, "category": "change", "message": "payment_processed feature flag has been enabled", "tags": ["env:test"], "title": "payment_processed feature flag updated"}, "type": "event"}} When the request is sent Then the response status is 200 OK - @team:DataDog/event-management + @team:DataDog/event-management @team:DataDog/web-frameworks-approvers Scenario: Search events returns "Bad Request" response Given new "SearchEvents" request And body with value {"filter": {"from": "now-15m", "query": "service:web* AND @http.status_code:[200 TO 299]", "to": "now"}, "options": {"timezone": "GMT"}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "timestamp"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/event-management + @team:DataDog/event-management @team:DataDog/web-frameworks-approvers Scenario: Search events returns "OK" response Given new "SearchEvents" request And body with value {"filter": {"query": "datadog-agent", "from": "2020-09-17T11:48:36+01:00", "to": "2020-09-17T12:48:36+01:00"}, "sort": "timestamp", "page": {"limit": 5}} @@ -79,7 +79,7 @@ Feature: Events Then the response status is 200 OK And the response "data" has length 0 - @replay-only @skip-validation @team:DataDog/event-management @with-pagination + @replay-only @skip-validation @team:DataDog/event-management @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Search events returns "OK" response with pagination Given new "SearchEvents" request And body with value {"filter": {"from": "now-15m", "to": "now"}, "options": {"timezone": "GMT"}, "page": {"limit": 2}, "sort": "timestamp"} diff --git a/features/v2/fastly_integration.feature b/features/v2/fastly_integration.feature index 61dd97599e05..a0db82982273 100644 --- a/features/v2/fastly_integration.feature +++ b/features/v2/fastly_integration.feature @@ -10,14 +10,14 @@ Feature: Fastly Integration And a valid "appKeyAuth" key in the system And an instance of "FastlyIntegration" API - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Fastly account returns "Bad Request" response Given new "CreateFastlyAccount" request And body with value {"data": {"attributes": {"api_key": "ABCDEFG123", "name": "test-name", "services": [{"id": "6abc7de6893AbcDe9fghIj", "tags": ["myTag", "myTag2:myValue"]}]}, "type": "fastly-accounts"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Fastly account returns "CREATED" response Given new "CreateFastlyAccount" request And body with value {"data": {"attributes": {"api_key": "{{ unique_alnum }}", "name": "{{ unique }}", "services": []}, "type": "fastly-accounts"}} @@ -27,14 +27,14 @@ Feature: Fastly Integration And the response "data.attributes.name" is equal to "{{ unique }}" And the response "data.attributes.services" has length 0 - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Fastly account returns "Not Found" response Given new "CreateFastlyAccount" request And body with value {"data": {"attributes": {"api_key": "ABCDEFG123", "name": "test-name", "services": [{"id": "6abc7de6893AbcDe9fghIj", "tags": ["myTag", "myTag2:myValue"]}]}, "type": "fastly-accounts"}} When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Fastly service returns "Bad Request" response Given new "CreateFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -42,7 +42,7 @@ Feature: Fastly Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Fastly service returns "CREATED" response Given new "CreateFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -50,7 +50,7 @@ Feature: Fastly Integration When the request is sent Then the response status is 201 CREATED - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Fastly service returns "Not Found" response Given new "CreateFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -58,28 +58,28 @@ Feature: Fastly Integration When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Fastly account returns "Bad Request" response Given new "DeleteFastlyAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Fastly account returns "Not Found" response Given new "DeleteFastlyAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Fastly account returns "OK" response Given new "DeleteFastlyAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Fastly service returns "Bad Request" response Given new "DeleteFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -87,7 +87,7 @@ Feature: Fastly Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Fastly service returns "Not Found" response Given new "DeleteFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -95,7 +95,7 @@ Feature: Fastly Integration When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Fastly service returns "OK" response Given new "DeleteFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -103,21 +103,21 @@ Feature: Fastly Integration When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Fastly account returns "Bad Request" response Given new "GetFastlyAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Fastly account returns "Not Found" response Given new "GetFastlyAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Fastly account returns "OK" response Given there is a valid "fastly_account" in the system And new "GetFastlyAccount" request @@ -128,7 +128,7 @@ Feature: Fastly Integration And the response "data.attributes.name" is equal to "{{ unique }}" And the response "data.attributes.services" has length 0 - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Fastly service returns "Bad Request" response Given new "GetFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -136,7 +136,7 @@ Feature: Fastly Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Fastly service returns "Not Found" response Given new "GetFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -144,7 +144,7 @@ Feature: Fastly Integration When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Fastly service returns "OK" response Given new "GetFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -152,19 +152,19 @@ Feature: Fastly Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Fastly accounts returns "Bad Request" response Given new "ListFastlyAccounts" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Fastly accounts returns "Not Found" response Given new "ListFastlyAccounts" request When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Fastly accounts returns "OK" response Given there is a valid "fastly_account" in the system And new "ListFastlyAccounts" request @@ -172,28 +172,28 @@ Feature: Fastly Integration Then the response status is 200 OK And the response "data[0].type" is equal to "fastly-accounts" - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Fastly services returns "Bad Request" response Given new "ListFastlyServices" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Fastly services returns "Not Found" response Given new "ListFastlyServices" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Fastly services returns "OK" response Given new "ListFastlyServices" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Fastly account returns "Bad Request" response Given new "UpdateFastlyAccount" request And request contains "account_id" parameter from "REPLACE.ME" @@ -201,7 +201,7 @@ Feature: Fastly Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Fastly account returns "Not Found" response Given new "UpdateFastlyAccount" request And request contains "account_id" parameter from "REPLACE.ME" @@ -209,7 +209,7 @@ Feature: Fastly Integration When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Fastly account returns "OK" response Given there is a valid "fastly_account" in the system And new "UpdateFastlyAccount" request @@ -220,7 +220,7 @@ Feature: Fastly Integration And the response "data.id" is equal to "{{fastly_account.data.id }}" And the response "data.attributes.name" is equal to "{{fastly_account.data.attributes.name }}" - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Fastly service returns "Bad Request" response Given new "UpdateFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -229,7 +229,7 @@ Feature: Fastly Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Fastly service returns "Not Found" response Given new "UpdateFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" @@ -238,7 +238,7 @@ Feature: Fastly Integration When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Fastly service returns "OK" response Given new "UpdateFastlyService" request And request contains "account_id" parameter from "REPLACE.ME" diff --git a/features/v2/gcp_integration.feature b/features/v2/gcp_integration.feature index 18749b0a6d08..2eb89058a8f7 100644 --- a/features/v2/gcp_integration.feature +++ b/features/v2/gcp_integration.feature @@ -10,20 +10,20 @@ Feature: GCP Integration And a valid "appKeyAuth" key in the system And an instance of "GCPIntegration" API - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a Datadog GCP principal returns "Conflict" response Given new "MakeGCPSTSDelegate" request When the request is sent Then the response status is 409 Conflict - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a Datadog GCP principal returns "OK" response Given new "MakeGCPSTSDelegate" request When the request is sent Then the response status is 200 OK And the response "data.type" is equal to "gcp_sts_delegate" - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a Datadog GCP principal with empty body returns "OK" response Given new "MakeGCPSTSDelegate" request And body with value {} @@ -31,21 +31,21 @@ Feature: GCP Integration Then the response status is 200 OK And the response "data.type" is equal to "gcp_sts_delegate" - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new entry for your service account returns "Bad Request" response Given new "CreateGCPSTSAccount" request And body with value {"data": {"attributes": {"account_tags": [], "client_email": "datadog-service-account@test-project.iam.gserviceaccount.com", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": [], "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}]}, "type": "gcp_service_account"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new entry for your service account returns "Conflict" response Given new "CreateGCPSTSAccount" request And body with value {"data": {"attributes": {"account_tags": [], "client_email": "datadog-service-account@test-project.iam.gserviceaccount.com", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": [], "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}]}, "type": "gcp_service_account"}} When the request is sent Then the response status is 409 Conflict - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new entry for your service account returns "OK" response Given new "CreateGCPSTSAccount" request And body with value {"data": {"attributes": {"client_email": "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com", "host_filters": []}, "type": "gcp_service_account"}} @@ -54,7 +54,7 @@ Feature: GCP Integration And the response "data.type" is equal to "gcp_service_account" And the response "data.attributes.client_email" is equal to "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com" - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new entry for your service account with account_tags returns "OK" response Given new "CreateGCPSTSAccount" request And body with value {"data": {"attributes": {"account_tags": ["lorem", "ipsum"], "client_email": "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com", "host_filters": []}, "type": "gcp_service_account"}} @@ -64,7 +64,7 @@ Feature: GCP Integration And the response "data.attributes.client_email" is equal to "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com" And the response "data.attributes.account_tags" is equal to ["lorem", "ipsum"] - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new entry for your service account with cloud run revision filters enabled returns "OK" response Given new "CreateGCPSTSAccount" request And body with value {"data": {"attributes": {"cloud_run_revision_filters": ["meh:bleh"], "client_email": "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com", "host_filters": []}, "type": "gcp_service_account"}} @@ -74,7 +74,7 @@ Feature: GCP Integration And the response "data.attributes.client_email" is equal to "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com" And the response "data.attributes.cloud_run_revision_filters" is equal to ["meh:bleh"] - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new entry for your service account with cspm enabled returns "OK" response Given new "CreateGCPSTSAccount" request And body with value {"data": {"attributes": {"is_cspm_enabled": true, "resource_collection_enabled": true, "client_email": "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com", "host_filters": []}, "type": "gcp_service_account"}} @@ -84,14 +84,14 @@ Feature: GCP Integration And the response "data.attributes.client_email" is equal to "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com" And the response "data.attributes.is_cspm_enabled" is equal to true - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new entry for your service account with resource collection enabled disabled and cspm enabled returns "Bad Request" response Given new "CreateGCPSTSAccount" request And body with value {"data": {"attributes": {"resource_collection_enabled": false, "is_cspm_enabled": true, "client_email": "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com", "host_filters": []}, "type": "gcp_service_account"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new entry for your service account with resource collection enabled returns "OK" response Given new "CreateGCPSTSAccount" request And body with value {"data": {"attributes": {"resource_collection_enabled": true, "client_email": "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com", "host_filters": []}, "type": "gcp_service_account"}} @@ -101,7 +101,7 @@ Feature: GCP Integration And the response "data.attributes.client_email" is equal to "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com" And the response "data.attributes.resource_collection_enabled" is equal to true - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Create a new entry for your service account with security command center enabled returns "OK" response Given new "CreateGCPSTSAccount" request And body with value {"data": {"attributes": {"is_security_command_center_enabled": true, "is_resource_change_collection_enabled": true, "client_email": "Test-{{ unique_hash }}@test-project.iam.gserviceaccount.com", "host_filters": []}, "type": "gcp_service_account"}} @@ -112,27 +112,27 @@ Feature: GCP Integration And the response "data.attributes.is_security_command_center_enabled" is equal to true And the response "data.attributes.is_resource_change_collection_enabled" is equal to true - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an STS enabled GCP Account returns "Bad Request" response Given new "DeleteGCPSTSAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete an STS enabled GCP Account returns "No Content" response Given new "DeleteGCPSTSAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: List all GCP STS-enabled service accounts returns "Not Found" response Given new "ListGCPSTSAccounts" request When the request is sent Then the response status is 404 Not Found - @skip-terraform-config @team:DataDog/gcp-integrations + @skip-terraform-config @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: List all GCP STS-enabled service accounts returns "OK" response Given there is a valid "gcp_sts_account" in the system And new "ListGCPSTSAccounts" request @@ -140,14 +140,14 @@ Feature: GCP Integration Then the response status is 200 OK And the response "data" has item with field "type" with value "gcp_service_account" - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: List delegate account returns "OK" response Given new "GetGCPSTSDelegate" request When the request is sent Then the response status is 200 OK And the response "data.type" is equal to "gcp_sts_delegate" - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Update STS Service Account returns "Bad Request" response Given new "UpdateGCPSTSAccount" request And request contains "account_id" parameter from "REPLACE.ME" @@ -155,7 +155,7 @@ Feature: GCP Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/gcp-integrations + @generated @skip @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Update STS Service Account returns "Not Found" response Given new "UpdateGCPSTSAccount" request And request contains "account_id" parameter from "REPLACE.ME" @@ -163,7 +163,7 @@ Feature: GCP Integration When the request is sent Then the response status is 404 Not Found - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Update STS Service Account returns "OK" response Given there is a valid "gcp_sts_account" in the system And new "UpdateGCPSTSAccount" request @@ -172,7 +172,7 @@ Feature: GCP Integration When the request is sent Then the response status is 201 OK - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Update STS Service Account returns "OK" response with cloud run revision filters Given there is a valid "gcp_sts_account" in the system And new "UpdateGCPSTSAccount" request @@ -181,7 +181,7 @@ Feature: GCP Integration When the request is sent Then the response status is 201 OK - @team:DataDog/gcp-integrations + @team:DataDog/gcp-integrations @team:DataDog/web-frameworks-approvers Scenario: Update STS Service Account returns "OK" response with enable resource collection turned on Given there is a valid "gcp_sts_account" in the system And new "UpdateGCPSTSAccount" request diff --git a/features/v2/incident_services.feature b/features/v2/incident_services.feature index eb5e5716d424..303550913d17 100644 --- a/features/v2/incident_services.feature +++ b/features/v2/incident_services.feature @@ -10,7 +10,7 @@ Feature: Incident Services And a valid "appKeyAuth" key in the system And an instance of "IncidentServices" API - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create a new incident service returns "Bad Request" response Given operation "CreateIncidentService" enabled And new "CreateIncidentService" request @@ -18,7 +18,7 @@ Feature: Incident Services When the request is sent Then the response status is 400 Bad Request - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create a new incident service returns "CREATED" response Given operation "CreateIncidentService" enabled And new "CreateIncidentService" request @@ -28,7 +28,7 @@ Feature: Incident Services And the response "data.attributes.name" is equal to "{{ unique }}" And the response "data.type" is equal to "services" - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create a new incident service returns "Not Found" response Given operation "CreateIncidentService" enabled And new "CreateIncidentService" request @@ -36,7 +36,7 @@ Feature: Incident Services When the request is sent Then the response status is 404 Not Found - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an existing incident service returns "Bad Request" response Given operation "DeleteIncidentService" enabled And new "DeleteIncidentService" request @@ -44,7 +44,7 @@ Feature: Incident Services When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an existing incident service returns "Not Found" response Given operation "DeleteIncidentService" enabled And new "DeleteIncidentService" request @@ -52,7 +52,7 @@ Feature: Incident Services When the request is sent Then the response status is 404 Not Found - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an existing incident service returns "OK" response Given there is a valid "service" in the system And operation "DeleteIncidentService" enabled @@ -61,21 +61,21 @@ Feature: Incident Services When the request is sent Then the response status is 204 OK - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of all incident services returns "Bad Request" response Given operation "ListIncidentServices" enabled And new "ListIncidentServices" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of all incident services returns "Not Found" response Given operation "ListIncidentServices" enabled And new "ListIncidentServices" request When the request is sent Then the response status is 404 Not Found - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of all incident services returns "OK" response Given there is a valid "service" in the system And operation "ListIncidentServices" enabled @@ -86,7 +86,7 @@ Feature: Incident Services And the response "data" has length 1 And the response "data[0].attributes.name" has the same value as "service.data.attributes.name" - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get details of an incident service returns "Bad Request" response Given operation "GetIncidentService" enabled And new "GetIncidentService" request @@ -94,7 +94,7 @@ Feature: Incident Services When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get details of an incident service returns "Not Found" response Given operation "GetIncidentService" enabled And new "GetIncidentService" request @@ -102,7 +102,7 @@ Feature: Incident Services When the request is sent Then the response status is 404 Not Found - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get details of an incident service returns "OK" response Given there is a valid "service" in the system And operation "GetIncidentService" enabled @@ -114,7 +114,7 @@ Feature: Incident Services And the response "data.type" is equal to "services" And the response "data.attributes.name" has the same value as "service.data.attributes.name" - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an existing incident service returns "Bad Request" response Given operation "UpdateIncidentService" enabled And new "UpdateIncidentService" request @@ -123,7 +123,7 @@ Feature: Incident Services When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an existing incident service returns "Not Found" response Given operation "UpdateIncidentService" enabled And new "UpdateIncidentService" request @@ -132,7 +132,7 @@ Feature: Incident Services When the request is sent Then the response status is 404 Not Found - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an existing incident service returns "OK" response Given there is a valid "service" in the system And operation "UpdateIncidentService" enabled diff --git a/features/v2/incident_teams.feature b/features/v2/incident_teams.feature index 5bbb4926393c..04469b88b81f 100644 --- a/features/v2/incident_teams.feature +++ b/features/v2/incident_teams.feature @@ -9,7 +9,7 @@ Feature: Incident Teams And a valid "appKeyAuth" key in the system And an instance of "IncidentTeams" API - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create a new incident team returns "Bad Request" response Given operation "CreateIncidentTeam" enabled And new "CreateIncidentTeam" request @@ -17,7 +17,7 @@ Feature: Incident Teams When the request is sent Then the response status is 400 Bad Request - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create a new incident team returns "CREATED" response Given operation "CreateIncidentTeam" enabled And new "CreateIncidentTeam" request @@ -27,7 +27,7 @@ Feature: Incident Teams And the response "data.type" is equal to "teams" And the response "data.attributes.name" is equal to "{{ unique }}" - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create a new incident team returns "Not Found" response Given operation "CreateIncidentTeam" enabled And new "CreateIncidentTeam" request @@ -35,7 +35,7 @@ Feature: Incident Teams When the request is sent Then the response status is 404 Not Found - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an existing incident team returns "Bad Request" response Given operation "DeleteIncidentTeam" enabled And new "DeleteIncidentTeam" request @@ -43,7 +43,7 @@ Feature: Incident Teams When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an existing incident team returns "Not Found" response Given operation "DeleteIncidentTeam" enabled And new "DeleteIncidentTeam" request @@ -51,7 +51,7 @@ Feature: Incident Teams When the request is sent Then the response status is 404 Not Found - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an existing incident team returns "OK" response Given there is a valid "team" in the system And operation "DeleteIncidentTeam" enabled @@ -60,21 +60,21 @@ Feature: Incident Teams When the request is sent Then the response status is 204 OK - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of all incident teams returns "Bad Request" response Given operation "ListIncidentTeams" enabled And new "ListIncidentTeams" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of all incident teams returns "Not Found" response Given operation "ListIncidentTeams" enabled And new "ListIncidentTeams" request When the request is sent Then the response status is 404 Not Found - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of all incident teams returns "OK" response Given there is a valid "team" in the system And operation "ListIncidentTeams" enabled @@ -86,7 +86,7 @@ Feature: Incident Teams And the response "data[0].type" is equal to "teams" And the response "data[0].attributes.name" has the same value as "team.data.attributes.name" - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get details of an incident team returns "Bad Request" response Given operation "GetIncidentTeam" enabled And new "GetIncidentTeam" request @@ -94,7 +94,7 @@ Feature: Incident Teams When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get details of an incident team returns "Not Found" response Given operation "GetIncidentTeam" enabled And new "GetIncidentTeam" request @@ -102,7 +102,7 @@ Feature: Incident Teams When the request is sent Then the response status is 404 Not Found - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get details of an incident team returns "OK" response Given there is a valid "team" in the system And operation "GetIncidentTeam" enabled @@ -114,7 +114,7 @@ Feature: Incident Teams And the response "data.id" is equal to "{{ team.data.id }}" And the response "data.attributes.name" has the same value as "team.data.attributes.name" - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an existing incident team returns "Bad Request" response Given operation "UpdateIncidentTeam" enabled And new "UpdateIncidentTeam" request @@ -123,7 +123,7 @@ Feature: Incident Teams When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an existing incident team returns "Not Found" response Given operation "UpdateIncidentTeam" enabled And new "UpdateIncidentTeam" request @@ -132,7 +132,7 @@ Feature: Incident Teams When the request is sent Then the response status is 404 Not Found - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an existing incident team returns "OK" response Given there is a valid "team" in the system And operation "UpdateIncidentTeam" enabled diff --git a/features/v2/incidents.feature b/features/v2/incidents.feature index 29cbc1286371..440a316396ec 100644 --- a/features/v2/incidents.feature +++ b/features/v2/incidents.feature @@ -10,7 +10,7 @@ Feature: Incidents And a valid "appKeyAuth" key in the system And an instance of "Incidents" API - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Add commander to an incident returns "OK" response Given operation "UpdateIncident" enabled And there is a valid "user" in the system @@ -21,7 +21,7 @@ Feature: Incidents When the request is sent Then the response status is 200 OK - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Create an incident attachment returns "OK" response Given operation "UpdateIncidentAttachments" enabled And there is a valid "incident" in the system @@ -35,7 +35,7 @@ Feature: Incidents And the response "data[0].attributes.attachment_type" is equal to "link" And the response "data[0].attributes.attachment.documentUrl" is equal to "https://www.example.com/doc" - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Create an incident integration metadata returns "Bad Request" response Given operation "CreateIncidentIntegration" enabled And new "CreateIncidentIntegration" request @@ -44,7 +44,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Create an incident integration metadata returns "CREATED" response Given operation "CreateIncidentIntegration" enabled And new "CreateIncidentIntegration" request @@ -57,7 +57,7 @@ Feature: Incidents And the response "data.attributes.metadata.channels" has length 1 And the response "data.attributes.metadata.channels[0].channel_name" is equal to "#new-channel" - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Create an incident integration metadata returns "Not Found" response Given operation "CreateIncidentIntegration" enabled And new "CreateIncidentIntegration" request @@ -66,7 +66,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Create an incident returns "Bad Request" response Given operation "CreateIncident" enabled And new "CreateIncident" request @@ -74,7 +74,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Create an incident returns "CREATED" response Given there is a valid "user" in the system And operation "CreateIncident" enabled @@ -85,7 +85,7 @@ Feature: Incidents And the response "data.relationships.commander_user.data.id" has the same value as "user.data.id" And the response "data.attributes.title" has the same value as "unique" - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Create an incident returns "Not Found" response Given operation "CreateIncident" enabled And new "CreateIncident" request @@ -93,7 +93,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create an incident todo returns "Bad Request" response Given operation "CreateIncidentTodo" enabled And new "CreateIncidentTodo" request @@ -102,7 +102,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @replay-only @team:Datadog/incident-app + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create an incident todo returns "CREATED" response Given operation "CreateIncidentTodo" enabled And new "CreateIncidentTodo" request @@ -113,7 +113,7 @@ Feature: Incidents Then the response status is 201 CREATED And the response "data.attributes.assignees" has length 1 - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create an incident todo returns "Not Found" response Given operation "CreateIncidentTodo" enabled And new "CreateIncidentTodo" request @@ -122,7 +122,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create an incident type returns "Bad Request" response Given operation "CreateIncidentType" enabled And new "CreateIncidentType" request @@ -130,7 +130,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:Datadog/incident-app + @skip-validation @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create an incident type returns "CREATED" response Given operation "CreateIncidentType" enabled And new "CreateIncidentType" request @@ -138,7 +138,7 @@ Feature: Incidents When the request is sent Then the response status is 201 CREATED - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Create an incident type returns "Not Found" response Given operation "CreateIncidentType" enabled And new "CreateIncidentType" request @@ -146,7 +146,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Create, update, and delete incident attachments returns "Bad Request" response Given operation "UpdateIncidentAttachments" enabled And new "UpdateIncidentAttachments" request @@ -155,7 +155,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Create, update, and delete incident attachments returns "Not Found" response Given operation "UpdateIncidentAttachments" enabled And new "UpdateIncidentAttachments" request @@ -164,7 +164,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Create, update, and delete incident attachments returns "OK" response Given operation "UpdateIncidentAttachments" enabled And new "UpdateIncidentAttachments" request @@ -173,7 +173,7 @@ Feature: Incidents When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Delete an existing incident returns "Bad Request" response Given operation "DeleteIncident" enabled And new "DeleteIncident" request @@ -181,7 +181,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Delete an existing incident returns "Not Found" response Given operation "DeleteIncident" enabled And new "DeleteIncident" request @@ -189,7 +189,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Delete an existing incident returns "OK" response Given operation "DeleteIncident" enabled And there is a valid "incident" in the system @@ -198,7 +198,7 @@ Feature: Incidents When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Delete an incident integration metadata returns "Bad Request" response Given operation "DeleteIncidentIntegration" enabled And new "DeleteIncidentIntegration" request @@ -207,7 +207,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Delete an incident integration metadata returns "Not Found" response Given operation "DeleteIncidentIntegration" enabled And new "DeleteIncidentIntegration" request @@ -216,7 +216,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Delete an incident integration metadata returns "OK" response Given operation "DeleteIncidentIntegration" enabled And new "DeleteIncidentIntegration" request @@ -227,7 +227,7 @@ Feature: Incidents When the request is sent Then the response status is 204 OK - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an incident todo returns "Bad Request" response Given operation "DeleteIncidentTodo" enabled And new "DeleteIncidentTodo" request @@ -236,7 +236,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an incident todo returns "Not Found" response Given operation "DeleteIncidentTodo" enabled And new "DeleteIncidentTodo" request @@ -245,7 +245,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @replay-only @team:Datadog/incident-app + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an incident todo returns "OK" response Given operation "DeleteIncidentTodo" enabled And new "DeleteIncidentTodo" request @@ -256,7 +256,7 @@ Feature: Incidents When the request is sent Then the response status is 204 OK - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an incident type returns "Bad Request" response Given operation "DeleteIncidentType" enabled And new "DeleteIncidentType" request @@ -264,7 +264,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an incident type returns "Not Found" response Given operation "DeleteIncidentType" enabled And new "DeleteIncidentType" request @@ -272,7 +272,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @skip-validation @team:Datadog/incident-app + @skip-validation @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Delete an incident type returns "OK" response Given operation "DeleteIncidentType" enabled And new "DeleteIncidentType" request @@ -281,7 +281,7 @@ Feature: Incidents When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of an incident's integration metadata returns "Bad Request" response Given operation "ListIncidentIntegrations" enabled And new "ListIncidentIntegrations" request @@ -289,7 +289,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of an incident's integration metadata returns "Not Found" response Given operation "ListIncidentIntegrations" enabled And new "ListIncidentIntegrations" request @@ -297,7 +297,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of an incident's integration metadata returns "OK" response Given operation "ListIncidentIntegrations" enabled And new "ListIncidentIntegrations" request @@ -308,7 +308,7 @@ Feature: Incidents Then the response status is 200 OK And the response "data[0].attributes.metadata.channels[0].channel_name" is equal to "#example-channel-name" - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of an incident's todos returns "Bad Request" response Given operation "ListIncidentTodos" enabled And new "ListIncidentTodos" request @@ -316,7 +316,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of an incident's todos returns "Not Found" response Given operation "ListIncidentTodos" enabled And new "ListIncidentTodos" request @@ -324,7 +324,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @replay-only @team:Datadog/incident-app + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of an incident's todos returns "OK" response Given operation "ListIncidentTodos" enabled And new "ListIncidentTodos" request @@ -337,7 +337,7 @@ Feature: Incidents And the response "data[0].attributes.assignees" has length 2 And the response "data[0].attributes.content" is equal to "Follow up with customer about the impact they saw." - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of attachments returns "Bad Request" response Given operation "ListIncidentAttachments" enabled And new "ListIncidentAttachments" request @@ -345,7 +345,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of attachments returns "Not Found" response Given operation "ListIncidentAttachments" enabled And new "ListIncidentAttachments" request @@ -353,7 +353,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of attachments returns "OK" response Given operation "ListIncidentAttachments" enabled And new "ListIncidentAttachments" request @@ -361,35 +361,35 @@ Feature: Incidents When the request is sent Then the response status is 200 OK - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of incident types returns "Bad Request" response Given operation "ListIncidentTypes" enabled And new "ListIncidentTypes" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get a list of incident types returns "OK" response Given operation "ListIncidentTypes" enabled And new "ListIncidentTypes" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of incidents returns "Bad Request" response Given operation "ListIncidents" enabled And new "ListIncidents" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of incidents returns "Not Found" response Given operation "ListIncidents" enabled And new "ListIncidents" request When the request is sent Then the response status is 404 Not Found - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get a list of incidents returns "OK" response Given operation "ListIncidents" enabled And there is a valid "incident" in the system @@ -398,7 +398,7 @@ Feature: Incidents Then the response status is 200 OK And the response "data[0].type" is equal to "incidents" - @replay-only @skip-validation @team:DataDog/incident-app @with-pagination + @replay-only @skip-validation @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get a list of incidents returns "OK" response with pagination Given operation "ListIncidents" enabled And new "ListIncidents" request @@ -407,7 +407,7 @@ Feature: Incidents Then the response status is 200 OK And the response has 3 items - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get incident attachments returns "OK" response Given operation "ListIncidentAttachments" enabled And there is a valid "incident" in the system @@ -421,7 +421,7 @@ Feature: Incidents And the response "data[0].attributes.attachment_type" is equal to "link" And the response "data[0].attributes.attachment.documentUrl" is equal to "https://www.example.com/doc" - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get incident integration metadata details returns "Bad Request" response Given operation "GetIncidentIntegration" enabled And new "GetIncidentIntegration" request @@ -430,7 +430,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get incident integration metadata details returns "Not Found" response Given operation "GetIncidentIntegration" enabled And new "GetIncidentIntegration" request @@ -439,7 +439,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get incident integration metadata details returns "OK" response Given operation "GetIncidentIntegration" enabled And new "GetIncidentIntegration" request @@ -450,7 +450,7 @@ Feature: Incidents When the request is sent Then the response status is 200 OK - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get incident todo details returns "Bad Request" response Given operation "GetIncidentTodo" enabled And new "GetIncidentTodo" request @@ -459,7 +459,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get incident todo details returns "Not Found" response Given operation "GetIncidentTodo" enabled And new "GetIncidentTodo" request @@ -468,7 +468,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @replay-only @team:Datadog/incident-app + @replay-only @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get incident todo details returns "OK" response Given operation "GetIncidentTodo" enabled And new "GetIncidentTodo" request @@ -481,7 +481,7 @@ Feature: Incidents And the response "data.attributes.assignees" has length 2 And the response "data.attributes.content" is equal to "Follow up with customer about the impact they saw." - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get incident type details returns "Bad Request" response Given operation "GetIncidentType" enabled And new "GetIncidentType" request @@ -489,7 +489,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get incident type details returns "Not Found" response Given operation "GetIncidentType" enabled And new "GetIncidentType" request @@ -497,7 +497,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Get incident type details returns "OK" response Given operation "GetIncidentType" enabled And new "GetIncidentType" request @@ -505,7 +505,7 @@ Feature: Incidents When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get the details of an incident returns "Bad Request" response Given operation "GetIncident" enabled And new "GetIncident" request @@ -513,7 +513,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get the details of an incident returns "Not Found" response Given operation "GetIncident" enabled And new "GetIncident" request @@ -521,7 +521,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Get the details of an incident returns "OK" response Given operation "GetIncident" enabled And there is a valid "incident" in the system @@ -531,7 +531,7 @@ Feature: Incidents Then the response status is 200 OK And the response "data.attributes.title" has the same value as "incident.data.attributes.title" - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Remove commander from an incident returns "OK" response Given operation "UpdateIncident" enabled And there is a valid "incident" in the system @@ -542,7 +542,7 @@ Feature: Incidents Then the response status is 200 OK And the response "data.relationships.commander_user.data" is equal to null - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Search for incidents returns "Bad Request" response Given operation "SearchIncidents" enabled And new "SearchIncidents" request @@ -550,7 +550,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Search for incidents returns "Not Found" response Given operation "SearchIncidents" enabled And new "SearchIncidents" request @@ -558,7 +558,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/incident-app + @skip-validation @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Search for incidents returns "OK" response Given operation "SearchIncidents" enabled And there is a valid "incident" in the system @@ -569,7 +569,7 @@ Feature: Incidents And the response "data.type" is equal to "incidents_search_results" And the response "data.attributes.incidents[0].data.type" is equal to "incidents" - @replay-only @skip-validation @team:DataDog/incident-app @with-pagination + @replay-only @skip-validation @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Search for incidents returns "OK" response with pagination Given operation "SearchIncidents" enabled And new "SearchIncidents" request @@ -579,7 +579,7 @@ Feature: Incidents Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Update an existing incident integration metadata returns "Bad Request" response Given operation "UpdateIncidentIntegration" enabled And new "UpdateIncidentIntegration" request @@ -589,7 +589,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Update an existing incident integration metadata returns "Not Found" response Given operation "UpdateIncidentIntegration" enabled And new "UpdateIncidentIntegration" request @@ -599,7 +599,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Update an existing incident integration metadata returns "OK" response Given operation "UpdateIncidentIntegration" enabled And new "UpdateIncidentIntegration" request @@ -612,7 +612,7 @@ Feature: Incidents Then the response status is 200 OK And the response "data.attributes.metadata.channels[0].channel_name" is equal to "#updated-channel-name" - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Update an existing incident returns "Bad Request" response Given operation "UpdateIncident" enabled And new "UpdateIncident" request @@ -621,7 +621,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/incident-app + @generated @skip @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Update an existing incident returns "Not Found" response Given operation "UpdateIncident" enabled And new "UpdateIncident" request @@ -630,7 +630,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @team:DataDog/incident-app + @team:DataDog/incident-app @team:DataDog/web-frameworks-approvers Scenario: Update an existing incident returns "OK" response Given operation "UpdateIncident" enabled And there is a valid "incident" in the system @@ -641,7 +641,7 @@ Feature: Incidents Then the response status is 200 OK And the response "data.attributes.title" is equal to "{{ incident.data.attributes.title }}-updated" - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an incident todo returns "Bad Request" response Given operation "UpdateIncidentTodo" enabled And new "UpdateIncidentTodo" request @@ -651,7 +651,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an incident todo returns "Not Found" response Given operation "UpdateIncidentTodo" enabled And new "UpdateIncidentTodo" request @@ -661,7 +661,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @team:Datadog/incident-app + @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an incident todo returns "OK" response Given operation "UpdateIncidentTodo" enabled And new "UpdateIncidentTodo" request @@ -675,7 +675,7 @@ Feature: Incidents And the response "data.attributes.assignees" has length 1 And the response "data.attributes.content" is equal to "Restore lost data." - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an incident type returns "Bad Request" response Given operation "UpdateIncidentType" enabled And new "UpdateIncidentType" request @@ -684,7 +684,7 @@ Feature: Incidents When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/incident-app + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an incident type returns "Not Found" response Given operation "UpdateIncidentType" enabled And new "UpdateIncidentType" request @@ -693,7 +693,7 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found - @skip-validation @team:Datadog/incident-app + @skip-validation @team:DataDog/web-frameworks-approvers @team:Datadog/incident-app Scenario: Update an incident type returns "OK" response Given operation "UpdateIncidentType" enabled And new "UpdateIncidentType" request diff --git a/features/v2/ip_allowlist.feature b/features/v2/ip_allowlist.feature index 571c8b8ef8f7..9cd40a4dc0e4 100644 --- a/features/v2/ip_allowlist.feature +++ b/features/v2/ip_allowlist.feature @@ -12,13 +12,13 @@ Feature: IP Allowlist And a valid "appKeyAuth" key in the system And an instance of "IPAllowlist" API - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Get IP Allowlist returns "Not Found" response Given new "GetIPAllowlist" request When the request is sent Then the response status is 404 Not Found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Get IP Allowlist returns "OK" response Given the "ip_allowlist_nonempty_disabled" has two entries and is disabled And new "GetIPAllowlist" request @@ -32,21 +32,21 @@ Feature: IP Allowlist And the response "data.attributes.entries[1].data.attributes.note" has the same value as "ip_allowlist_nonempty_disabled.data.attributes.entries[1].data.attributes.note" And the response "data.attributes.entries[1].data.type" is equal to "{{ ip_allowlist_nonempty_disabled.data.attributes.entries[1].data.type }}" - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Update IP Allowlist returns "Bad Request" response Given new "UpdateIPAllowlist" request And body with value {"data": {"type": "ip_allowlist", "attributes": {"enabled": true, "entries": []}}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Update IP Allowlist returns "Not Found" response Given new "UpdateIPAllowlist" request And body with value {"data": {"attributes": {"entries": [{"data": {"attributes": {}, "type": "ip_allowlist_entry"}}]}, "type": "ip_allowlist"}} When the request is sent Then the response status is 404 Not Found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Update IP Allowlist returns "OK" response Given the "ip_allowlist_empty_disabled" has no entries and is disabled And new "UpdateIPAllowlist" request diff --git a/features/v2/key_management.feature b/features/v2/key_management.feature index 47a50604b490..6a3847977fe0 100644 --- a/features/v2/key_management.feature +++ b/features/v2/key_management.feature @@ -10,14 +10,14 @@ Feature: Key Management And a valid "appKeyAuth" key in the system And an instance of "KeyManagement" API - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Create an API key returns "Bad Request" response Given new "CreateAPIKey" request And body with value {"data": {"attributes": {"name": "API Key for submitting metrics"}, "type": "api_keys"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Create an API key returns "Created" response Given new "CreateAPIKey" request And body with value {"data": {"type": "api_keys", "attributes": {"name": "{{ unique }}"}}} @@ -26,7 +26,7 @@ Feature: Key Management And the response "data.type" is equal to "api_keys" And the response "data.attributes.name" is equal to "{{ unique }}" - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Create an Application key with scopes for current user returns "Created" response Given new "CreateCurrentUserApplicationKey" request And body with value {"data": {"type": "application_keys", "attributes": {"name": "{{ unique }}", "scopes": ["dashboards_read", "dashboards_write", "dashboards_public_share"]}}} @@ -35,14 +35,14 @@ Feature: Key Management And the response "data.attributes.name" is equal to "{{ unique }}" And the response "data.attributes.scopes" is equal to ["dashboards_read", "dashboards_write", "dashboards_public_share"] - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Create an application key for current user returns "Bad Request" response Given new "CreateCurrentUserApplicationKey" request And body with value {"data": {"attributes": {"name": "Application Key for managing dashboards", "scopes": ["dashboards_read", "dashboards_write", "dashboards_public_share"]}, "type": "application_keys"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Create an application key for current user returns "Created" response Given new "CreateCurrentUserApplicationKey" request And body with value {"data": {"type": "application_keys", "attributes": {"name": "{{ unique }}"}}} @@ -51,7 +51,7 @@ Feature: Key Management And the response "data.type" is equal to "application_keys" And the response "data.attributes.name" is equal to "{{ unique }}" - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an API key returns "No Content" response Given there is a valid "api_key" in the system And new "DeleteAPIKey" request @@ -59,14 +59,14 @@ Feature: Key Management When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an API key returns "Not Found" response Given new "DeleteAPIKey" request And request contains "api_key_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an application key owned by current user returns "No Content" response Given there is a valid "application_key" in the system And new "DeleteCurrentUserApplicationKey" request @@ -74,14 +74,14 @@ Feature: Key Management When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an application key owned by current user returns "Not Found" response Given new "DeleteCurrentUserApplicationKey" request And request contains "app_key_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an application key returns "No Content" response Given there is a valid "application_key" in the system And new "DeleteApplicationKey" request @@ -89,14 +89,14 @@ Feature: Key Management When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Delete an application key returns "Not Found" response Given new "DeleteApplicationKey" request And request contains "app_key_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an API key returns "Bad Request" response Given new "UpdateAPIKey" request And request contains "api_key_id" parameter from "REPLACE.ME" @@ -104,7 +104,7 @@ Feature: Key Management When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an API key returns "Not Found" response Given new "UpdateAPIKey" request And request contains "api_key_id" parameter from "REPLACE.ME" @@ -112,7 +112,7 @@ Feature: Key Management When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an API key returns "OK" response Given there is a valid "api_key" in the system And new "UpdateAPIKey" request @@ -124,7 +124,7 @@ Feature: Key Management And the response "data.id" is equal to "{{ api_key.data.id }}" And the response "data.attributes.name" is equal to "{{ unique }}" - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an application key owned by current user returns "Bad Request" response Given new "UpdateCurrentUserApplicationKey" request And request contains "app_key_id" parameter from "REPLACE.ME" @@ -132,7 +132,7 @@ Feature: Key Management When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an application key owned by current user returns "Not Found" response Given new "UpdateCurrentUserApplicationKey" request And request contains "app_key_id" parameter from "REPLACE.ME" @@ -140,7 +140,7 @@ Feature: Key Management When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an application key owned by current user returns "OK" response Given there is a valid "application_key" in the system And new "UpdateCurrentUserApplicationKey" request @@ -152,7 +152,7 @@ Feature: Key Management And the response "data.id" is equal to "{{ application_key.data.id }}" And the response "data.attributes.name" is equal to "{{ application_key.data.attributes.name }}-updated" - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an application key returns "Bad Request" response Given new "UpdateApplicationKey" request And request contains "app_key_id" parameter from "REPLACE.ME" @@ -160,7 +160,7 @@ Feature: Key Management When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an application key returns "Not Found" response Given new "UpdateApplicationKey" request And request contains "app_key_id" parameter from "REPLACE.ME" @@ -168,7 +168,7 @@ Feature: Key Management When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Edit an application key returns "OK" response Given there is a valid "application_key" in the system And new "UpdateApplicationKey" request @@ -180,14 +180,14 @@ Feature: Key Management And the response "data.id" is equal to "{{ application_key.data.id }}" And the response "data.attributes.name" is equal to "{{ application_key.data.attributes.name }}-updated" - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get API key returns "Not Found" response Given new "GetAPIKey" request And request contains "api_key_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get API key returns "OK" response Given there is a valid "api_key" in the system And new "GetAPIKey" request @@ -197,13 +197,13 @@ Feature: Key Management And the response "data.type" is equal to "api_keys" And the response "data.id" is equal to "{{ api_key.data.id }}" - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get all API keys returns "Bad Request" response Given new "ListAPIKeys" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get all API keys returns "OK" response Given there is a valid "api_key" in the system And new "ListAPIKeys" request @@ -212,38 +212,38 @@ Feature: Key Management Then the response status is 200 OK And the response "data[0].type" is equal to "api_keys" - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get all application keys owned by current user returns "Bad Request" response Given new "ListCurrentUserApplicationKeys" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get all application keys owned by current user returns "Not Found" response Given new "ListCurrentUserApplicationKeys" request When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get all application keys owned by current user returns "OK" response Given new "ListCurrentUserApplicationKeys" request When the request is sent Then the response status is 200 OK And the response "data[0].type" is equal to "application_keys" - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get all application keys returns "Bad Request" response Given new "ListApplicationKeys" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get all application keys returns "Not Found" response Given new "ListApplicationKeys" request When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get all application keys returns "OK" response Given there is a valid "application_key" in the system And new "ListApplicationKeys" request @@ -251,21 +251,21 @@ Feature: Key Management Then the response status is 200 OK And the response "data[0].type" is equal to "application_keys" - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get an application key returns "Bad Request" response Given new "GetApplicationKey" request And request contains "app_key_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get an application key returns "Not Found" response Given new "GetApplicationKey" request And request contains "app_key_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management + @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get an application key returns "OK" response Given there is a valid "application_key" in the system And new "GetApplicationKey" request @@ -275,14 +275,14 @@ Feature: Key Management And the response "data.type" is equal to "application_keys" And the response "data.id" has the same value as "application_key.data.id" - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get one application key owned by current user returns "Not Found" response Given new "GetCurrentUserApplicationKey" request And request contains "app_key_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/credentials-management + @generated @skip @team:DataDog/credentials-management @team:DataDog/web-frameworks-approvers Scenario: Get one application key owned by current user returns "OK" response Given new "GetCurrentUserApplicationKey" request And request contains "app_key_id" parameter from "REPLACE.ME" diff --git a/features/v2/logs.feature b/features/v2/logs.feature index b7accd07dd99..54102d9d92a4 100644 --- a/features/v2/logs.feature +++ b/features/v2/logs.feature @@ -8,7 +8,7 @@ Feature: Logs Given a valid "apiKeyAuth" key in the system And an instance of "Logs" API - @team:DataDog/logs-app + @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Aggregate compute events returns "OK" response Given a valid "appKeyAuth" key in the system And new "AggregateLogs" request @@ -17,7 +17,7 @@ Feature: Logs Then the response status is 200 OK And the response "meta.status" is equal to "done" - @team:DataDog/logs-app + @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Aggregate compute events with group by returns "OK" response Given a valid "appKeyAuth" key in the system And new "AggregateLogs" request @@ -26,7 +26,7 @@ Feature: Logs Then the response status is 200 OK And the response "meta.status" is equal to "done" - @generated @skip @team:DataDog/logs-app + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Aggregate events returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "AggregateLogs" request @@ -34,7 +34,7 @@ Feature: Logs When the request is sent Then the response status is 400 Bad Request - @team:DataDog/logs-app + @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Aggregate events returns "OK" response Given a valid "appKeyAuth" key in the system And new "AggregateLogs" request @@ -43,7 +43,7 @@ Feature: Logs Then the response status is 200 OK And the response "meta.status" is equal to "done" - @replay-only @skip-validation @team:DataDog/logs-app @with-pagination + @replay-only @skip-validation @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get a list of logs returns "OK" response with pagination Given a valid "appKeyAuth" key in the system And new "ListLogsGet" request @@ -52,7 +52,7 @@ Feature: Logs Then the response status is 200 OK And the response has 3 items - @team:DataDog/logs-app + @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Get a quick list of logs returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListLogsGet" request @@ -65,28 +65,28 @@ Feature: Logs Then the response status is 200 OK And the response "data" has length 0 - @generated @skip @team:DataDog/logs-app + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Search logs (GET) returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListLogsGet" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-app + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Search logs (GET) returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListLogsGet" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-app @with-pagination + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Search logs (GET) returns "OK" response with pagination Given a valid "appKeyAuth" key in the system And new "ListLogsGet" request When the request with pagination is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-app + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Search logs (POST) returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListLogs" request @@ -94,7 +94,7 @@ Feature: Logs When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-app + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Search logs (POST) returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListLogs" request @@ -102,7 +102,7 @@ Feature: Logs When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-app @with-pagination + @generated @skip @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Search logs (POST) returns "OK" response with pagination Given a valid "appKeyAuth" key in the system And new "ListLogs" request @@ -110,7 +110,7 @@ Feature: Logs When the request with pagination is sent Then the response status is 200 OK - @team:DataDog/logs-app + @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers Scenario: Search logs returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListLogs" request @@ -119,7 +119,7 @@ Feature: Logs Then the response status is 200 OK And the response "data" has length 0 - @replay-only @skip-validation @team:DataDog/logs-app @with-pagination + @replay-only @skip-validation @team:DataDog/logs-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Search logs returns "OK" response with pagination Given a valid "appKeyAuth" key in the system And new "ListLogs" request @@ -128,7 +128,7 @@ Feature: Logs Then the response status is 200 OK And the response has 3 items - @integration-only @skip-terraform-config @skip-validation @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion + @integration-only @skip-terraform-config @skip-validation @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion @team:DataDog/web-frameworks-approvers Scenario: Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response Given new "SubmitLog" request And body with value [{"ddsource": "nginx", "ddtags": "env:staging,version:5.1", "hostname": "i-012345678", "message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World", "service": "payment"}] @@ -136,7 +136,7 @@ Feature: Logs When the request is sent Then the response status is 202 Response from server (always 202 empty JSON). - @integration-only @skip-terraform-config @skip-validation @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion + @integration-only @skip-terraform-config @skip-validation @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion @team:DataDog/web-frameworks-approvers Scenario: Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response Given new "SubmitLog" request And body with value [{"ddsource": "nginx", "ddtags": "env:staging,version:5.1", "hostname": "i-012345678", "message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World", "service": "payment"}] @@ -144,28 +144,28 @@ Feature: Logs When the request is sent Then the response status is 202 Request accepted for processing (always 202 empty JSON). - @generated @skip @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion + @generated @skip @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion @team:DataDog/web-frameworks-approvers Scenario: Send logs returns "Bad Request" response Given new "SubmitLog" request And body with value [{"ddsource": "nginx", "ddtags": "env:staging,version:5.1", "hostname": "i-012345678", "message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World", "service": "payment"}] When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion + @generated @skip @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion @team:DataDog/web-frameworks-approvers Scenario: Send logs returns "Payload Too Large" response Given new "SubmitLog" request And body with value [{"ddsource": "nginx", "ddtags": "env:staging,version:5.1", "hostname": "i-012345678", "message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World", "service": "payment"}] When the request is sent Then the response status is 413 Payload Too Large - @generated @skip @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion + @generated @skip @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion @team:DataDog/web-frameworks-approvers Scenario: Send logs returns "Request Timeout" response Given new "SubmitLog" request And body with value [{"ddsource": "nginx", "ddtags": "env:staging,version:5.1", "hostname": "i-012345678", "message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World", "service": "payment"}] When the request is sent Then the response status is 408 Request Timeout - @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion + @team:DataDog/event-platform-intake @team:DataDog/logs-backend @team:DataDog/logs-ingestion @team:DataDog/web-frameworks-approvers Scenario: Send logs returns "Request accepted for processing (always 202 empty JSON)." response Given new "SubmitLog" request And body with value [{"ddsource": "nginx", "ddtags": "env:staging,version:5.1", "hostname": "i-012345678", "message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World", "service": "payment", "status": "info"}] diff --git a/features/v2/logs_archives.feature b/features/v2/logs_archives.feature index a6de8c72d4bd..bd6c12bb9173 100644 --- a/features/v2/logs_archives.feature +++ b/features/v2/logs_archives.feature @@ -9,75 +9,75 @@ Feature: Logs Archives And a valid "appKeyAuth" key in the system And an instance of "LogsArchives" API - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create an archive returns "Bad Request" response Given new "CreateLogsArchive" request And body with value {"data": {"attributes": {"destination": {"container": "container-name", "integration": {"client_id": "aaaaaaaa-1a1a-1a1a-1a1a-aaaaaaaaaaaa", "tenant_id": "aaaaaaaa-1a1a-1a1a-1a1a-aaaaaaaaaaaa"}, "storage_account": "account-name", "type": "azure"}, "include_tags": false, "name": "Nginx Archive", "query": "source:nginx", "rehydration_max_scan_size_in_gb": 100, "rehydration_tags": ["team:intake", "team:app"]}, "type": "archives"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create an archive returns "OK" response Given new "CreateLogsArchive" request And body with value {"data": {"attributes": {"destination": {"container": "container-name", "integration": {"client_id": "aaaaaaaa-1a1a-1a1a-1a1a-aaaaaaaaaaaa", "tenant_id": "aaaaaaaa-1a1a-1a1a-1a1a-aaaaaaaaaaaa"}, "storage_account": "account-name", "type": "azure"}, "include_tags": false, "name": "Nginx Archive", "query": "source:nginx", "rehydration_max_scan_size_in_gb": 100, "rehydration_tags": ["team:intake", "team:app"]}, "type": "archives"}} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Delete an archive returns "Bad Request" response Given new "DeleteLogsArchive" request And request contains "archive_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Delete an archive returns "Not found" response Given new "DeleteLogsArchive" request And request contains "archive_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Delete an archive returns "OK" response Given new "DeleteLogsArchive" request And request contains "archive_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get all archives returns "OK" response Given new "ListLogsArchives" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get an archive returns "Bad Request" response Given new "GetLogsArchive" request And request contains "archive_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get an archive returns "Not found" response Given new "GetLogsArchive" request And request contains "archive_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get an archive returns "OK" response Given new "GetLogsArchive" request And request contains "archive_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get archive order returns "OK" response Given new "GetLogsArchiveOrder" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Grant role to an archive returns "Bad Request" response Given new "AddReadRoleToArchive" request And request contains "archive_id" parameter from "REPLACE.ME" @@ -85,7 +85,7 @@ Feature: Logs Archives When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Grant role to an archive returns "Not found" response Given new "AddReadRoleToArchive" request And request contains "archive_id" parameter from "REPLACE.ME" @@ -93,7 +93,7 @@ Feature: Logs Archives When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Grant role to an archive returns "OK" response Given new "AddReadRoleToArchive" request And request contains "archive_id" parameter from "REPLACE.ME" @@ -101,28 +101,28 @@ Feature: Logs Archives When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: List read roles for an archive returns "Bad Request" response Given new "ListArchiveReadRoles" request And request contains "archive_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: List read roles for an archive returns "Not found" response Given new "ListArchiveReadRoles" request And request contains "archive_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: List read roles for an archive returns "OK" response Given new "ListArchiveReadRoles" request And request contains "archive_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Revoke role from an archive returns "Bad Request" response Given new "RemoveRoleFromArchive" request And request contains "archive_id" parameter from "REPLACE.ME" @@ -130,7 +130,7 @@ Feature: Logs Archives When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Revoke role from an archive returns "Not found" response Given new "RemoveRoleFromArchive" request And request contains "archive_id" parameter from "REPLACE.ME" @@ -138,7 +138,7 @@ Feature: Logs Archives When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Revoke role from an archive returns "OK" response Given new "RemoveRoleFromArchive" request And request contains "archive_id" parameter from "REPLACE.ME" @@ -146,7 +146,7 @@ Feature: Logs Archives When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update an archive returns "Bad Request" response Given new "UpdateLogsArchive" request And request contains "archive_id" parameter from "REPLACE.ME" @@ -154,7 +154,7 @@ Feature: Logs Archives When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update an archive returns "Not found" response Given new "UpdateLogsArchive" request And request contains "archive_id" parameter from "REPLACE.ME" @@ -162,7 +162,7 @@ Feature: Logs Archives When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update an archive returns "OK" response Given new "UpdateLogsArchive" request And request contains "archive_id" parameter from "REPLACE.ME" @@ -170,21 +170,21 @@ Feature: Logs Archives When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update archive order returns "Bad Request" response Given new "UpdateLogsArchiveOrder" request And body with value {"data": {"attributes": {"archive_ids": ["a2zcMylnM4OCHpYusxIi1g", "a2zcMylnM4OCHpYusxIi2g", "a2zcMylnM4OCHpYusxIi3g"]}, "type": "archive_order"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update archive order returns "OK" response Given new "UpdateLogsArchiveOrder" request And body with value {"data": {"attributes": {"archive_ids": ["a2zcMylnM4OCHpYusxIi1g", "a2zcMylnM4OCHpYusxIi2g", "a2zcMylnM4OCHpYusxIi3g"]}, "type": "archive_order"}} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update archive order returns "Unprocessable Entity" response Given new "UpdateLogsArchiveOrder" request And body with value {"data": {"attributes": {"archive_ids": ["a2zcMylnM4OCHpYusxIi1g", "a2zcMylnM4OCHpYusxIi2g", "a2zcMylnM4OCHpYusxIi3g"]}, "type": "archive_order"}} diff --git a/features/v2/logs_custom_destinations.feature b/features/v2/logs_custom_destinations.feature index 4410834fdcaa..d0f05b287dca 100644 --- a/features/v2/logs_custom_destinations.feature +++ b/features/v2/logs_custom_destinations.feature @@ -13,7 +13,7 @@ Feature: Logs Custom Destinations And a valid "appKeyAuth" key in the system And an instance of "LogsCustomDestinations" API - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create a Basic HTTP custom destination returns "OK" response Given new "CreateLogsCustomDestination" request And body with value {"data": {"attributes": {"enabled": false, "forward_tags": false, "forward_tags_restriction_list": ["datacenter", "host"], "forward_tags_restriction_list_type": "ALLOW_LIST", "forwarder_destination": {"auth": {"password": "datadog-custom-destination-password", "type": "basic", "username": "datadog-custom-destination-username"}, "endpoint": "https://example.com", "type": "http"}, "name": "Nginx logs", "query": "source:nginx"}, "type": "custom_destination"}} @@ -35,7 +35,7 @@ Feature: Logs Custom Destinations And the response "data.attributes.forward_tags_restriction_list" array contains value "host" And the response "data.attributes.forward_tags_restriction_list_type" is equal to "ALLOW_LIST" - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create a Custom Header HTTP custom destination returns "OK" response Given new "CreateLogsCustomDestination" request And body with value {"data": {"attributes": {"enabled": false, "forward_tags": false, "forward_tags_restriction_list": ["datacenter", "host"], "forward_tags_restriction_list_type": "ALLOW_LIST", "forwarder_destination": {"auth": {"header_value": "my-secret", "type": "custom_header", "header_name": "MY-AUTHENTICATION-HEADER"}, "endpoint": "https://example.com", "type": "http"}, "name": "Nginx logs", "query": "source:nginx"}, "type": "custom_destination"}} @@ -57,7 +57,7 @@ Feature: Logs Custom Destinations And the response "data.attributes.forward_tags_restriction_list" array contains value "host" And the response "data.attributes.forward_tags_restriction_list_type" is equal to "ALLOW_LIST" - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create a Splunk custom destination returns "OK" response Given new "CreateLogsCustomDestination" request And body with value {"data": {"attributes": {"enabled": false, "forward_tags": false, "forward_tags_restriction_list": ["datacenter", "host"], "forward_tags_restriction_list_type": "ALLOW_LIST", "forwarder_destination": {"access_token": "my-access-token", "endpoint": "https://example.com", "type": "splunk_hec"}, "name": "Nginx logs", "query": "source:nginx"}, "type": "custom_destination"}} @@ -77,28 +77,28 @@ Feature: Logs Custom Destinations And the response "data.attributes.forward_tags_restriction_list" array contains value "host" And the response "data.attributes.forward_tags_restriction_list_type" is equal to "ALLOW_LIST" - @skip-java @skip-python @skip-rust @skip-typescript @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @skip-java @skip-python @skip-rust @skip-typescript @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create a custom destination returns "Bad Request" response Given new "CreateLogsCustomDestination" request And body with value {"data": {"attributes": {"name": "Nginx logs"}, "type": "custom_destination"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create a custom destination returns "Conflict" response Given new "CreateLogsCustomDestination" request And body with value {"data": {"attributes": {"enabled": true, "forward_tags": true, "forward_tags_restriction_list": ["datacenter", "host"], "forward_tags_restriction_list_type": "ALLOW_LIST", "forwarder_destination": {"auth": {"password": "datadog-custom-destination-password", "type": "basic", "username": "datadog-custom-destination-username"}, "endpoint": "https://example.com", "type": "http"}, "name": "Nginx logs", "query": "source:nginx"}, "type": "custom_destination"}} When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create a custom destination returns "OK" response Given new "CreateLogsCustomDestination" request And body with value {"data": {"attributes": {"enabled": true, "forward_tags": true, "forward_tags_restriction_list": ["datacenter", "host"], "forward_tags_restriction_list_type": "ALLOW_LIST", "forwarder_destination": {"auth": {"password": "datadog-custom-destination-password", "type": "basic", "username": "datadog-custom-destination-username"}, "endpoint": "https://example.com", "type": "http"}, "name": "Nginx logs", "query": "source:nginx"}, "type": "custom_destination"}} When the request is sent Then the response status is 200 OK - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create an Elasticsearch custom destination returns "OK" response Given new "CreateLogsCustomDestination" request And body with value {"data": {"attributes": {"enabled": false, "forward_tags": false, "forward_tags_restriction_list": ["datacenter", "host"], "forward_tags_restriction_list_type": "ALLOW_LIST", "forwarder_destination": {"auth": {"username": "my-username", "password": "my-password"}, "index_name": "nginx-logs", "index_rotation": "yyyy-MM-dd", "endpoint": "https://example.com", "type": "elasticsearch"}, "name": "Nginx logs", "query": "source:nginx"}, "type": "custom_destination"}} @@ -121,21 +121,21 @@ Feature: Logs Custom Destinations And the response "data.attributes.forward_tags_restriction_list" array contains value "host" And the response "data.attributes.forward_tags_restriction_list_type" is equal to "ALLOW_LIST" - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Delete a custom destination returns "Bad Request" response Given new "DeleteLogsCustomDestination" request And request contains "custom_destination_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Delete a custom destination returns "Not Found" response Given new "DeleteLogsCustomDestination" request And request contains "custom_destination_id" parameter with value "does-not-exist" When the request is sent Then the response status is 404 Not found - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Delete a custom destination returns "OK" response Given new "DeleteLogsCustomDestination" request And there is a valid "custom_destination" in the system @@ -143,21 +143,21 @@ Feature: Logs Custom Destinations When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get a custom destination returns "Bad Request" response Given new "GetLogsCustomDestination" request And request contains "custom_destination_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get a custom destination returns "Not Found" response Given new "GetLogsCustomDestination" request And request contains "custom_destination_id" parameter with value "does-not-exist" When the request is sent Then the response status is 404 Not found - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get a custom destination returns "OK" response Given new "GetLogsCustomDestination" request And there is a valid "custom_destination" in the system @@ -179,7 +179,7 @@ Feature: Logs Custom Destinations And the response "data.attributes.forward_tags_restriction_list" array contains value "host" And the response "data.attributes.forward_tags_restriction_list_type" is equal to "{{ custom_destination.data.attributes.forward_tags_restriction_list_type }}" - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get all custom destinations returns "OK" response Given new "ListLogsCustomDestinations" request And there is a valid "custom_destination" in the system @@ -196,7 +196,7 @@ Feature: Logs Custom Destinations And the response "data" has item with field "attributes.forward_tags" with value false And the response "data" has item with field "attributes.forward_tags_restriction_list_type" with value "{{ custom_destination.data.attributes.forward_tags_restriction_list_type }}" - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update a custom destination returns "Bad Request" response Given new "UpdateLogsCustomDestination" request And there is a valid "custom_destination" in the system @@ -205,7 +205,7 @@ Feature: Logs Custom Destinations When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update a custom destination returns "Conflict" response Given new "UpdateLogsCustomDestination" request And request contains "custom_destination_id" parameter from "REPLACE.ME" @@ -213,7 +213,7 @@ Feature: Logs Custom Destinations When the request is sent Then the response status is 409 Conflict - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update a custom destination returns "Not Found" response Given new "UpdateLogsCustomDestination" request And request contains "custom_destination_id" parameter with value "id-from-non-existing-custom-destination" @@ -221,7 +221,7 @@ Feature: Logs Custom Destinations When the request is sent Then the response status is 404 Not Found - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update a custom destination returns "OK" response Given new "UpdateLogsCustomDestination" request And there is a valid "custom_destination" in the system diff --git a/features/v2/logs_metrics.feature b/features/v2/logs_metrics.feature index 4342f80a9cfb..e340749acff7 100644 --- a/features/v2/logs_metrics.feature +++ b/features/v2/logs_metrics.feature @@ -9,21 +9,21 @@ Feature: Logs Metrics And a valid "appKeyAuth" key in the system And an instance of "LogsMetrics" API - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create a log-based metric returns "Bad Request" response Given new "CreateLogsMetric" request And body with value {"data": {"attributes": {"compute": {"aggregation_type": "distribution", "include_percentiles": true, "path": "@duration"}, "filter": {"query": "service:web* AND @http.status_code:[200 TO 299]"}, "group_by": [{"path": "@http.status_code", "tag_name": "status_code"}]}, "id": "logs.page.load.count", "type": "logs_metrics"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create a log-based metric returns "Conflict" response Given new "CreateLogsMetric" request And body with value {"data": {"attributes": {"compute": {"aggregation_type": "distribution", "include_percentiles": true, "path": "@duration"}, "filter": {"query": "service:web* AND @http.status_code:[200 TO 299]"}, "group_by": [{"path": "@http.status_code", "tag_name": "status_code"}]}, "id": "logs.page.load.count", "type": "logs_metrics"}} When the request is sent Then the response status is 409 Conflict - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Create a log-based metric returns "OK" response Given new "CreateLogsMetric" request And body with value {"data": {"id": "{{ unique_alnum }}", "type": "logs_metrics", "attributes": {"compute": {"aggregation_type": "distribution", "include_percentiles": true, "path":"@duration"}}}} @@ -34,14 +34,14 @@ Feature: Logs Metrics And the response "data.attributes.compute.aggregation_type" is equal to "distribution" And the response "data.attributes.compute.include_percentiles" is equal to true - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Delete a log-based metric returns "Not Found" response Given new "DeleteLogsMetric" request And request contains "metric_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Delete a log-based metric returns "OK" response Given there is a valid "logs_metric" in the system And new "DeleteLogsMetric" request @@ -49,14 +49,14 @@ Feature: Logs Metrics When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get a log-based metric returns "Not Found" response Given new "GetLogsMetric" request And request contains "metric_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get a log-based metric returns "OK" response Given there is a valid "logs_metric" in the system And new "GetLogsMetric" request @@ -65,7 +65,7 @@ Feature: Logs Metrics Then the response status is 200 OK And the response "data.attributes.filter.query" has the same value as "logs_metric.data.attributes.filter.query" - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Get all log-based metrics returns "OK" response Given there is a valid "logs_metric" in the system And new "ListLogsMetrics" request @@ -73,7 +73,7 @@ Feature: Logs Metrics Then the response status is 200 OK And the response "data[0].type" is equal to "logs_metrics" - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update a log-based metric returns "Bad Request" response Given new "UpdateLogsMetric" request And request contains "metric_id" parameter from "REPLACE.ME" @@ -81,7 +81,7 @@ Feature: Logs Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @generated @skip @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update a log-based metric returns "Not Found" response Given new "UpdateLogsMetric" request And request contains "metric_id" parameter from "REPLACE.ME" @@ -89,7 +89,7 @@ Feature: Logs Metrics When the request is sent Then the response status is 404 Not Found - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update a log-based metric returns "OK" response Given there is a valid "logs_metric" in the system And new "UpdateLogsMetric" request @@ -99,7 +99,7 @@ Feature: Logs Metrics Then the response status is 200 OK And the response "data.attributes.filter.query" is equal to "{{ logs_metric.data.attributes.filter.query }}-updated" - @team:DataDog/logs-backend @team:DataDog/logs-forwarding + @team:DataDog/logs-backend @team:DataDog/logs-forwarding @team:DataDog/web-frameworks-approvers Scenario: Update a log-based metric with include_percentiles field returns "OK" response Given there is a valid "logs_metric_percentile" in the system And new "UpdateLogsMetric" request diff --git a/features/v2/metrics.feature b/features/v2/metrics.feature index b69e8dc104c3..4cf20c5930c4 100644 --- a/features/v2/metrics.feature +++ b/features/v2/metrics.feature @@ -15,7 +15,7 @@ Feature: Metrics Given a valid "apiKeyAuth" key in the system And an instance of "Metrics" API - @skip-typescript @team:DataDog/metrics-experience + @skip-typescript @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Configure tags for multiple metrics returns "Accepted" response Given a valid "appKeyAuth" key in the system And there is a valid "user" in the system @@ -24,7 +24,7 @@ Feature: Metrics When the request is sent Then the response status is 202 Accepted - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Configure tags for multiple metrics returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "CreateBulkTagsMetricsConfiguration" request @@ -32,7 +32,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Configure tags for multiple metrics returns "Not Found" response Given a valid "appKeyAuth" key in the system And new "CreateBulkTagsMetricsConfiguration" request @@ -40,7 +40,7 @@ Feature: Metrics When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Create a tag configuration returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "CreateTagConfiguration" request @@ -49,7 +49,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Create a tag configuration returns "Conflict" response Given a valid "appKeyAuth" key in the system And new "CreateTagConfiguration" request @@ -58,7 +58,7 @@ Feature: Metrics When the request is sent Then the response status is 409 Conflict - @replay-only @skip-validation @team:DataDog/metrics-experience + @replay-only @skip-validation @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Create a tag configuration returns "Created" response Given a valid "appKeyAuth" key in the system And new "CreateTagConfiguration" request @@ -68,7 +68,7 @@ Feature: Metrics When the request is sent Then the response status is 201 Created - @replay-only @skip-validation @team:DataDog/metrics-experience + @replay-only @skip-validation @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Delete a tag configuration returns "No Content" response Given there is a valid "metric" in the system And there is a valid "metric_tag_configuration" in the system @@ -78,7 +78,7 @@ Feature: Metrics When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Delete a tag configuration returns "Not found" response Given a valid "appKeyAuth" key in the system And new "DeleteTagConfiguration" request @@ -86,7 +86,7 @@ Feature: Metrics When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Delete tags for multiple metrics returns "Accepted" response Given a valid "appKeyAuth" key in the system And new "DeleteBulkTagsMetricsConfiguration" request @@ -94,7 +94,7 @@ Feature: Metrics When the request is sent Then the response status is 202 Accepted - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Delete tags for multiple metrics returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "DeleteBulkTagsMetricsConfiguration" request @@ -102,7 +102,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Delete tags for multiple metrics returns "Not Found" response Given a valid "appKeyAuth" key in the system And new "DeleteBulkTagsMetricsConfiguration" request @@ -110,14 +110,14 @@ Feature: Metrics When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Get a list of metrics returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListTagConfigurations" request When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/metrics-experience + @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Get a list of metrics returns "Success" response Given a valid "appKeyAuth" key in the system And there is a valid "metric_tag_configuration" in the system @@ -125,7 +125,7 @@ Feature: Metrics When the request is sent Then the response status is 200 Success - @replay-only @skip-validation @team:DataDog/metrics-experience @with-pagination + @replay-only @skip-validation @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get a list of metrics returns "Success" response with pagination Given a valid "appKeyAuth" key in the system And new "ListTagConfigurations" request @@ -134,7 +134,7 @@ Feature: Metrics Then the response status is 200 Success And the response has 3 items - @team:DataDog/metrics-experience + @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Get a list of metrics with a tag filter returns "Success" response Given a valid "appKeyAuth" key in the system And new "ListTagConfigurations" request @@ -143,7 +143,7 @@ Feature: Metrics Then the response status is 200 Success And the response "data" has length 0 - @replay-only @team:DataDog/metrics-experience + @replay-only @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Get a list of metrics with configured filter returns "Success" response Given a valid "appKeyAuth" key in the system And new "ListTagConfigurations" request @@ -152,7 +152,7 @@ Feature: Metrics Then the response status is 200 Success And the response "data[0].type" is equal to "manage_tags" - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List active tags and aggregations returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListActiveMetricConfigurations" request @@ -160,7 +160,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List active tags and aggregations returns "Not Found" response Given a valid "appKeyAuth" key in the system And new "ListActiveMetricConfigurations" request @@ -168,7 +168,7 @@ Feature: Metrics When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/metrics-experience + @skip-validation @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List active tags and aggregations returns "Success" response Given a valid "appKeyAuth" key in the system And there is a valid "metric_static" in the system @@ -179,7 +179,7 @@ Feature: Metrics And the response "data.type" is equal to "actively_queried_configurations" And the response "data.id" is equal to "static_test_metric_donotdelete" - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List distinct metric volumes by metric name returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListVolumesByMetricName" request @@ -187,7 +187,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List distinct metric volumes by metric name returns "Not Found" response Given a valid "appKeyAuth" key in the system And new "ListVolumesByMetricName" request @@ -195,7 +195,7 @@ Feature: Metrics When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/metrics-experience + @skip-validation @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List distinct metric volumes by metric name returns "Success" response Given a valid "appKeyAuth" key in the system And there is a valid "metric_static" in the system @@ -206,7 +206,7 @@ Feature: Metrics And the response "data.type" is equal to "metric_volumes" And the response "data.id" is equal to "static_test_metric_donotdelete" - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List tag configuration by name returns "Not Found" response Given a valid "appKeyAuth" key in the system And new "ListTagConfigurationByName" request @@ -214,7 +214,7 @@ Feature: Metrics When the request is sent Then the response status is 404 Not Found - @replay-only @skip-validation @team:DataDog/metrics-experience + @replay-only @skip-validation @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List tag configuration by name returns "Success" response Given a valid "appKeyAuth" key in the system And there is a valid "metric" in the system @@ -225,7 +225,7 @@ Feature: Metrics Then the response status is 200 Success And the response "data.id" has the same value as "metric_tag_configuration.data.id" - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List tags by metric name returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "ListTagsByMetricName" request @@ -233,7 +233,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List tags by metric name returns "Not Found" response Given a valid "appKeyAuth" key in the system And new "ListTagsByMetricName" request @@ -241,7 +241,7 @@ Feature: Metrics When the request is sent Then the response status is 404 Not Found - @replay-only @skip-validation @team:DataDog/metrics-experience + @replay-only @skip-validation @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: List tags by metric name returns "Success" response Given a valid "appKeyAuth" key in the system And there is a valid "metric" in the system @@ -252,7 +252,7 @@ Feature: Metrics Then the response status is 200 Success And the response "data.id" has the same value as "metric_tag_configuration.data.id" - @generated @skip @team:Datadog/timeseries-query + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/timeseries-query Scenario: Query scalar data across multiple products returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "QueryScalarData" request @@ -260,7 +260,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/timeseries-query + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/timeseries-query Scenario: Query scalar data across multiple products returns "OK" response Given a valid "appKeyAuth" key in the system And new "QueryScalarData" request @@ -268,7 +268,7 @@ Feature: Metrics When the request is sent Then the response status is 200 OK - @generated @skip @team:Datadog/timeseries-query + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/timeseries-query Scenario: Query timeseries data across multiple products returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "QueryTimeseriesData" request @@ -276,7 +276,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/timeseries-query + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/timeseries-query Scenario: Query timeseries data across multiple products returns "OK" response Given a valid "appKeyAuth" key in the system And new "QueryTimeseriesData" request @@ -284,7 +284,7 @@ Feature: Metrics When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Related Assets to a Metric returns "API error response." response Given a valid "appKeyAuth" key in the system And new "ListMetricAssets" request @@ -292,7 +292,7 @@ Feature: Metrics When the request is sent Then the response status is 404 API error response. - @team:DataDog/metrics-experience + @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Related Assets to a Metric returns "Success" response Given a valid "appKeyAuth" key in the system And new "ListMetricAssets" request @@ -302,7 +302,7 @@ Feature: Metrics And the response "data.type" is equal to "metrics" And the response "data.id" is equal to "system.cpu.user" - @team:Datadog/timeseries-query + @team:DataDog/web-frameworks-approvers @team:Datadog/timeseries-query Scenario: Scalar cross product query returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "QueryScalarData" request @@ -310,7 +310,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @team:Datadog/timeseries-query + @team:DataDog/web-frameworks-approvers @team:Datadog/timeseries-query Scenario: Scalar cross product query returns "OK" response Given a valid "appKeyAuth" key in the system And new "QueryScalarData" request @@ -320,14 +320,14 @@ Feature: Metrics And the response "data.type" is equal to "scalar_response" And the response "data.attributes.columns[0].name" is equal to "a" - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Submit metrics returns "Bad Request" response Given new "SubmitMetrics" request And body with value {"series": [{"metric": "system.load.1", "points": [{"timestamp": 1475317847, "value": 0.7}], "resources": [{"name": "dummyhost", "type": "host"}]}]} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/metrics-intake @team:DataDog/metrics-query + @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Submit metrics returns "Payload accepted" response Given new "SubmitMetrics" request And body with value {"series": [{"metric": "system.load.1", "type": 0, "points": [{"timestamp": {{ timestamp('now') }}, "value": 0.7}], "resources": [{"name": "dummyhost", "type": "host"}]}]} @@ -335,21 +335,21 @@ Feature: Metrics Then the response status is 202 Payload accepted And the response "errors" has length 0 - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Submit metrics returns "Payload too large" response Given new "SubmitMetrics" request And body with value {"series": [{"metric": "system.load.1", "points": [{"timestamp": 1475317847, "value": 0.7}], "resources": [{"name": "dummyhost", "type": "host"}]}]} When the request is sent Then the response status is 413 Payload too large - @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query + @generated @skip @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Submit metrics returns "Request timeout" response Given new "SubmitMetrics" request And body with value {"series": [{"metric": "system.load.1", "points": [{"timestamp": 1475317847, "value": 0.7}], "resources": [{"name": "dummyhost", "type": "host"}]}]} When the request is sent Then the response status is 408 Request timeout - @integration-only @skip-terraform-config @skip-validation @team:DataDog/metrics-intake @team:DataDog/metrics-query + @integration-only @skip-terraform-config @skip-validation @team:DataDog/metrics-intake @team:DataDog/metrics-query @team:DataDog/web-frameworks-approvers Scenario: Submit metrics with compression returns "Payload accepted" response Given new "SubmitMetrics" request And body with value {"series": [{"metric": "system.load.1", "type": 0, "points": [{"timestamp": {{ timestamp('now') }}, "value": 0.7}]}]} @@ -357,7 +357,7 @@ Feature: Metrics When the request is sent Then the response status is 202 Payload accepted - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Tag Configuration Cardinality Estimator returns "API error response." response Given a valid "appKeyAuth" key in the system And new "EstimateMetricsOutputSeries" request @@ -365,7 +365,7 @@ Feature: Metrics When the request is sent Then the response status is 404 API error response. - @replay-only @team:DataDog/metrics-experience + @replay-only @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Tag Configuration Cardinality Estimator returns "Success" response Given new "EstimateMetricsOutputSeries" request And request contains "metric_name" parameter with value "system.cpu.idle" @@ -374,7 +374,7 @@ Feature: Metrics When the request is sent Then the response status is 200 Success - @skip @team:Datadog/timeseries-query + @skip @team:DataDog/web-frameworks-approvers @team:Datadog/timeseries-query Scenario: Timeseries cross product query returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "QueryTimeseriesData" request @@ -382,7 +382,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @team:Datadog/timeseries-query + @team:DataDog/web-frameworks-approvers @team:Datadog/timeseries-query Scenario: Timeseries cross product query returns "OK" response Given a valid "appKeyAuth" key in the system And new "QueryTimeseriesData" request @@ -391,7 +391,7 @@ Feature: Metrics Then the response status is 200 OK And the response "data.type" is equal to "timeseries_response" - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Update a tag configuration returns "Bad Request" response Given a valid "appKeyAuth" key in the system And new "UpdateTagConfiguration" request @@ -400,7 +400,7 @@ Feature: Metrics When the request is sent Then the response status is 400 Bad Request - @replay-only @skip-validation @team:DataDog/metrics-experience + @replay-only @skip-validation @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Update a tag configuration returns "OK" response Given a valid "appKeyAuth" key in the system And there is a valid "metric" in the system @@ -412,7 +412,7 @@ Feature: Metrics Then the response status is 200 OK And the response "data.attributes.tags[0]" is equal to "app" - @generated @skip @team:DataDog/metrics-experience + @generated @skip @team:DataDog/metrics-experience @team:DataDog/web-frameworks-approvers Scenario: Update a tag configuration returns "Unprocessable Entity" response Given a valid "appKeyAuth" key in the system And new "UpdateTagConfiguration" request diff --git a/features/v2/microsoft_teams_integration.feature b/features/v2/microsoft_teams_integration.feature index 195b4810618a..77c56b7ed855 100644 --- a/features/v2/microsoft_teams_integration.feature +++ b/features/v2/microsoft_teams_integration.feature @@ -10,42 +10,42 @@ Feature: Microsoft Teams Integration And a valid "appKeyAuth" key in the system And an instance of "MicrosoftTeamsIntegration" API - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create Workflows webhook handle returns "Bad Request" response Given new "CreateWorkflowsWebhookHandle" request And body with value {"data": {"attributes": {"name": "fake-handle-name", "url": "https://fake.url.com"}, "type": "workflows-webhook-handle"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create Workflows webhook handle returns "CREATED" response Given new "CreateWorkflowsWebhookHandle" request And body with value {"data": {"attributes": {"name": "fake-handle-name", "url": "https://fake.url.com"}, "type": "workflows-webhook-handle"}} When the request is sent Then the response status is 201 CREATED - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create Workflows webhook handle returns "Conflict" response Given new "CreateWorkflowsWebhookHandle" request And body with value {"data": {"attributes": {"name": "fake-handle-name", "url": "https://fake.url.com"}, "type": "workflows-webhook-handle"}} When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create Workflows webhook handle returns "Failed Precondition" response Given new "CreateWorkflowsWebhookHandle" request And body with value {"data": {"attributes": {"name": "fake-handle-name", "url": "https://fake.url.com"}, "type": "workflows-webhook-handle"}} When the request is sent Then the response status is 412 Failed Precondition - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create Workflows webhook handle returns "Not Found" response Given new "CreateWorkflowsWebhookHandle" request And body with value {"data": {"attributes": {"name": "fake-handle-name", "url": "https://fake.url.com"}, "type": "workflows-webhook-handle"}} When the request is sent Then the response status is 404 Not Found - @integration-only @team:DataDog/chat-integrations + @integration-only @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create api handle returns "CREATED" response Given new "CreateTenantBasedHandle" request And body with value {"data": {"attributes": {"channel_id": "19:iD_D2xy_sAa-JV851JJYwIa6mlW9F9Nxm3SLyZq68qY1@thread.tacv2", "name": "{{unique}}", "team_id": "e5f50a58-c929-4fb3-8866-e2cd836de3c2", "tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97"}, "type": "tenant-based-handle"}} @@ -53,42 +53,42 @@ Feature: Microsoft Teams Integration Then the response status is 201 CREATED And the response "data.attributes.name" is equal to "{{unique}}" - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create tenant-based handle returns "Bad Request" response Given new "CreateTenantBasedHandle" request And body with value {"data": {"attributes": {"channel_id": "fake-channel-id", "name": "fake-handle-name", "team_id": "00000000-0000-0000-0000-000000000000", "tenant_id": "00000000-0000-0000-0000-000000000001"}, "type": "tenant-based-handle"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create tenant-based handle returns "CREATED" response Given new "CreateTenantBasedHandle" request And body with value {"data": {"attributes": {"channel_id": "fake-channel-id", "name": "fake-handle-name", "team_id": "00000000-0000-0000-0000-000000000000", "tenant_id": "00000000-0000-0000-0000-000000000001"}, "type": "tenant-based-handle"}} When the request is sent Then the response status is 201 CREATED - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create tenant-based handle returns "Conflict" response Given new "CreateTenantBasedHandle" request And body with value {"data": {"attributes": {"channel_id": "fake-channel-id", "name": "fake-handle-name", "team_id": "00000000-0000-0000-0000-000000000000", "tenant_id": "00000000-0000-0000-0000-000000000001"}, "type": "tenant-based-handle"}} When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create tenant-based handle returns "Failed Precondition" response Given new "CreateTenantBasedHandle" request And body with value {"data": {"attributes": {"channel_id": "fake-channel-id", "name": "fake-handle-name", "team_id": "00000000-0000-0000-0000-000000000000", "tenant_id": "00000000-0000-0000-0000-000000000001"}, "type": "tenant-based-handle"}} When the request is sent Then the response status is 412 Failed Precondition - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create tenant-based handle returns "Not Found" response Given new "CreateTenantBasedHandle" request And body with value {"data": {"attributes": {"channel_id": "fake-channel-id", "name": "fake-handle-name", "team_id": "00000000-0000-0000-0000-000000000000", "tenant_id": "00000000-0000-0000-0000-000000000001"}, "type": "tenant-based-handle"}} When the request is sent Then the response status is 404 Not Found - @team:DataDog/chat-integrations + @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Create workflow webhook handle returns "CREATED" response Given new "CreateWorkflowsWebhookHandle" request And body with value {"data": {"attributes": {"name": "{{unique}}", "url": "https://fake.url.com"}, "type": "workflows-webhook-handle"}} @@ -96,28 +96,28 @@ Feature: Microsoft Teams Integration Then the response status is 201 CREATED And the response "data.attributes.name" is equal to "{{unique}}" - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Workflows webhook handle returns "Bad Request" response Given new "DeleteWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Workflows webhook handle returns "Failed Precondition" response Given new "DeleteWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 412 Failed Precondition - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Workflows webhook handle returns "OK" response Given new "DeleteWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @integration-only @team:DataDog/chat-integrations + @integration-only @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete api handle returns "OK" response Given there is a valid "tenant_based_handle" in the system And new "DeleteTenantBasedHandle" request @@ -125,28 +125,28 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete tenant-based handle returns "Bad Request" response Given new "DeleteTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete tenant-based handle returns "Failed Precondition" response Given new "DeleteTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 412 Failed Precondition - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete tenant-based handle returns "OK" response Given new "DeleteTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @team:DataDog/chat-integrations + @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete workflow webhook handle returns "OK" response Given there is a valid "workflows_webhook_handle" in the system And new "DeleteWorkflowsWebhookHandle" request @@ -154,59 +154,59 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Workflows webhook handle information returns "Bad Request" response Given new "GetWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Workflows webhook handle information returns "Failed Precondition" response Given new "GetWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 412 Failed Precondition - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Workflows webhook handle information returns "Not Found" response Given new "GetWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Workflows webhook handle information returns "OK" response Given new "GetWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all Workflows webhook handles returns "Bad Request" response Given new "ListWorkflowsWebhookHandles" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all Workflows webhook handles returns "Failed Precondition" response Given new "ListWorkflowsWebhookHandles" request When the request is sent Then the response status is 412 Failed Precondition - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all Workflows webhook handles returns "Not Found" response Given new "ListWorkflowsWebhookHandles" request When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all Workflows webhook handles returns "OK" response Given new "ListWorkflowsWebhookHandles" request When the request is sent Then the response status is 200 OK - @integration-only @team:DataDog/chat-integrations + @integration-only @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all api handles returns "OK" response Given there is a valid "tenant_based_handle" in the system And new "ListTenantBasedHandles" request @@ -214,31 +214,31 @@ Feature: Microsoft Teams Integration Then the response status is 200 OK And the response "data[0].type" is equal to "ms-teams-tenant-based-handle-info" - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all tenant-based handles returns "Bad Request" response Given new "ListTenantBasedHandles" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all tenant-based handles returns "Failed Precondition" response Given new "ListTenantBasedHandles" request When the request is sent Then the response status is 412 Failed Precondition - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all tenant-based handles returns "Not Found" response Given new "ListTenantBasedHandles" request When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all tenant-based handles returns "OK" response Given new "ListTenantBasedHandles" request When the request is sent Then the response status is 200 OK - @team:DataDog/chat-integrations + @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get all workflow webhook handles returns "OK" response Given there is a valid "workflows_webhook_handle" in the system And new "ListWorkflowsWebhookHandles" request @@ -246,7 +246,7 @@ Feature: Microsoft Teams Integration Then the response status is 200 OK And the response "data[0].type" is equal to "workflows-webhook-handle" - @integration-only @team:DataDog/chat-integrations + @integration-only @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get api handle information returns "OK" response Given there is a valid "tenant_based_handle" in the system And new "GetTenantBasedHandle" request @@ -258,7 +258,7 @@ Feature: Microsoft Teams Integration And the response "data.attributes.team_id" has the same value as "tenant_based_handle.data.attributes.team_id" And the response "data.attributes.tenant_id" has the same value as "tenant_based_handle.data.attributes.tenant_id" - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get channel information by name returns "Bad Request" response Given new "GetChannelByName" request And request contains "tenant_name" parameter from "REPLACE.ME" @@ -267,7 +267,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get channel information by name returns "Not Found" response Given new "GetChannelByName" request And request contains "tenant_name" parameter from "REPLACE.ME" @@ -276,7 +276,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get channel information by name returns "OK" response Given new "GetChannelByName" request And request contains "tenant_name" parameter from "REPLACE.ME" @@ -285,35 +285,35 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get tenant-based handle information returns "Bad Request" response Given new "GetTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get tenant-based handle information returns "Failed Precondition" response Given new "GetTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 412 Failed Precondition - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get tenant-based handle information returns "Not Found" response Given new "GetTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get tenant-based handle information returns "OK" response Given new "GetTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @team:DataDog/chat-integrations + @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Get workflow webhook handle information returns "OK" response Given there is a valid "workflows_webhook_handle" in the system And new "GetWorkflowsWebhookHandle" request @@ -321,7 +321,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Workflows webhook handle returns "Bad Request" response Given new "UpdateWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" @@ -329,7 +329,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Workflows webhook handle returns "Conflict" response Given new "UpdateWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" @@ -337,7 +337,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Workflows webhook handle returns "Failed Precondition" response Given new "UpdateWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" @@ -345,7 +345,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 412 Failed Precondition - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Workflows webhook handle returns "Not Found" response Given new "UpdateWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" @@ -353,7 +353,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Workflows webhook handle returns "OK" response Given new "UpdateWorkflowsWebhookHandle" request And request contains "handle_id" parameter from "REPLACE.ME" @@ -361,7 +361,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 200 OK - @integration-only @team:DataDog/chat-integrations + @integration-only @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update api handle returns "OK" response Given there is a valid "tenant_based_handle" in the system And new "UpdateTenantBasedHandle" request @@ -371,7 +371,7 @@ Feature: Microsoft Teams Integration Then the response status is 200 OK And the response "data.attributes.name" is equal to "{{tenant_based_handle.data.attributes.name}}--updated" - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update tenant-based handle returns "Bad Request" response Given new "UpdateTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" @@ -379,7 +379,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update tenant-based handle returns "Conflict" response Given new "UpdateTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" @@ -387,7 +387,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update tenant-based handle returns "Failed Precondition" response Given new "UpdateTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" @@ -395,7 +395,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 412 Failed Precondition - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update tenant-based handle returns "Not Found" response Given new "UpdateTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" @@ -403,7 +403,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/chat-integrations + @generated @skip @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update tenant-based handle returns "OK" response Given new "UpdateTenantBasedHandle" request And request contains "handle_id" parameter from "REPLACE.ME" @@ -411,7 +411,7 @@ Feature: Microsoft Teams Integration When the request is sent Then the response status is 200 OK - @team:DataDog/chat-integrations + @team:DataDog/chat-integrations @team:DataDog/web-frameworks-approvers Scenario: Update workflow webhook handle returns "OK" response Given there is a valid "workflows_webhook_handle" in the system And new "UpdateWorkflowsWebhookHandle" request diff --git a/features/v2/monitors.feature b/features/v2/monitors.feature index 7585d0663d3e..a94b4b57f638 100644 --- a/features/v2/monitors.feature +++ b/features/v2/monitors.feature @@ -11,14 +11,14 @@ Feature: Monitors And a valid "appKeyAuth" key in the system And an instance of "Monitors" API - @skip-validation @team:DataDog/monitor-app + @skip-validation @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a monitor configuration policy returns "Bad Request" response Given new "CreateMonitorConfigPolicy" request And body with value {"data": {"attributes": {"policy_type": "INVALID", "policy": {"tag_key": "datacenter", "tag_key_required": true, "valid_tag_values": ["prod", "staging"]}}, "type": "monitor-config-policy"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Create a monitor configuration policy returns "OK" response Given new "CreateMonitorConfigPolicy" request And body with value {"data": {"attributes": {"policy_type": "tag", "policy": {"tag_key": "{{ unique_lower_alnum }}", "tag_key_required": false, "valid_tag_values": ["prod", "staging"]}}, "type": "monitor-config-policy"}} @@ -29,21 +29,21 @@ Feature: Monitors And the response "data.attributes.policy.tag_key" is equal to "{{ unique_lower_alnum }}" And the response "data.attributes.policy.valid_tag_values" is equal to ["prod", "staging"] - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Delete a monitor configuration policy returns "Bad Request" response Given new "DeleteMonitorConfigPolicy" request And request contains "policy_id" parameter with value "INVALID_UUID" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Delete a monitor configuration policy returns "Not Found" response Given new "DeleteMonitorConfigPolicy" request And request contains "policy_id" parameter with value "00000000-0000-1234-0000-000000000000" When the request is sent Then the response status is 404 Not Found - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Delete a monitor configuration policy returns "OK" response Given there is a valid "monitor_configuration_policy" in the system And new "DeleteMonitorConfigPolicy" request @@ -51,7 +51,7 @@ Feature: Monitors When the request is sent Then the response status is 204 OK - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Edit a monitor configuration policy returns "Not Found" response Given new "UpdateMonitorConfigPolicy" request And request contains "policy_id" parameter with value "00000000-0000-1234-0000-000000000000" @@ -59,7 +59,7 @@ Feature: Monitors When the request is sent Then the response status is 404 Not Found - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Edit a monitor configuration policy returns "OK" response Given there is a valid "monitor_configuration_policy" in the system And new "UpdateMonitorConfigPolicy" request @@ -73,7 +73,7 @@ Feature: Monitors And the response "data.attributes.policy.tag_key" is equal to "{{ unique_lower_alnum }}" And the response "data.attributes.policy.valid_tag_values" is equal to ["prod", "staging"] - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Edit a monitor configuration policy returns "Unprocessable Entity" response Given there is a valid "monitor_configuration_policy" in the system And new "UpdateMonitorConfigPolicy" request @@ -82,14 +82,14 @@ Feature: Monitors When the request is sent Then the response status is 422 Unprocessable Entity - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a monitor configuration policy returns "Not Found" response Given new "GetMonitorConfigPolicy" request And request contains "policy_id" parameter with value "12340000-0000-0000-0000-000000000000" When the request is sent Then the response status is 404 Not Found - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get a monitor configuration policy returns "OK" response Given there is a valid "monitor_configuration_policy" in the system And new "GetMonitorConfigPolicy" request @@ -102,7 +102,7 @@ Feature: Monitors And the response "data.attributes.policy.tag_key" is equal to "{{ unique_lower_alnum }}" And the response "data.attributes.policy.valid_tag_values" is equal to ["prod", "staging"] - @team:DataDog/monitor-app + @team:DataDog/monitor-app @team:DataDog/web-frameworks-approvers Scenario: Get all monitor configuration policies returns "OK" response Given there is a valid "monitor_configuration_policy" in the system And new "ListMonitorConfigPolicies" request diff --git a/features/v2/network_device_monitoring.feature b/features/v2/network_device_monitoring.feature index 6952a281f0ff..3ec1953317e6 100644 --- a/features/v2/network_device_monitoring.feature +++ b/features/v2/network_device_monitoring.feature @@ -10,14 +10,14 @@ Feature: Network Device Monitoring And a valid "appKeyAuth" key in the system And an instance of "NetworkDeviceMonitoring" API - @replay-only @team:DataDog/network-device-monitoring + @replay-only @team:DataDog/network-device-monitoring @team:DataDog/web-frameworks-approvers Scenario: Get the device details returns "Not Found" response Given new "GetDevice" request And request contains "device_id" parameter with value "unknown_device_id" When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/network-device-monitoring + @replay-only @team:DataDog/network-device-monitoring @team:DataDog/web-frameworks-approvers Scenario: Get the device details returns "OK" response Given new "GetDevice" request And request contains "device_id" parameter with value "default_device" @@ -40,13 +40,13 @@ Feature: Network Device Monitoring And the response "data.attributes.sys_object_id" is equal to "1.3.6.1.4.1.99999" And the response "data.attributes.tags" is equal to ["device_ip:1.2.3.4","device_id:default_device"] - @replay-only @team:DataDog/network-device-monitoring + @replay-only @team:DataDog/network-device-monitoring @team:DataDog/web-frameworks-approvers Scenario: Get the list of devices returns "Bad Request" response Given new "ListDevices" request When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/network-device-monitoring + @replay-only @team:DataDog/network-device-monitoring @team:DataDog/web-frameworks-approvers Scenario: Get the list of devices returns "OK" response Given new "ListDevices" request And request contains "page[size]" parameter with value 1 @@ -75,7 +75,7 @@ Feature: Network Device Monitoring And the response "data[0].attributes.interface_statuses.down" is equal to 13 And the response "meta.page.total_filtered_count" is equal to 1 - @replay-only @team:DataDog/network-device-monitoring + @replay-only @team:DataDog/network-device-monitoring @team:DataDog/web-frameworks-approvers Scenario: Get the list of interfaces of the device returns "OK" response Given new "GetInterfaces" request And request contains "device_id" parameter with value "default:1.2.3.4" @@ -98,14 +98,14 @@ Feature: Network Device Monitoring And the response "data[1].attributes.index" is equal to 999 And the response "data[1].attributes.status" is equal to "down" - @replay-only @team:DataDog/network-device-monitoring + @replay-only @team:DataDog/network-device-monitoring @team:DataDog/web-frameworks-approvers Scenario: Get the list of tags for a device returns "Not Found" response Given new "ListDeviceUserTags" request And request contains "device_id" parameter with value "unknown_device_id" When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/network-device-monitoring + @replay-only @team:DataDog/network-device-monitoring @team:DataDog/web-frameworks-approvers Scenario: Get the list of tags for a device returns "OK" response Given new "ListDeviceUserTags" request And request contains "device_id" parameter with value "default_device" @@ -116,7 +116,7 @@ Feature: Network Device Monitoring And the response "data.attributes.tags[0]" is equal to "tag:test" And the response "data.attributes.tags[1]" is equal to "tag:testbis" - @replay-only @team:DataDog/network-device-monitoring + @replay-only @team:DataDog/network-device-monitoring @team:DataDog/web-frameworks-approvers Scenario: Update the tags for a device returns "Not Found" response Given new "UpdateDeviceUserTags" request And request contains "device_id" parameter with value "unknown_device_id" @@ -124,7 +124,7 @@ Feature: Network Device Monitoring When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/network-device-monitoring + @replay-only @team:DataDog/network-device-monitoring @team:DataDog/web-frameworks-approvers Scenario: Update the tags for a device returns "OK" response Given new "UpdateDeviceUserTags" request And request contains "device_id" parameter with value "default_device" diff --git a/features/v2/okta_integration.feature b/features/v2/okta_integration.feature index 006e8fe20b67..aafdc8295788 100644 --- a/features/v2/okta_integration.feature +++ b/features/v2/okta_integration.feature @@ -9,63 +9,63 @@ Feature: Okta Integration And a valid "appKeyAuth" key in the system And an instance of "OktaIntegration" API - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Okta account returns "Bad Request" response Given new "CreateOktaAccount" request And body with value {"data": {"attributes": {"auth_method": "oauth", "domain": "https://example.okta.com/", "name": "Okta-Prod"}, "id": "f749daaf-682e-4208-a38d-c9b43162c609", "type": "okta-accounts"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Okta account returns "Not Found" response Given new "CreateOktaAccount" request And body with value {"data": {"attributes": {"auth_method": "oauth", "domain": "https://example.okta.com/", "name": "Okta-Prod"}, "id": "f749daaf-682e-4208-a38d-c9b43162c609", "type": "okta-accounts"}} When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Add Okta account returns "OK" response Given new "CreateOktaAccount" request And body with value {"data": {"attributes": {"auth_method": "oauth", "domain": "https://example.okta.com/", "name": "{{ unique_lower_alnum }}", "client_id": "client_id", "client_secret":"client_secret"},"id": "f749daaf-682e-4208-a38d-c9b43162c609", "type": "okta-accounts"}} When the request is sent Then the response status is 201 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Okta account returns "Bad Request" response Given new "DeleteOktaAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Okta account returns "Not Found" response Given new "DeleteOktaAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Delete Okta account returns "OK" response Given new "DeleteOktaAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Okta account returns "Bad Request" response Given new "GetOktaAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Okta account returns "Not Found" response Given new "GetOktaAccount" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Get Okta account returns "OK" response Given there is a valid "okta_account" in the system And new "GetOktaAccount" request @@ -74,26 +74,26 @@ Feature: Okta Integration Then the response status is 200 OK And the response "data.type" is equal to "okta-accounts" - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Okta accounts returns "Bad Request" response Given new "ListOktaAccounts" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Okta accounts returns "Not Found" response Given new "ListOktaAccounts" request When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: List Okta accounts returns "OK" response Given there is a valid "okta_account" in the system And new "ListOktaAccounts" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Okta account returns "Bad Request" response Given new "UpdateOktaAccount" request And request contains "account_id" parameter from "REPLACE.ME" @@ -101,7 +101,7 @@ Feature: Okta Integration When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/saas-integrations + @generated @skip @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Okta account returns "Not Found" response Given new "UpdateOktaAccount" request And request contains "account_id" parameter from "REPLACE.ME" @@ -109,7 +109,7 @@ Feature: Okta Integration When the request is sent Then the response status is 404 Not Found - @team:DataDog/saas-integrations + @team:DataDog/saas-integrations @team:DataDog/web-frameworks-approvers Scenario: Update Okta account returns "OK" response Given there is a valid "okta_account" in the system And new "UpdateOktaAccount" request diff --git a/features/v2/opsgenie_integration.feature b/features/v2/opsgenie_integration.feature index 5df3907ac035..3527901e0310 100644 --- a/features/v2/opsgenie_integration.feature +++ b/features/v2/opsgenie_integration.feature @@ -9,14 +9,14 @@ Feature: Opsgenie Integration And a valid "appKeyAuth" key in the system And an instance of "OpsgenieIntegration" API - @skip @team:Datadog/collaboration-integrations + @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Create a new service object returns "Bad Request" response Given new "CreateOpsgenieService" request And body with value {"data": {"attributes": {"name": "fake-opsgenie-service-name", "opsgenie_api_key": "00000000-0000-0000-0000-000000000000", "region": "us"}, "type": "opsgenie-service"}} When the request is sent Then the response status is 400 Bad Request - @team:Datadog/collaboration-integrations + @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Create a new service object returns "CREATED" response Given new "CreateOpsgenieService" request And body with value {"data": {"attributes": {"name": "{{unique}}", "opsgenie_api_key": "00000000-0000-0000-0000-000000000000", "region": "us"}, "type": "opsgenie-service" }} @@ -25,28 +25,28 @@ Feature: Opsgenie Integration And the response "data.attributes.name" is equal to "{{unique}}" And the response "data.attributes.region" is equal to "us" - @skip @team:Datadog/collaboration-integrations + @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Create a new service object returns "Conflict" response Given new "CreateOpsgenieService" request And body with value {"data": {"attributes": {"name": "fake-opsgenie-service-name", "opsgenie_api_key": "00000000-0000-0000-0000-000000000000", "region": "us"}, "type": "opsgenie-service"}} When the request is sent Then the response status is 409 Conflict - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Delete a single service object returns "Bad Request" response Given new "DeleteOpsgenieService" request And request contains "integration_service_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Delete a single service object returns "Not Found" response Given new "DeleteOpsgenieService" request And request contains "integration_service_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:Datadog/collaboration-integrations + @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Delete a single service object returns "OK" response Given there is a valid "opsgenie_service" in the system And new "DeleteOpsgenieService" request @@ -54,28 +54,28 @@ Feature: Opsgenie Integration When the request is sent Then the response status is 204 OK - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get a single service object returns "Bad Request" response Given new "GetOpsgenieService" request And request contains "integration_service_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get a single service object returns "Conflict" response Given new "GetOpsgenieService" request And request contains "integration_service_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 409 Conflict - @generated @skip @team:Datadog/collaboration-integrations + @generated @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get a single service object returns "Not Found" response Given new "GetOpsgenieService" request And request contains "integration_service_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:Datadog/collaboration-integrations + @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get a single service object returns "OK" response Given there is a valid "opsgenie_service" in the system And new "GetOpsgenieService" request @@ -85,7 +85,7 @@ Feature: Opsgenie Integration And the response "data.attributes.name" has the same value as "opsgenie_service.data.attributes.name" And the response "data.attributes.region" is equal to "us" - @team:Datadog/collaboration-integrations + @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Get all service objects returns "OK" response Given there is a valid "opsgenie_service" in the system And new "ListOpsgenieServices" request @@ -93,7 +93,7 @@ Feature: Opsgenie Integration Then the response status is 200 OK And the response "data[0].type" is equal to "opsgenie-service" - @skip @team:Datadog/collaboration-integrations + @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Update a single service object returns "Bad Request" response Given new "UpdateOpsgenieService" request And request contains "integration_service_id" parameter from "REPLACE.ME" @@ -101,7 +101,7 @@ Feature: Opsgenie Integration When the request is sent Then the response status is 400 Bad Request - @skip @team:Datadog/collaboration-integrations + @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Update a single service object returns "Conflict" response Given new "UpdateOpsgenieService" request And request contains "integration_service_id" parameter from "REPLACE.ME" @@ -109,7 +109,7 @@ Feature: Opsgenie Integration When the request is sent Then the response status is 409 Conflict - @skip @team:Datadog/collaboration-integrations + @skip @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Update a single service object returns "Not Found" response Given new "UpdateOpsgenieService" request And request contains "integration_service_id" parameter from "REPLACE.ME" @@ -117,7 +117,7 @@ Feature: Opsgenie Integration When the request is sent Then the response status is 404 Not Found - @team:Datadog/collaboration-integrations + @team:DataDog/web-frameworks-approvers @team:Datadog/collaboration-integrations Scenario: Update a single service object returns "OK" response Given there is a valid "opsgenie_service" in the system And new "UpdateOpsgenieService" request diff --git a/features/v2/organizations.feature b/features/v2/organizations.feature index ddec7484e764..6fdca43ae1dc 100644 --- a/features/v2/organizations.feature +++ b/features/v2/organizations.feature @@ -8,40 +8,40 @@ Feature: Organizations And a valid "appKeyAuth" key in the system And an instance of "Organizations" API - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get a specific Org Config value returns "Bad Request" response Given new "GetOrgConfig" request And request contains "org_config_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get a specific Org Config value returns "Not Found" response Given new "GetOrgConfig" request And request contains "org_config_name" parameter with value "i_dont_exist" When the request is sent Then the response status is 404 Not Found - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get a specific Org Config value returns "OK" response Given new "GetOrgConfig" request And request contains "org_config_name" parameter with value "custom_roles" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: List Org Configs returns "Bad Request" response Given new "ListOrgConfigs" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: List Org Configs returns "OK" response Given new "ListOrgConfigs" request When the request is sent Then the response status is 200 OK - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a specific Org Config returns "Bad Request" response Given new "UpdateOrgConfig" request And request contains "org_config_name" parameter with value "custom_roles" @@ -49,7 +49,7 @@ Feature: Organizations When the request is sent Then the response status is 400 Bad Request - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a specific Org Config returns "Not Found" response Given new "UpdateOrgConfig" request And request contains "org_config_name" parameter with value "i_dont_exist" @@ -57,7 +57,7 @@ Feature: Organizations When the request is sent Then the response status is 404 Not Found - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a specific Org Config returns "OK" response Given new "UpdateOrgConfig" request And request contains "org_config_name" parameter with value "monitor_timezone" @@ -65,20 +65,20 @@ Feature: Organizations When the request is sent Then the response status is 200 OK - @skip-go @skip-java @skip-python @skip-ruby @skip-rust @skip-terraform-config @skip-typescript @skip-validation @team:DataDog/team-aaa-identity + @skip-go @skip-java @skip-python @skip-ruby @skip-rust @skip-terraform-config @skip-typescript @skip-validation @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Upload IdP metadata returns "Bad Request - caused by either malformed XML or invalid SAML IdP metadata" response Given new "UploadIdPMetadata" request And request contains "idp_file" parameter with value "fixtures/organizations/saml_configurations/invalid_idp_metadata.xml" When the request is sent Then the response status is 400 Bad Request - caused by either malformed XML or invalid SAML IdP metadata - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Upload IdP metadata returns "Bad Request" response Given new "UploadIdPMetadata" request When the request is sent Then the response status is 400 Bad Request - @integration-only @skip-terraform-config @skip-validation @team:DataDog/team-aaa-identity + @integration-only @skip-terraform-config @skip-validation @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Upload IdP metadata returns "OK" response Given new "UploadIdPMetadata" request And request contains "idp_file" parameter with value "fixtures/organizations/saml_configurations/valid_idp_metadata.xml" diff --git a/features/v2/powerpack.feature b/features/v2/powerpack.feature index 31daf5b5f8cb..dde88046d372 100644 --- a/features/v2/powerpack.feature +++ b/features/v2/powerpack.feature @@ -13,14 +13,14 @@ Feature: Powerpack And a valid "appKeyAuth" key in the system And an instance of "Powerpack" API - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new powerpack returns "Bad Request" response Given new "CreatePowerpack" request And body with value {"data": {"attributes": {"description": "Powerpack for ABC", "group_widget": {"definition": {"type": "group1", "layout_type": "ordered", "widgets": []}}, "name": "Sample Powerpack", "tags": ["tag:foo1"], "template_variables": [{"defaults": ["*"], "name": "test"}]}, "type": "powerpack"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new powerpack returns "OK" response Given new "CreatePowerpack" request And body from file "powerpack_payload.json" @@ -41,7 +41,7 @@ Feature: Powerpack And the response "data.attributes.group_widget.definition.title" is equal to "Sample Powerpack" And the response "data.attributes.group_widget.definition.widgets[0].definition.type" is equal to "note" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a powerpack returns "OK" response Given there is a valid "powerpack" in the system And new "DeletePowerpack" request @@ -49,14 +49,14 @@ Feature: Powerpack When the request is sent Then the response status is 204 OK - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a powerpack returns "Powerpack Not Found" response Given new "DeletePowerpack" request And request contains "powerpack_id" parameter with value "made-up-id" When the request is sent Then the response status is 404 Powerpack Not Found - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get a Powerpack returns "OK" response Given there is a valid "powerpack" in the system And new "GetPowerpack" request @@ -80,14 +80,14 @@ Feature: Powerpack And the response "data.attributes.group_widget.definition.widgets[0].definition.type" is equal to "note" And the response "data.attributes.group_widget.definition.widgets[0].definition.content" is equal to "test" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get a Powerpack returns "Powerpack Not Found." response Given new "GetPowerpack" request And request contains "powerpack_id" parameter with value "made-up-id" When the request is sent Then the response status is 404 Powerpack Not Found. - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Get all powerpacks returns "OK" response Given there is a valid "powerpack" in the system And new "ListPowerpacks" request @@ -111,7 +111,7 @@ Feature: Powerpack And the response "data" has item with field "attributes.group_widget.definition.widgets[0].definition.type" with value "note" And the response "data" has item with field "attributes.group_widget.definition.widgets[0].definition.content" with value "test" - @replay-only @skip-validation @team:DataDog/dashboards-backend @with-pagination + @replay-only @skip-validation @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all powerpacks returns "OK" response with pagination Given new "ListPowerpacks" request And request contains "page[limit]" parameter with value 2 @@ -119,7 +119,7 @@ Feature: Powerpack Then the response status is 200 OK And the response has 3 items - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a powerpack returns "Bad Request" response Given there is a valid "powerpack" in the system And new "UpdatePowerpack" request @@ -128,7 +128,7 @@ Feature: Powerpack When the request is sent Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a powerpack returns "OK" response Given there is a valid "powerpack" in the system And new "UpdatePowerpack" request @@ -153,7 +153,7 @@ Feature: Powerpack And the response "data.attributes.group_widget.definition.widgets[0].definition.type" is equal to "note" And the response "data.attributes.group_widget.definition.widgets[0].definition.content" is equal to "test" - @team:DataDog/dashboards-backend + @team:DataDog/dashboards-backend @team:DataDog/web-frameworks-approvers Scenario: Update a powerpack returns "Powerpack Not Found" response Given new "UpdatePowerpack" request And request contains "powerpack_id" parameter with value "made-up-id" diff --git a/features/v2/processes.feature b/features/v2/processes.feature index 7399829f2b46..e89101348657 100644 --- a/features/v2/processes.feature +++ b/features/v2/processes.feature @@ -11,12 +11,12 @@ Feature: Processes And an instance of "Processes" API And new "ListProcesses" request - @generated @skip @team:DataDog/container-experiences + @generated @skip @team:DataDog/container-experiences @team:DataDog/web-frameworks-approvers Scenario: Get all processes returns "Bad Request" response When the request is sent Then the response status is 400 Bad Request - @team:DataDog/container-experiences + @team:DataDog/container-experiences @team:DataDog/web-frameworks-approvers Scenario: Get all processes returns "OK" response Given request contains "search" parameter with value "process-agent" And request contains "tags" parameter with value "testing:true" @@ -24,7 +24,7 @@ Feature: Processes When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/container-experiences @with-pagination + @replay-only @skip-validation @team:DataDog/container-experiences @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all processes returns "OK" response with pagination Given request contains "page[limit]" parameter with value 2 When the request with pagination is sent diff --git a/features/v2/restriction_policies.feature b/features/v2/restriction_policies.feature index 6f5bb72d84f0..fed0ccfb2bbd 100644 --- a/features/v2/restriction_policies.feature +++ b/features/v2/restriction_policies.feature @@ -10,28 +10,28 @@ Feature: Restriction Policies And a valid "appKeyAuth" key in the system And an instance of "RestrictionPolicies" API - @team:DataDog/aaa-granular-access + @team:DataDog/aaa-granular-access @team:DataDog/web-frameworks-approvers Scenario: Delete a restriction policy returns "Bad Request" response Given new "DeleteRestrictionPolicy" request And request contains "resource_id" parameter with value "malformed" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aaa-granular-access + @team:DataDog/aaa-granular-access @team:DataDog/web-frameworks-approvers Scenario: Delete a restriction policy returns "No Content" response Given new "DeleteRestrictionPolicy" request And request contains "resource_id" parameter with value "dashboard:test-delete" When the request is sent Then the response status is 204 No Content - @team:DataDog/aaa-granular-access + @team:DataDog/aaa-granular-access @team:DataDog/web-frameworks-approvers Scenario: Get a restriction policy returns "Bad Request" response Given new "GetRestrictionPolicy" request And request contains "resource_id" parameter with value "malformed" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aaa-granular-access + @team:DataDog/aaa-granular-access @team:DataDog/web-frameworks-approvers Scenario: Get a restriction policy returns "OK" response Given new "GetRestrictionPolicy" request And request contains "resource_id" parameter with value "dashboard:test-get" @@ -41,7 +41,7 @@ Feature: Restriction Policies And the response "data.id" is equal to "dashboard:test-get" And the response "data.attributes.bindings" has length 0 - @team:DataDog/aaa-granular-access + @team:DataDog/aaa-granular-access @team:DataDog/web-frameworks-approvers Scenario: Update a restriction policy returns "Bad Request" response Given there is a valid "role" in the system And there is a valid "user" in the system @@ -52,7 +52,7 @@ Feature: Restriction Policies When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aaa-granular-access + @team:DataDog/aaa-granular-access @team:DataDog/web-frameworks-approvers Scenario: Update a restriction policy returns "OK" response Given there is a valid "role" in the system And there is a valid "user" in the system diff --git a/features/v2/roles.feature b/features/v2/roles.feature index bc82e0b07eca..1ca7fcb1e581 100644 --- a/features/v2/roles.feature +++ b/features/v2/roles.feature @@ -13,7 +13,7 @@ Feature: Roles And a valid "appKeyAuth" key in the system And an instance of "Roles" API - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Add a user to a role returns "Bad Request" response Given new "AddUserToRole" request And request contains "role_id" parameter from "REPLACE.ME" @@ -21,7 +21,7 @@ Feature: Roles When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Add a user to a role returns "Not found" response Given new "AddUserToRole" request And request contains "role_id" parameter from "REPLACE.ME" @@ -29,7 +29,7 @@ Feature: Roles When the request is sent Then the response status is 404 Not found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Add a user to a role returns "OK" response Given there is a valid "role" in the system And there is a valid "user" in the system @@ -42,7 +42,7 @@ Feature: Roles And the response "data[0].type" is equal to "{{ user.data.type }}" And the response "data[0].relationships.roles.data" has item with field "id" with value "{{ role.data.id }}" - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Create a new role by cloning an existing role returns "Bad Request" response Given there is a valid "role" in the system And new "CloneRole" request @@ -51,7 +51,7 @@ Feature: Roles When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Create a new role by cloning an existing role returns "Conflict" response Given there is a valid "role" in the system And new "CloneRole" request @@ -60,7 +60,7 @@ Feature: Roles When the request is sent Then the response status is 409 Conflict - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Create a new role by cloning an existing role returns "Not found" response Given new "CloneRole" request And request contains "role_id" parameter from "REPLACE.ME" @@ -68,7 +68,7 @@ Feature: Roles When the request is sent Then the response status is 404 Not found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Create a new role by cloning an existing role returns "OK" response Given there is a valid "role" in the system And new "CloneRole" request @@ -78,21 +78,21 @@ Feature: Roles Then the response status is 200 OK And the response "data.attributes.name" is equal to "{{ unique }} clone" - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Create role returns "Bad Request" response Given new "CreateRole" request And body with value {"data": {"attributes": {"name": "developers"}, "relationships": {"permissions": {"data": [{"type": "permissions"}]}}, "type": "roles"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Create role returns "OK" response Given new "CreateRole" request And body with value {"data": {"attributes": {"name": "developers"}, "relationships": {"permissions": {"data": [{"type": "permissions"}]}}, "type": "roles"}} When the request is sent Then the response status is 200 OK - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Create role with a permission returns "OK" response Given new "CreateRole" request And there is a valid "permission" in the system @@ -103,14 +103,14 @@ Feature: Roles And the response "data.type" is equal to "roles" And the response "data.relationships.permissions.data" has item with field "id" with value "{{ permission.id }}" - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Delete role returns "Not found" response Given new "DeleteRole" request And request contains "role_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Delete role returns "OK" response Given there is a valid "role" in the system And new "DeleteRole" request @@ -118,14 +118,14 @@ Feature: Roles When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Get a role returns "Not found" response Given new "GetRole" request And request contains "role_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Get a role returns "OK" response Given there is a valid "role" in the system And new "GetRole" request @@ -135,14 +135,14 @@ Feature: Roles And the response "data.attributes.name" has the same value as "role.data.attributes.name" And the response "data.id" has the same value as "role.data.id" - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Get all users of a role returns "Not found" response Given new "ListRoleUsers" request And request contains "role_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Get all users of a role returns "OK" response Given there is a valid "role" in the system And there is a valid "user" in the system @@ -154,7 +154,7 @@ Feature: Roles And the response "meta.page.total_count" is equal to 1 And the response "data" has item with field "id" with value "{{ user.data.id }}" - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Grant permission to a role returns "Bad Request" response Given new "AddPermissionToRole" request And request contains "role_id" parameter from "REPLACE.ME" @@ -162,7 +162,7 @@ Feature: Roles When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Grant permission to a role returns "Not found" response Given new "AddPermissionToRole" request And request contains "role_id" parameter from "REPLACE.ME" @@ -170,7 +170,7 @@ Feature: Roles When the request is sent Then the response status is 404 Not found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Grant permission to a role returns "OK" response Given there is a valid "role" in the system And there is a valid "permission" in the system @@ -182,14 +182,14 @@ Feature: Roles And the response "data[0].type" is equal to "{{ permission.type }}" And the response "data" has item with field "id" with value "{{ permission.id }}" - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: List permissions for a role returns "Not found" response Given new "ListRolePermissions" request And request contains "role_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: List permissions for a role returns "OK" response Given there is a valid "role" in the system And there is a valid "permission" in the system @@ -201,13 +201,13 @@ Feature: Roles And the response "data[0].type" is equal to "{{ permission.type }}" And the response "data" has item with field "id" with value "{{ permission.id }}" - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: List permissions returns "Bad Request" response Given new "ListPermissions" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: List permissions returns "OK" response Given new "ListPermissions" request When the request is sent @@ -216,7 +216,7 @@ Feature: Roles And the response "data" has item with field "attributes.restricted" with value false And the response "data" has item with field "attributes.name" with value "admin" - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: List roles returns "OK" response Given there is a valid "role" in the system And new "ListRoles" request @@ -227,7 +227,7 @@ Feature: Roles And the response "data[0].id" has the same value as "role.data.id" And the response "data[0].attributes.name" has the same value as "role.data.attributes.name" - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Remove a user from a role returns "Bad Request" response Given new "RemoveUserFromRole" request And request contains "role_id" parameter from "REPLACE.ME" @@ -235,7 +235,7 @@ Feature: Roles When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Remove a user from a role returns "Not found" response Given new "RemoveUserFromRole" request And request contains "role_id" parameter from "REPLACE.ME" @@ -243,7 +243,7 @@ Feature: Roles When the request is sent Then the response status is 404 Not found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Remove a user from a role returns "OK" response Given there is a valid "role" in the system And there is a valid "user" in the system @@ -254,7 +254,7 @@ Feature: Roles When the request is sent Then the response status is 200 OK - @skip-validation @team:DataDog/aaa-core-access + @skip-validation @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Revoke permission returns "Bad Request" response Given there is a valid "role" in the system And new "RemovePermissionFromRole" request @@ -263,7 +263,7 @@ Feature: Roles When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Revoke permission returns "Not found" response Given there is a valid "permission" in the system And new "RemovePermissionFromRole" request @@ -272,7 +272,7 @@ Feature: Roles When the request is sent Then the response status is 404 Not found - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Revoke permission returns "OK" response Given there is a valid "role" in the system And there is a valid "permission" in the system @@ -284,7 +284,7 @@ Feature: Roles Then the response status is 200 OK And the response "data[0].type" is equal to "permissions" - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Update a role returns "Bad Request" response Given there is a valid "role" in the system And there is a valid "permission" in the system @@ -294,7 +294,7 @@ Feature: Roles When the request is sent Then the response status is 400 Bad Request - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Update a role returns "Bad Role ID" response Given there is a valid "role" in the system And there is a valid "permission" in the system @@ -304,7 +304,7 @@ Feature: Roles When the request is sent Then the response status is 422 Bad Role ID in Request - @team:DataDog/aaa-core-access + @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Update a role returns "Not found" response Given there is a valid "permission" in the system And new "UpdateRole" request @@ -313,7 +313,7 @@ Feature: Roles When the request is sent Then the response status is 404 Not found - @skip @team:DataDog/aaa-core-access + @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Update a role returns "OK" response Given there is a valid "role" in the system And there is a valid "permission" in the system @@ -324,7 +324,7 @@ Feature: Roles Then the response status is 200 OK And the response "data.attributes.name" is equal to "{{ role.data.attributes.name }}-updated" - @generated @skip @team:DataDog/aaa-core-access + @generated @skip @team:DataDog/aaa-core-access @team:DataDog/web-frameworks-approvers Scenario: Update a role returns "Unprocessable Entity" response Given new "UpdateRole" request And request contains "role_id" parameter from "REPLACE.ME" diff --git a/features/v2/rum.feature b/features/v2/rum.feature index f86e1ee618f2..b6f6c969ced9 100644 --- a/features/v2/rum.feature +++ b/features/v2/rum.feature @@ -10,14 +10,14 @@ Feature: RUM And a valid "appKeyAuth" key in the system And an instance of "RUM" API - @generated @skip @team:DataDog/rum-backend + @generated @skip @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Aggregate RUM events returns "Bad Request" response Given new "AggregateRUMEvents" request And body with value {"compute": [{"aggregation": "pc90", "interval": "5m", "metric": "@duration", "type": "total"}], "filter": {"from": "now-15m", "query": "@type:session AND @session.type:user", "to": "now"}, "group_by": [{"facet": "@view.time_spent", "histogram": {"interval": 10, "max": 100, "min": 50}, "limit": 10, "sort": {"aggregation": "count", "order": "asc"}, "total": false}], "options": {"timezone": "GMT"}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Aggregate RUM events returns "OK" response Given new "AggregateRUMEvents" request And body with value {"compute": [{"aggregation": "pc90", "metric": "@view.time_spent", "type": "total"}], "filter": {"from": "now-15m", "query": "@type:view AND @session.type:user", "to": "now"}, "group_by": [{"facet": "@view.time_spent", "limit": 10, "total": false}], "options": {"timezone": "GMT"}, "page": { "limit": 25}} @@ -26,14 +26,14 @@ Feature: RUM And the response "meta.status" is equal to "done" And the response "data.buckets" has length 0 - @skip @team:DataDog/rum-backend + @skip @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new RUM application returns "Bad Request" response Given new "CreateRUMApplication" request And body with value {"data": {"attributes": {"name": "wrong_rum_application", "type": "wrong_android"}, "type": "wrong_rum_application_type"}} When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:DataDog/rum-backend + @skip-validation @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Create a new RUM application returns "OK" response Given new "CreateRUMApplication" request And body with value {"data": {"attributes": {"name": "test-rum-{{ unique_hash }}", "type": "ios"}, "type": "rum_application_create"}} @@ -43,7 +43,7 @@ Feature: RUM And the response "data.attributes.type" is equal to "ios" And the response "data.attributes.name" is equal to "test-rum-{{ unique_hash }}" - @skip-validation @team:DataDog/rum-backend + @skip-validation @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a RUM application returns "No Content" response Given there is a valid "rum_application" in the system And new "DeleteRUMApplication" request @@ -51,21 +51,21 @@ Feature: RUM When the request is sent Then the response status is 204 No Content - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a RUM application returns "Not Found" response Given new "DeleteRUMApplication" request And request contains "id" parameter with value "abcde-12345" When the request is sent Then the response status is 404 Not Found - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Get a RUM application returns "Not Found" response Given new "GetRUMApplication" request And request contains "id" parameter with value "abcd1234-0000-0000-abcd-1234abcd5678" When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/rum-backend + @skip-validation @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Get a RUM application returns "OK" response Given there is a valid "rum_application" in the system And new "GetRUMApplication" request @@ -76,19 +76,19 @@ Feature: RUM And the response "data.attributes.type" is equal to "ios" And the response "data.attributes.name" is equal to "test-rum-{{ unique_hash }}" - @generated @skip @team:DataDog/rum-backend + @generated @skip @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Get a list of RUM events returns "Bad Request" response Given new "ListRUMEvents" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Get a list of RUM events returns "OK" response Given new "ListRUMEvents" request When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/rum-backend @with-pagination + @replay-only @skip-validation @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get a list of RUM events returns "OK" response with pagination Given new "ListRUMEvents" request And request contains "page[limit]" parameter with value 2 @@ -96,13 +96,13 @@ Feature: RUM Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/rum-backend + @generated @skip @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: List all the RUM applications returns "Not Found" response Given new "GetRUMApplications" request When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/rum-backend + @skip-validation @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: List all the RUM applications returns "OK" response Given there is a valid "rum_application" in the system And new "GetRUMApplications" request @@ -110,21 +110,21 @@ Feature: RUM Then the response status is 200 OK And the response "data" has item with field "attributes.application_id" with value "{{ rum_application.data.id }}" - @generated @skip @team:DataDog/rum-backend + @generated @skip @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Search RUM events returns "Bad Request" response Given new "SearchRUMEvents" request And body with value {"filter": {"from": "now-15m", "query": "@type:session AND @session.type:user", "to": "now"}, "options": {"timezone": "GMT"}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "timestamp"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Search RUM events returns "OK" response Given new "SearchRUMEvents" request And body with value {"filter": {"from": "now-15m", "query": "@type:session AND @session.type:user", "to": "now"}, "options": {"time_offset": 0, "timezone": "GMT"}, "page": {"limit": 25}, "sort": "timestamp"} When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/rum-backend @with-pagination + @replay-only @skip-validation @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Search RUM events returns "OK" response with pagination Given new "SearchRUMEvents" request And body with value {"filter": {"from": "now-15m", "query": "@type:session AND @session.type:user", "to": "now"}, "options": {"time_offset": 0, "timezone": "GMT"}, "page": {"limit": 2}, "sort": "timestamp"} @@ -132,7 +132,7 @@ Feature: RUM Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/rum-backend + @generated @skip @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Update a RUM application returns "Bad Request" response Given new "UpdateRUMApplication" request And request contains "id" parameter from "REPLACE.ME" @@ -140,7 +140,7 @@ Feature: RUM When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/rum-backend + @generated @skip @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Update a RUM application returns "Not Found" response Given new "UpdateRUMApplication" request And request contains "id" parameter from "REPLACE.ME" @@ -148,7 +148,7 @@ Feature: RUM When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/rum-backend + @skip-validation @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Update a RUM application returns "OK" response Given there is a valid "rum_application" in the system And new "UpdateRUMApplication" request @@ -161,7 +161,7 @@ Feature: RUM And the response "data.attributes.type" is equal to "browser" And the response "data.attributes.name" is equal to "updated_name_for_my_existing_rum_application" - @skip-validation @team:DataDog/rum-backend + @skip-validation @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Update a RUM application returns "Unprocessable Entity." response Given there is a valid "rum_application" in the system And new "UpdateRUMApplication" request diff --git a/features/v2/rum_metrics.feature b/features/v2/rum_metrics.feature index cf13d41e9515..a48546a5aa2b 100644 --- a/features/v2/rum_metrics.feature +++ b/features/v2/rum_metrics.feature @@ -9,14 +9,14 @@ Feature: Rum Metrics And a valid "appKeyAuth" key in the system And an instance of "RumMetrics" API - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Create a rum-based metric returns "Bad Request" response Given new "CreateRumMetric" request And body with value {"data": {"id": "rum.actions.invalid", "type": "rum_metrics", "attributes": {"event_type": "action", "compute": {"aggregation_type": "count"}, "uniqueness":{"when": "match"}}}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Create a rum-based metric returns "Conflict" response Given there is a valid "rum_metric" in the system And new "CreateRumMetric" request @@ -24,7 +24,7 @@ Feature: Rum Metrics When the request is sent Then the response status is 409 Conflict - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Create a rum-based metric returns "Created" response Given new "CreateRumMetric" request And body with value {"data": {"attributes": {"compute": {"aggregation_type": "distribution", "include_percentiles": true, "path": "@duration"}, "event_type": "session", "filter": {"query": "@service:web-ui"}, "group_by": [{"path": "@browser.name", "tag_name": "browser_name"}], "uniqueness": {"when": "match"}}, "id": "rum.sessions.webui.count", "type": "rum_metrics"}} @@ -41,7 +41,7 @@ Feature: Rum Metrics And the response "data.attributes.group_by[0].tag_name" is equal to "browser_name" And the response "data.attributes.uniqueness.when" is equal to "match" - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a rum-based metric returns "No Content" response Given there is a valid "rum_metric" in the system And new "DeleteRumMetric" request @@ -49,21 +49,21 @@ Feature: Rum Metrics When the request is sent Then the response status is 204 No Content - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Delete a rum-based metric returns "Not Found" response Given new "DeleteRumMetric" request And request contains "metric_id" parameter with value "{{ unique }}" When the request is sent Then the response status is 404 Not Found - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Get a rum-based metric returns "Not Found" response Given new "GetRumMetric" request And request contains "metric_id" parameter with value "{{ unique }}" When the request is sent Then the response status is 404 Not Found - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Get a rum-based metric returns "OK" response Given there is a valid "rum_metric" in the system And new "GetRumMetric" request @@ -81,13 +81,13 @@ Feature: Rum Metrics And the response "data.attributes.group_by[0].tag_name" has the same value as "rum_metric.data.attributes.group_by[0].tag_name" And the response "data.attributes.uniqueness.when" has the same value as "rum_metric.data.attributes.uniqueness.when" - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Get all rum-based metrics returns "OK" response Given new "ListRumMetrics" request When the request is sent Then the response status is 200 OK - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Update a rum-based metric returns "Bad Request" response Given there is a valid "rum_metric" in the system And new "UpdateRumMetric" request @@ -96,7 +96,7 @@ Feature: Rum Metrics When the request is sent Then the response status is 400 Bad Request - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Update a rum-based metric returns "Conflict" response Given there is a valid "rum_metric" in the system And new "UpdateRumMetric" request @@ -105,7 +105,7 @@ Feature: Rum Metrics When the request is sent Then the response status is 409 Conflict - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Update a rum-based metric returns "Not Found" response Given there is a valid "rum_metric" in the system And new "UpdateRumMetric" request @@ -114,7 +114,7 @@ Feature: Rum Metrics When the request is sent Then the response status is 404 Not Found - @team:DataDog/rum-backend + @team:DataDog/rum-backend @team:DataDog/web-frameworks-approvers Scenario: Update a rum-based metric returns "OK" response Given there is a valid "rum_metric" in the system And new "UpdateRumMetric" request diff --git a/features/v2/security_monitoring.feature b/features/v2/security_monitoring.feature index d7e7f9af72a0..6492bcf7ff09 100644 --- a/features/v2/security_monitoring.feature +++ b/features/v2/security_monitoring.feature @@ -9,7 +9,7 @@ Feature: Security Monitoring And a valid "appKeyAuth" key in the system And an instance of "SecurityMonitoring" API - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Cancel a historical job returns "Bad Request" response Given operation "CancelHistoricalJob" enabled And new "CancelHistoricalJob" request @@ -17,7 +17,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Cancel a historical job returns "Conflict" response Given operation "CancelHistoricalJob" enabled And new "CancelHistoricalJob" request @@ -25,7 +25,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 409 Conflict - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Cancel a historical job returns "Not Found" response Given operation "CancelHistoricalJob" enabled And new "CancelHistoricalJob" request @@ -33,7 +33,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Cancel a historical job returns "OK" response Given operation "CancelHistoricalJob" enabled And operation "RunHistoricalJob" enabled @@ -43,7 +43,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Change the related incidents of a security signal returns "Bad Request" response Given new "EditSecurityMonitoringSignalIncidents" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -51,7 +51,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Change the related incidents of a security signal returns "Not Found" response Given new "EditSecurityMonitoringSignalIncidents" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -59,7 +59,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/k9-cloud-security-platform + @replay-only @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Change the related incidents of a security signal returns "OK" response Given new "EditSecurityMonitoringSignalIncidents" request And request contains "signal_id" parameter with value "AQAAAYG1bl5K4HuUewAAAABBWUcxYmw1S0FBQmt2RmhRN0V4ZUVnQUE" @@ -67,7 +67,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Change the triage state of a security signal returns "Bad Request" response Given new "EditSecurityMonitoringSignalState" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -75,7 +75,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Change the triage state of a security signal returns "Not Found" response Given new "EditSecurityMonitoringSignalState" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -83,7 +83,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/k9-cloud-security-platform + @replay-only @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Change the triage state of a security signal returns "OK" response Given new "EditSecurityMonitoringSignalState" request And request contains "signal_id" parameter with value "AQAAAYG1bl5K4HuUewAAAABBWUcxYmw1S0FBQmt2RmhRN0V4ZUVnQUE" @@ -91,7 +91,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Convert a job result to a signal returns "Bad Request" response Given operation "ConvertJobResultToSignal" enabled And new "ConvertJobResultToSignal" request @@ -99,7 +99,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Convert a job result to a signal returns "Not Found" response Given operation "ConvertJobResultToSignal" enabled And new "ConvertJobResultToSignal" request @@ -107,7 +107,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Convert a job result to a signal returns "OK" response Given operation "ConvertJobResultToSignal" enabled And new "ConvertJobResultToSignal" request @@ -115,21 +115,21 @@ Feature: Security Monitoring When the request is sent Then the response status is 204 OK - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Convert a rule from JSON to Terraform returns "Bad Request" response Given new "ConvertSecurityMonitoringRuleFromJSONToTerraform" request And body with value {"name":"{{ unique }}", "queries":[{"query":"@test:true","aggregation":"count","groupByFields":[],"distinctFields":[],"metric":""}],"filters":[],"cases":[{"name":"","status":"info","condition":"a > 0","notifications":[]}],"options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"message":"Test rule","tags":[],"isEnabled":true, "type":"log_detection"} When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Convert a rule from JSON to Terraform returns "Not Found" response Given new "ConvertSecurityMonitoringRuleFromJSONToTerraform" request And body with value {"name":"{{ unique }}", "queries":[{"query":"@test:true","aggregation":"count","groupByFields":[],"distinctFields":[],"metric":""}],"filters":[],"cases":[{"name":"","status":"info","condition":"a > 0","notifications":[]}],"options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"message":"Test rule","tags":[],"isEnabled":true, "type":"log_detection"} When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Convert a rule from JSON to Terraform returns "OK" response Given new "ConvertSecurityMonitoringRuleFromJSONToTerraform" request And body with value {"name":"{{ unique }}", "queries":[{"query":"@test:true","aggregation":"count","groupByFields":[],"distinctFields":[],"metric":""}],"filters":[],"cases":[{"name":"","status":"info","condition":"a > 0","notifications":[]}],"options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"message":"Test rule","tags":[],"isEnabled":true, "type":"log_detection"} @@ -137,21 +137,21 @@ Feature: Security Monitoring Then the response status is 200 OK And the response "terraformContent" is equal to "resource \"datadog_security_monitoring_rule\" \"{{ unique_lower }}\" {\n\tname = \"{{ unique }}\"\n\tenabled = true\n\tquery {\n\t\tquery = \"@test:true\"\n\t\tgroup_by_fields = []\n\t\tdistinct_fields = []\n\t\taggregation = \"count\"\n\t\tname = \"\"\n\t}\n\toptions {\n\t\tkeep_alive = 3600\n\t\tmax_signal_duration = 86400\n\t\tdetection_method = \"threshold\"\n\t\tevaluation_window = 900\n\t}\n\tcase {\n\t\tname = \"\"\n\t\tstatus = \"info\"\n\t\tnotifications = []\n\t\tcondition = \"a > 0\"\n\t}\n\tmessage = \"Test rule\"\n\ttags = []\n\thas_extended_title = false\n\ttype = \"log_detection\"\n}\n" - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Convert an existing rule from JSON to Terraform returns "Bad Request" response Given new "ConvertExistingSecurityMonitoringRule" request And request contains "rule_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Convert an existing rule from JSON to Terraform returns "Not Found" response Given new "ConvertExistingSecurityMonitoringRule" request And request contains "rule_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Convert an existing rule from JSON to Terraform returns "OK" response Given new "ConvertExistingSecurityMonitoringRule" request And there is a valid "security_rule" in the system @@ -160,7 +160,7 @@ Feature: Security Monitoring Then the response status is 200 OK And the response "terraformContent" is equal to "resource \"datadog_security_monitoring_rule\" \"{{ unique_lower }}\" {\n\tname = \"{{ unique }}\"\n\tenabled = true\n\tquery {\n\t\tquery = \"@test:true\"\n\t\tgroup_by_fields = []\n\t\tdistinct_fields = []\n\t\taggregation = \"count\"\n\t\tname = \"\"\n\t}\n\toptions {\n\t\tkeep_alive = 3600\n\t\tmax_signal_duration = 86400\n\t\tdetection_method = \"threshold\"\n\t\tevaluation_window = 900\n\t}\n\tcase {\n\t\tname = \"\"\n\t\tstatus = \"info\"\n\t\tnotifications = []\n\t\tcondition = \"a > 0\"\n\t}\n\tmessage = \"Test rule\"\n\ttags = []\n\thas_extended_title = false\n\ttype = \"log_detection\"\n}\n" - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a cloud_configuration rule returns "OK" response Given new "CreateSecurityMonitoringRule" request And body with value {"type":"cloud_configuration","name":"{{ unique }}_cloud","isEnabled":false,"cases":[{"status":"info","notifications":["channel"]}],"options":{"complianceRuleOptions":{"resourceType":"gcp_compute_disk","complexRule": false,"regoRule":{"policy":"package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\nmilliseconds_in_a_day := ((1000 * 60) * 60) * 24\n\neval(iam_service_account_key) = \"skip\" if {\n\tiam_service_account_key.disabled\n} else = \"pass\" if {\n\t(iam_service_account_key.resource_seen_at / milliseconds_in_a_day) - (iam_service_account_key.valid_after_time / milliseconds_in_a_day) <= 90\n} else = \"fail\"\n\n# This part remains unchanged for all rules\nresults contains result if {\n\tsome resource in input.resources[input.main_resource_type]\n\tresult := dd_output.format(resource, eval(resource))\n}\n","resourceTypes":["gcp_compute_disk"]}}},"message":"ddd","tags":["my:tag"],"complianceSignalOptions":{"userActivationStatus":true,"userGroupByFields":["@account_id"]},"filters":[{"action":"require","query":"resource_id:helo*"},{"action":"suppress","query":"control:helo*"}]} @@ -171,14 +171,14 @@ Feature: Security Monitoring And the response "message" is equal to "ddd" And the response "options.complianceRuleOptions.resourceType" is equal to "gcp_compute_disk" - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a detection rule returns "Bad Request" response Given new "CreateSecurityMonitoringRule" request And body with value {"name":"{{ unique }}", "queries":[{"query":""}],"cases":[{"status":"info"}],"options":{},"message":"Test rule","tags":[],"isEnabled":true} When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a detection rule returns "OK" response Given new "CreateSecurityMonitoringRule" request And body with value {"name":"{{ unique }}", "queries":[{"query":"@test:true","aggregation":"count","groupByFields":[],"distinctFields":[],"metric":""}],"filters":[],"cases":[{"name":"","status":"info","condition":"a > 0","notifications":[]}],"options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"message":"Test rule","tags":[],"isEnabled":true, "type":"log_detection", "referenceTables":[{"tableName": "synthetics_test_reference_table_dont_delete", "columnName": "value", "logFieldPath":"testtag", "checkPresence":true, "ruleQueryName":"a"}]} @@ -189,7 +189,7 @@ Feature: Security Monitoring And the response "message" is equal to "Test rule" And the response "referenceTables" is equal to [{"tableName": "synthetics_test_reference_table_dont_delete", "columnName": "value", "logFieldPath":"testtag", "checkPresence":true, "ruleQueryName":"a"}] - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a detection rule with detection method 'third_party' returns "OK" response Given new "CreateSecurityMonitoringRule" request And body with value {"name":"{{ unique }}","type":"log_detection","isEnabled":true,"thirdPartyCases":[{"query":"status:error","name":"high","status":"high"},{"query":"status:info","name":"low","status":"low"}],"queries":[],"cases":[],"message":"This is a third party rule","options":{"detectionMethod":"third_party","keepAlive":0,"maxSignalDuration":600,"thirdPartyRuleOptions":{"defaultStatus":"info","rootQueries":[{"query":"source:guardduty @details.alertType:*EC2*", "groupByFields":["instance-id"]},{"query":"source:guardduty", "groupByFields":[]}]}}} @@ -200,7 +200,7 @@ Feature: Security Monitoring And the response "options.detectionMethod" is equal to "third_party" And the response "thirdPartyCases[0].query" is equal to "status:error" - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a detection rule with type 'impossible_travel' returns "OK" response Given new "CreateSecurityMonitoringRule" request And body with value {"queries":[{"aggregation":"geo_data","groupByFields":["@usr.id"],"distinctFields":[],"metric":"@network.client.geoip","query":"*"}],"cases":[{"name":"","status":"info","notifications":[]}],"hasExtendedTitle":true,"message":"test","isEnabled":true,"options":{"maxSignalDuration":86400,"evaluationWindow":900,"keepAlive":3600,"detectionMethod":"impossible_travel","impossibleTravelOptions":{"baselineUserLocations":false}},"name":"{{ unique }}","type":"log_detection","tags":[],"filters":[]} @@ -211,7 +211,7 @@ Feature: Security Monitoring And the response "message" is equal to "test" And the response "options.detectionMethod" is equal to "impossible_travel" - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a detection rule with type 'signal_correlation' returns "OK" response Given there is a valid "security_rule" in the system And there is a valid "security_rule_bis" in the system @@ -224,7 +224,7 @@ Feature: Security Monitoring And the response "message" is equal to "Test signal correlation rule" And the response "isEnabled" is equal to true - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a detection rule with type 'workload_security' returns "OK" response Given new "CreateSecurityMonitoringRule" request And body with value {"name":"{{ unique }}", "queries":[{"query":"@test:true","aggregation":"count","groupByFields":[],"distinctFields":[],"metric":""}],"filters":[],"cases":[{"name":"","status":"info","condition":"a > 0","notifications":[]}],"options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"message":"Test rule","tags":[],"isEnabled":true, "type": "workload_security"} @@ -235,49 +235,49 @@ Feature: Security Monitoring And the response "message" is equal to "Test rule" And the response "isEnabled" is equal to true - @generated @skip @team:DataDog/cloud-security-posture-management + @generated @skip @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Create a new signal-based rule returns "Bad Request" response Given new "CreateSignalNotificationRule" request And body with value {"data": {"attributes": {"enabled": true, "name": "Rule 1", "selectors": {"query": "(source:production_service OR env:prod)", "rule_types": ["misconfiguration", "attack_path"], "severities": ["critical"], "trigger_source": "security_findings"}, "targets": ["@john.doe@email.com"], "time_aggregation": 86400}, "type": "notification_rules"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Create a new signal-based rule returns "Successfully created the notification rule." response Given new "CreateSignalNotificationRule" request And body with value {"data": {"attributes": {"enabled": true, "name": "Rule 1", "selectors": {"query": "(source:production_service OR env:prod)", "rule_types": ["misconfiguration", "attack_path"], "severities": ["critical"], "trigger_source": "security_findings"}, "targets": ["@john.doe@email.com"], "time_aggregation": 86400}, "type": "notification_rules"}} When the request is sent Then the response status is 201 Successfully created the notification rule. - @generated @skip @team:DataDog/cloud-security-posture-management + @generated @skip @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Create a new vulnerability-based rule returns "Bad Request" response Given new "CreateVulnerabilityNotificationRule" request And body with value {"data": {"attributes": {"enabled": true, "name": "Rule 1", "selectors": {"query": "(source:production_service OR env:prod)", "rule_types": ["misconfiguration", "attack_path"], "severities": ["critical"], "trigger_source": "security_findings"}, "targets": ["@john.doe@email.com"], "time_aggregation": 86400}, "type": "notification_rules"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Create a new vulnerability-based rule returns "Successfully created the notification rule." response Given new "CreateVulnerabilityNotificationRule" request And body with value {"data": {"attributes": {"enabled": true, "name": "Rule 1", "selectors": {"query": "(source:production_service OR env:prod)", "rule_types": ["misconfiguration", "attack_path"], "severities": ["critical"], "trigger_source": "security_findings"}, "targets": ["@john.doe@email.com"], "time_aggregation": 86400}, "type": "notification_rules"}} When the request is sent Then the response status is 201 Successfully created the notification rule. - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a security filter returns "Bad Request" response Given new "CreateSecurityFilter" request And body with value {"data": {"attributes": {"exclusion_filters": [{"name": "Exclude staging", "query": "source:staging"}], "filtered_data_type": "logs", "is_enabled": true, "name": "Custom security filter", "query": "service:api"}, "type": "security_filters"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a security filter returns "Conflict" response Given new "CreateSecurityFilter" request And body with value {"data": {"attributes": {"exclusion_filters": [{"name": "Exclude staging", "query": "source:staging"}], "filtered_data_type": "logs", "is_enabled": true, "name": "Custom security filter", "query": "service:api"}, "type": "security_filters"}} When the request is sent Then the response status is 409 Conflict - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a security filter returns "OK" response Given new "CreateSecurityFilter" request And body with value {"data": {"attributes": {"exclusion_filters": [{"name": "Exclude staging", "query": "source:staging"}], "filtered_data_type": "logs", "is_enabled": true, "name": "{{ unique }}", "query": "service:{{ unique_alnum }}"}, "type": "security_filters"}} @@ -289,21 +289,21 @@ Feature: Security Monitoring And the response "data.attributes.exclusion_filters[0].name" is equal to "Exclude staging" And the response "data.attributes.exclusion_filters[0].query" is equal to "source:staging" - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a suppression rule returns "Bad Request" response Given new "CreateSecurityMonitoringSuppression" request And body with value {"data": {"attributes": {"data_exclusion_query": "source:cloudtrail account_id:12345", "description": "This rule suppresses low-severity signals in staging environments.", "enabled": true, "expiration_date": 1703187336000, "name": "Custom suppression", "rule_query": "type:log_detection source:cloudtrail", "start_date": 1703187336000, "suppression_query": "env:staging status:low"}, "type": "suppressions"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a suppression rule returns "Conflict" response Given new "CreateSecurityMonitoringSuppression" request And body with value {"data": {"attributes": {"data_exclusion_query": "source:cloudtrail account_id:12345", "description": "This rule suppresses low-severity signals in staging environments.", "enabled": true, "expiration_date": 1703187336000, "name": "Custom suppression", "rule_query": "type:log_detection source:cloudtrail", "start_date": 1703187336000, "suppression_query": "env:staging status:low"}, "type": "suppressions"}} When the request is sent Then the response status is 409 Conflict - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a suppression rule returns "OK" response Given new "CreateSecurityMonitoringSuppression" request And body with value {"data": {"attributes": {"description": "This rule suppresses low-severity signals in staging environments.", "enabled": true, "start_date": {{ timestamp('now + 10d') }}000, "expiration_date": {{ timestamp('now + 21d') }}000, "name": "{{ unique }}", "rule_query": "type:log_detection source:cloudtrail", "suppression_query": "env:staging status:low"}, "type": "suppressions"}} @@ -313,7 +313,7 @@ Feature: Security Monitoring And the response "data.attributes.enabled" is equal to true And the response "data.attributes.rule_query" is equal to "type:log_detection source:cloudtrail" - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Create a suppression rule with an exclusion query returns "OK" response Given new "CreateSecurityMonitoringSuppression" request And body with value {"data": {"attributes": {"description": "This rule suppresses low-severity signals in staging environments.", "enabled": true, "start_date": {{ timestamp('now + 10d') }}000, "expiration_date": {{ timestamp('now + 21d') }}000, "name": "{{ unique }}", "rule_query": "type:log_detection source:cloudtrail", "data_exclusion_query": "account_id:12345"}, "type": "suppressions"}} @@ -324,14 +324,14 @@ Feature: Security Monitoring And the response "data.attributes.rule_query" is equal to "type:log_detection source:cloudtrail" And the response "data.attributes.data_exclusion_query" is equal to "account_id:12345" - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete a non existing rule returns "Not Found" response Given new "DeleteSecurityMonitoringRule" request And request contains "rule_id" parameter with value "ThisRuleIdProbablyDoesntExist" When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete a security filter returns "No Content" response Given there is a valid "security_filter" in the system And new "DeleteSecurityFilter" request @@ -339,28 +339,28 @@ Feature: Security Monitoring When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete a security filter returns "Not Found" response Given new "DeleteSecurityFilter" request And request contains "security_filter_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete a security filter returns "OK" response Given new "DeleteSecurityFilter" request And request contains "security_filter_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Delete a signal-based rule returns "Not Found" response Given new "DeleteSignalNotificationRule" request And request contains "id" parameter with value "000-000-000" When the request is sent Then the response status is 404 Not Found - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Delete a signal-based rule returns "Rule successfully deleted." response Given there is a valid "valid_signal_notification_rule" in the system And new "DeleteSignalNotificationRule" request @@ -368,14 +368,14 @@ Feature: Security Monitoring When the request is sent Then the response status is 204 Rule successfully deleted. - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete a suppression rule returns "Not Found" response Given new "DeleteSecurityMonitoringSuppression" request And request contains "suppression_id" parameter with value "does-not-exist" When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete a suppression rule returns "OK" response Given there is a valid "suppression" in the system And new "DeleteSecurityMonitoringSuppression" request @@ -383,14 +383,14 @@ Feature: Security Monitoring When the request is sent Then the response status is 204 OK - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Delete a vulnerability-based rule returns "Not Found" response Given new "DeleteVulnerabilityNotificationRule" request And request contains "id" parameter with value "000-000-000" When the request is sent Then the response status is 404 Not Found - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Delete a vulnerability-based rule returns "Rule successfully deleted." response Given there is a valid "valid_vulnerability_notification_rule" in the system And new "DeleteVulnerabilityNotificationRule" request @@ -398,7 +398,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 204 Rule successfully deleted. - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete an existing job returns "Bad Request" response Given operation "DeleteHistoricalJob" enabled And new "DeleteHistoricalJob" request @@ -406,7 +406,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete an existing job returns "Conflict" response Given operation "DeleteHistoricalJob" enabled And new "DeleteHistoricalJob" request @@ -414,7 +414,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 409 Conflict - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete an existing job returns "Not Found" response Given operation "DeleteHistoricalJob" enabled And new "DeleteHistoricalJob" request @@ -422,7 +422,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete an existing job returns "OK" response Given operation "DeleteHistoricalJob" enabled And new "DeleteHistoricalJob" request @@ -430,14 +430,14 @@ Feature: Security Monitoring When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete an existing rule returns "Not Found" response Given new "DeleteSecurityMonitoringRule" request And request contains "rule_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Delete an existing rule returns "OK" response Given there is a valid "security_rule" in the system And new "DeleteSecurityMonitoringRule" request @@ -445,7 +445,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/asm-vm + @generated @skip @team:DataDog/asm-vm @team:DataDog/web-frameworks-approvers Scenario: Get SBOM returns "Bad request: The server cannot process the request due to invalid syntax in the request." response Given new "GetSBOM" request And request contains "asset_type" parameter from "REPLACE.ME" @@ -453,7 +453,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad request: The server cannot process the request due to invalid syntax in the request. - @team:DataDog/asm-vm + @team:DataDog/asm-vm @team:DataDog/web-frameworks-approvers Scenario: Get SBOM returns "Not found: asset not found" response Given new "GetSBOM" request And request contains "asset_type" parameter with value "Host" @@ -461,7 +461,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not found: asset not found - @team:DataDog/asm-vm + @team:DataDog/asm-vm @team:DataDog/web-frameworks-approvers Scenario: Get SBOM returns "OK" response Given new "GetSBOM" request And request contains "asset_type" parameter with value "Repository" @@ -469,7 +469,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a cloud configuration rule's details returns "OK" response Given there is a valid "cloud_configuration_rule" in the system And new "GetSecurityMonitoringRule" request @@ -504,7 +504,7 @@ Feature: Security Monitoring Then the response status is 200 OK And the response "data.attributes.evaluation" is equal to "pass" - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a job's details returns "Bad Request" response Given operation "GetHistoricalJob" enabled And new "GetHistoricalJob" request @@ -512,7 +512,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a job's details returns "Not Found" response Given operation "GetHistoricalJob" enabled And new "GetHistoricalJob" request @@ -520,7 +520,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a job's details returns "OK" response Given operation "GetHistoricalJob" enabled And operation "RunHistoricalJob" enabled @@ -530,21 +530,21 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a list of security signals returns "Bad Request" response Given new "SearchSecurityMonitoringSignals" request And body with value {"filter": {"from": "2019-01-02T09:42:36.320Z", "query": "security:attack status:high", "to": "2019-01-03T09:42:36.320Z"}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "timestamp"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a list of security signals returns "OK" response Given new "SearchSecurityMonitoringSignals" request And body with value {"filter": {"from": "2019-01-02T09:42:36.320Z", "query": "security:attack status:high", "to": "2019-01-03T09:42:36.320Z"}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "timestamp"} When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/k9-cloud-security-platform @with-pagination + @replay-only @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get a list of security signals returns "OK" response with pagination Given new "SearchSecurityMonitoringSignals" request And body with value {"filter": {"from": "{{ timeISO("now-15m") }}", "query": "security:attack status:high", "to": "{{ timeISO("now") }}"}, "page": {"limit": 2}, "sort": "timestamp"} @@ -552,19 +552,19 @@ Feature: Security Monitoring Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a quick list of security signals returns "Bad Request" response Given new "ListSecurityMonitoringSignals" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a quick list of security signals returns "OK" response Given new "ListSecurityMonitoringSignals" request When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/k9-cloud-security-platform @with-pagination + @replay-only @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get a quick list of security signals returns "OK" response with pagination Given new "ListSecurityMonitoringSignals" request And request contains "page[limit]" parameter with value 2 @@ -572,14 +572,14 @@ Feature: Security Monitoring Then the response status is 200 OK And the response has 3 items - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a rule's details returns "Not Found" response Given new "GetSecurityMonitoringRule" request And request contains "rule_id" parameter with value "abcde-12345" When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a rule's details returns "OK" response Given new "GetSecurityMonitoringRule" request And there is a valid "security_rule" in the system @@ -589,14 +589,14 @@ Feature: Security Monitoring And the response "name" is equal to "{{ unique }}" And the response "id" has the same value as "security_rule.id" - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a security filter returns "Not Found" response Given new "GetSecurityFilter" request And request contains "security_filter_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a security filter returns "OK" response Given there is a valid "security_filter" in the system And new "GetSecurityFilter" request @@ -609,28 +609,28 @@ Feature: Security Monitoring And the response "data.attributes.exclusion_filters[0].name" is equal to "Exclude logs from staging" And the response "data.attributes.exclusion_filters[0].query" is equal to "source:staging" - @replay-only @team:DataDog/k9-cloud-security-platform + @replay-only @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a signal's details returns "Not Found" response Given new "GetSecurityMonitoringSignal" request And request contains "signal_id" parameter with value "AQAAAYNqUBVU4-rffwAAAABBWU5xVUJWVUFBQjJBd3ptCL3QUEm3nt2" When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/k9-cloud-security-platform + @replay-only @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a signal's details returns "OK" response Given new "GetSecurityMonitoringSignal" request And request contains "signal_id" parameter with value "AQAAAYNqUBVU4-rffwAAAABBWU5xVUJWVUFBQjJBd3ptMDdQUnF3QUE" When the request is sent Then the response status is 200 OK - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a suppression rule returns "Not Found" response Given new "GetSecurityMonitoringSuppression" request And request contains "suppression_id" parameter with value "this-does-not-exist" When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get a suppression rule returns "OK" response Given new "GetSecurityMonitoringSuppression" request And there is a valid "suppression" in the system @@ -640,7 +640,7 @@ Feature: Security Monitoring And the response "data.attributes.rule_query" has the same value as "suppression.data.attributes.rule_query" And the response "data.attributes.suppression_query" is equal to "env:test" - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get all security filters returns "OK" response Given new "ListSecurityFilters" request When the request is sent @@ -648,27 +648,27 @@ Feature: Security Monitoring And the response "data" has item with field "attributes.filtered_data_type" with value "logs" And the response "data" has item with field "attributes.is_builtin" with value true - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Get all suppression rules returns "OK" response Given new "ListSecurityMonitoringSuppressions" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-security-posture-management + @generated @skip @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Get details of a signal-based rule returns "Bad Request" response Given new "GetSignalNotificationRule" request And request contains "id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Get details of a signal-based rule returns "Not Found" response Given new "GetSignalNotificationRule" request And request contains "id" parameter with value "000-000-000" When the request is sent Then the response status is 404 Not Found - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Get details of a signal-based rule returns "Notification rule details." response Given there is a valid "valid_signal_notification_rule" in the system And new "GetSignalNotificationRule" request @@ -676,21 +676,21 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 Notification rule details. - @generated @skip @team:DataDog/cloud-security-posture-management + @generated @skip @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Get details of a vulnerability-based rule returns "Bad Request" response Given new "GetVulnerabilityNotificationRule" request And request contains "id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Get details of a vulnerability-based rule returns "Not Found" response Given new "GetVulnerabilityNotificationRule" request And request contains "id" parameter with value "000-000-000" When the request is sent Then the response status is 404 Not Found - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Get details of a vulnerability-based rule returns "Notification rule details." response Given there is a valid "valid_vulnerability_notification_rule" in the system And new "GetVulnerabilityNotificationRule" request @@ -698,14 +698,14 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 Notification rule details. - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Get the list of signal-based rules returns "The list of notification rules." response Given there is a valid "valid_signal_notification_rule" in the system And new "GetSignalNotificationRules" request When the request is sent Then the response status is 200 The list of notification rules. - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Get the list of vulnerability-based rules returns "The list of notification rules." response Given there is a valid "valid_vulnerability_notification_rule" in the system And new "GetVulnerabilityNotificationRules" request @@ -749,14 +749,14 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: List historical jobs returns "Bad Request" response Given operation "ListHistoricalJobs" enabled And new "ListHistoricalJobs" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: List historical jobs returns "OK" response Given operation "ListHistoricalJobs" enabled And operation "RunHistoricalJob" enabled @@ -766,25 +766,25 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: List rules returns "Bad Request" response Given new "ListSecurityMonitoringRules" request When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: List rules returns "OK" response Given new "ListSecurityMonitoringRules" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/asm-vm + @generated @skip @team:DataDog/asm-vm @team:DataDog/web-frameworks-approvers Scenario: List vulnerabilities returns "Bad request: The server cannot process the request due to invalid syntax in the request." response Given new "ListVulnerabilities" request When the request is sent Then the response status is 400 Bad request: The server cannot process the request due to invalid syntax in the request. - @team:DataDog/asm-vm + @team:DataDog/asm-vm @team:DataDog/web-frameworks-approvers Scenario: List vulnerabilities returns "Not found: There is no request associated with the provided token." response Given new "ListVulnerabilities" request And request contains "page[token]" parameter with value "unknown" @@ -792,7 +792,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not found: There is no request associated with the provided token. - @team:DataDog/asm-vm + @team:DataDog/asm-vm @team:DataDog/web-frameworks-approvers Scenario: List vulnerabilities returns "OK" response Given new "ListVulnerabilities" request And request contains "filter[cvss.base.severity]" parameter with value "High" @@ -801,13 +801,13 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/asm-vm + @generated @skip @team:DataDog/asm-vm @team:DataDog/web-frameworks-approvers Scenario: List vulnerable assets returns "Bad request: The server cannot process the request due to invalid syntax in the request." response Given new "ListVulnerableAssets" request When the request is sent Then the response status is 400 Bad request: The server cannot process the request due to invalid syntax in the request. - @team:DataDog/asm-vm + @team:DataDog/asm-vm @team:DataDog/web-frameworks-approvers Scenario: List vulnerable assets returns "Not found: There is no request associated with the provided token." response Given new "ListVulnerableAssets" request And request contains "page[token]" parameter with value "unknown" @@ -815,7 +815,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not found: There is no request associated with the provided token. - @team:DataDog/asm-vm + @team:DataDog/asm-vm @team:DataDog/web-frameworks-approvers Scenario: List vulnerable assets returns "OK" response Given new "ListVulnerableAssets" request And request contains "filter[type]" parameter with value "Host" @@ -824,7 +824,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Modify the triage assignee of a security signal returns "Bad Request" response Given new "EditSecurityMonitoringSignalAssignee" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -832,7 +832,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Modify the triage assignee of a security signal returns "Not Found" response Given new "EditSecurityMonitoringSignalAssignee" request And request contains "signal_id" parameter from "REPLACE.ME" @@ -840,7 +840,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/k9-cloud-security-platform + @replay-only @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Modify the triage assignee of a security signal returns "OK" response Given new "EditSecurityMonitoringSignalAssignee" request And request contains "signal_id" parameter with value "AQAAAYG1bl5K4HuUewAAAABBWUcxYmw1S0FBQmt2RmhRN0V4ZUVnQUE" @@ -880,7 +880,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Patch a signal-based rule returns "Bad Request" response Given new "PatchSignalNotificationRule" request And there is a valid "valid_signal_notification_rule" in the system @@ -889,7 +889,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Patch a signal-based rule returns "Not Found" response Given new "PatchSignalNotificationRule" request And request contains "id" parameter with value "000-000-000" @@ -897,7 +897,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Patch a signal-based rule returns "Notification rule successfully patched." response Given new "PatchSignalNotificationRule" request And there is a valid "valid_signal_notification_rule" in the system @@ -906,7 +906,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 Notification rule successfully patched. - @generated @skip @team:DataDog/cloud-security-posture-management + @generated @skip @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Patch a signal-based rule returns "The server cannot process the request because it contains invalid data." response Given new "PatchSignalNotificationRule" request And request contains "id" parameter from "REPLACE.ME" @@ -914,7 +914,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 422 The server cannot process the request because it contains invalid data. - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Patch a vulnerability-based rule returns "Bad Request" response Given new "PatchVulnerabilityNotificationRule" request And there is a valid "valid_vulnerability_notification_rule" in the system @@ -923,7 +923,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Patch a vulnerability-based rule returns "Not Found" response Given new "PatchVulnerabilityNotificationRule" request And request contains "id" parameter with value "000-000-000" @@ -931,7 +931,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @team:DataDog/cloud-security-posture-management + @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Patch a vulnerability-based rule returns "Notification rule successfully patched." response Given new "PatchVulnerabilityNotificationRule" request And there is a valid "valid_vulnerability_notification_rule" in the system @@ -940,7 +940,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 Notification rule successfully patched. - @generated @skip @team:DataDog/cloud-security-posture-management + @generated @skip @team:DataDog/cloud-security-posture-management @team:DataDog/web-frameworks-approvers Scenario: Patch a vulnerability-based rule returns "The server cannot process the request because it contains invalid data." response Given new "PatchVulnerabilityNotificationRule" request And request contains "id" parameter from "REPLACE.ME" @@ -948,7 +948,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 422 The server cannot process the request because it contains invalid data. - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Run a historical job returns "Bad Request" response Given operation "RunHistoricalJob" enabled And new "RunHistoricalJob" request @@ -956,7 +956,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Run a historical job returns "Not Found" response Given operation "RunHistoricalJob" enabled And new "RunHistoricalJob" request @@ -964,7 +964,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Run a historical job returns "Status created" response Given operation "RunHistoricalJob" enabled And new "RunHistoricalJob" request @@ -972,21 +972,21 @@ Feature: Security Monitoring When the request is sent Then the response status is 201 Status created - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Test a rule returns "Bad Request" response Given new "TestSecurityMonitoringRule" request And body with value {"rule": {"cases": [], "filters": [{"action": "require"}], "hasExtendedTitle": true, "isEnabled": true, "message": "", "name": "My security monitoring rule.", "options": {"decreaseCriticalityBasedOnEnv": false, "detectionMethod": "threshold", "evaluationWindow": 0, "hardcodedEvaluatorType": "log4shell", "impossibleTravelOptions": {"baselineUserLocations": true}, "keepAlive": 0, "maxSignalDuration": 0, "newValueOptions": {"forgetAfter": 1, "learningDuration": 0, "learningMethod": "duration", "learningThreshold": 0}, "thirdPartyRuleOptions": {"defaultNotifications": [], "defaultStatus": "critical", "rootQueries": [{"groupByFields": [], "query": "source:cloudtrail"}]}}, "queries": [], "tags": ["env:prod", "team:security"], "thirdPartyCases": [], "type": "application_security"}, "ruleQueryPayloads": [{"expectedResult": true, "index": 0, "payload": {"ddsource": "nginx", "ddtags": "env:staging,version:5.1", "hostname": "i-012345678", "message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World", "service": "payment"}}]} When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Test a rule returns "Not Found" response Given new "TestSecurityMonitoringRule" request And body with value {"rule": {"cases": [], "filters": [{"action": "require"}], "hasExtendedTitle": true, "isEnabled": true, "message": "", "name": "My security monitoring rule.", "options": {"decreaseCriticalityBasedOnEnv": false, "detectionMethod": "threshold", "evaluationWindow": 0, "hardcodedEvaluatorType": "log4shell", "impossibleTravelOptions": {"baselineUserLocations": true}, "keepAlive": 0, "maxSignalDuration": 0, "newValueOptions": {"forgetAfter": 1, "learningDuration": 0, "learningMethod": "duration", "learningThreshold": 0}, "thirdPartyRuleOptions": {"defaultNotifications": [], "defaultStatus": "critical", "rootQueries": [{"groupByFields": [], "query": "source:cloudtrail"}]}}, "queries": [], "tags": ["env:prod", "team:security"], "thirdPartyCases": [], "type": "application_security"}, "ruleQueryPayloads": [{"expectedResult": true, "index": 0, "payload": {"ddsource": "nginx", "ddtags": "env:staging,version:5.1", "hostname": "i-012345678", "message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World", "service": "payment"}}]} When the request is sent Then the response status is 404 Not Found - @skip-go @skip-java @skip-ruby @skip-typescript @team:DataDog/k9-cloud-security-platform + @skip-go @skip-java @skip-ruby @skip-typescript @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Test a rule returns "OK" response Given new "TestSecurityMonitoringRule" request And body with value {"rule": {"cases": [{"name": "","status": "info","notifications": [],"condition": "a > 0"}],"hasExtendedTitle": true,"isEnabled": true,"message": "My security monitoring rule message.","name": "My security monitoring rule.","options": {"decreaseCriticalityBasedOnEnv": false,"detectionMethod": "threshold","evaluationWindow": 0,"keepAlive": 0,"maxSignalDuration": 0},"queries": [{"query": "source:source_here","groupByFields": ["@userIdentity.assumed_role"],"distinctFields": [],"aggregation": "count","name": ""}],"tags": ["env:prod", "team:security"],"type": "log_detection"}, "ruleQueryPayloads": [{"expectedResult": true,"index": 0,"payload": {"ddsource": "source_here","ddtags": "env:staging,version:5.1","hostname": "i-012345678","message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World","service": "payment","userIdentity": {"assumed_role" : "fake assumed_role"}}}]} @@ -994,7 +994,7 @@ Feature: Security Monitoring Then the response status is 200 OK And the response "results[0]" is equal to true - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Test an existing rule returns "Bad Request" response Given new "TestExistingSecurityMonitoringRule" request And request contains "rule_id" parameter from "REPLACE.ME" @@ -1002,7 +1002,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Test an existing rule returns "Not Found" response Given new "TestExistingSecurityMonitoringRule" request And request contains "rule_id" parameter from "REPLACE.ME" @@ -1010,7 +1010,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @skip @team:DataDog/k9-cloud-security-platform + @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Test an existing rule returns "OK" response Given new "TestExistingSecurityMonitoringRule" request And request contains "rule_id" parameter from "REPLACE.ME" @@ -1018,7 +1018,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update a cloud configuration rule's details returns "OK" response Given new "UpdateSecurityMonitoringRule" request And there is a valid "cloud_configuration_rule" in the system @@ -1029,7 +1029,7 @@ Feature: Security Monitoring And the response "name" is equal to "{{ unique }}_cloud_updated" And the response "id" has the same value as "cloud_configuration_rule.id" - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update a security filter returns "Bad Request" response Given new "UpdateSecurityFilter" request And request contains "security_filter_id" parameter from "REPLACE.ME" @@ -1037,7 +1037,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update a security filter returns "Concurrent Modification" response Given new "UpdateSecurityFilter" request And request contains "security_filter_id" parameter from "REPLACE.ME" @@ -1045,7 +1045,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 409 Concurrent Modification - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update a security filter returns "Not Found" response Given new "UpdateSecurityFilter" request And request contains "security_filter_id" parameter from "REPLACE.ME" @@ -1053,7 +1053,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update a security filter returns "OK" response Given new "UpdateSecurityFilter" request And there is a valid "security_filter" in the system @@ -1065,7 +1065,7 @@ Feature: Security Monitoring And the response "data.attributes.filtered_data_type" is equal to "logs" And the response "data.attributes.name" is equal to "{{ unique }}" - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update a suppression rule returns "Bad Request" response Given new "UpdateSecurityMonitoringSuppression" request And request contains "suppression_id" parameter from "REPLACE.ME" @@ -1073,7 +1073,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update a suppression rule returns "Concurrent Modification" response Given new "UpdateSecurityMonitoringSuppression" request And request contains "suppression_id" parameter from "REPLACE.ME" @@ -1081,7 +1081,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 409 Concurrent Modification - @generated @skip @team:DataDog/k9-cloud-security-platform + @generated @skip @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update a suppression rule returns "Not Found" response Given new "UpdateSecurityMonitoringSuppression" request And request contains "suppression_id" parameter from "REPLACE.ME" @@ -1089,7 +1089,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update a suppression rule returns "OK" response Given new "UpdateSecurityMonitoringSuppression" request And there is a valid "suppression" in the system @@ -1101,7 +1101,7 @@ Feature: Security Monitoring And the response "data.attributes.suppression_query" is equal to "env:staging status:low" And the response "data.attributes.version" is equal to 2 - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update an existing rule returns "Bad Request" response Given new "UpdateSecurityMonitoringRule" request And there is a valid "security_rule" in the system @@ -1110,7 +1110,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update an existing rule returns "Not Found" response Given new "UpdateSecurityMonitoringRule" request And request contains "rule_id" parameter with value "abcde-12345" @@ -1118,7 +1118,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Update an existing rule returns "OK" response Given new "UpdateSecurityMonitoringRule" request And there is a valid "security_rule" in the system @@ -1129,14 +1129,14 @@ Feature: Security Monitoring And the response "name" is equal to "{{ unique }}-Updated" And the response "id" has the same value as "security_rule.id" - @skip-go @skip-java @skip-python @skip-ruby @skip-rust @skip-typescript @skip-validation @team:DataDog/k9-cloud-security-platform + @skip-go @skip-java @skip-python @skip-ruby @skip-rust @skip-typescript @skip-validation @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Validate a detection rule returns "Bad Request" response Given new "ValidateSecurityMonitoringRule" request And body with value {"cases":[{"name":"","status":"info","notifications":[],"condition":"a > 0"}],"hasExtendedTitle":true,"isEnabled":true,"message":"My security monitoring rule","name":"My security monitoring rule","options":{"evaluationWindow":1800,"keepAlive":999999,"maxSignalDuration":1800,"detectionMethod":"threshold"},"queries":[{"query":"source:source_here","groupByFields":["@userIdentity.assumed_role"],"distinctFields":[],"aggregation":"count","name":""}],"tags":["env:prod","team:security"],"type":"log_detection"} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/k9-cloud-security-platform + @team:DataDog/k9-cloud-security-platform @team:DataDog/web-frameworks-approvers Scenario: Validate a detection rule returns "OK" response Given new "ValidateSecurityMonitoringRule" request And body with value {"cases":[{"name":"","status":"info","notifications":[],"condition":"a > 0"}],"hasExtendedTitle":true,"isEnabled":true,"message":"My security monitoring rule","name":"My security monitoring rule","options":{"evaluationWindow":1800,"keepAlive":1800,"maxSignalDuration":1800,"detectionMethod":"threshold"},"queries":[{"query":"source:source_here","groupByFields":["@userIdentity.assumed_role"],"distinctFields":[],"aggregation":"count","name":""}],"tags":["env:prod","team:security"],"type":"log_detection"} diff --git a/features/v2/sensitive_data_scanner.feature b/features/v2/sensitive_data_scanner.feature index cfe54b0e86fb..5aac78cd397e 100644 --- a/features/v2/sensitive_data_scanner.feature +++ b/features/v2/sensitive_data_scanner.feature @@ -10,14 +10,14 @@ Feature: Sensitive Data Scanner And a valid "appKeyAuth" key in the system And an instance of "SensitiveDataScanner" API - @generated @skip @team:DataDog/sensitive-data-scanner + @generated @skip @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Create Scanning Group returns "Bad Request" response Given new "CreateScanningGroup" request And body with value {"data": {"attributes": {"filter": {}, "product_list": ["logs"]}, "relationships": {"configuration": {"data": {"type": "sensitive_data_scanner_configuration"}}, "rules": {"data": [{"type": "sensitive_data_scanner_rule"}]}}, "type": "sensitive_data_scanner_group"}, "meta": {"version": 0}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/sensitive-data-scanner + @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Create Scanning Group returns "OK" response Given a valid "configuration" in the system And new "CreateScanningGroup" request @@ -27,7 +27,7 @@ Feature: Sensitive Data Scanner And the response "data.type" is equal to "sensitive_data_scanner_group" And the response "data.attributes.name" is equal to "{{ unique }}" - @team:DataDog/sensitive-data-scanner + @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Create Scanning Rule returns "Bad Request" response Given a valid "configuration" in the system And there is a valid "scanning_group" in the system @@ -36,7 +36,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 400 Bad Request - @team:DataDog/sensitive-data-scanner + @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Create Scanning Rule returns "OK" response Given a valid "configuration" in the system And there is a valid "scanning_group" in the system @@ -50,7 +50,7 @@ Feature: Sensitive Data Scanner And the response "data.attributes.included_keyword_configuration.character_count" is equal to 35 And the response "data.attributes.included_keyword_configuration.keywords[0]" is equal to "credit card" - @generated @skip @team:DataDog/sensitive-data-scanner + @generated @skip @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Delete Scanning Group returns "Bad Request" response Given new "DeleteScanningGroup" request And request contains "group_id" parameter from "REPLACE.ME" @@ -58,7 +58,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/sensitive-data-scanner + @generated @skip @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Delete Scanning Group returns "Not Found" response Given new "DeleteScanningGroup" request And request contains "group_id" parameter from "REPLACE.ME" @@ -66,7 +66,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 404 Not Found - @team:DataDog/sensitive-data-scanner + @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Delete Scanning Group returns "OK" response Given a valid "configuration" in the system And there is a valid "scanning_group" in the system @@ -76,7 +76,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/sensitive-data-scanner + @generated @skip @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Delete Scanning Rule returns "Bad Request" response Given new "DeleteScanningRule" request And request contains "rule_id" parameter from "REPLACE.ME" @@ -84,7 +84,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/sensitive-data-scanner + @generated @skip @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Delete Scanning Rule returns "Not Found" response Given new "DeleteScanningRule" request And request contains "rule_id" parameter from "REPLACE.ME" @@ -92,7 +92,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 404 Not Found - @team:DataDog/sensitive-data-scanner + @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Delete Scanning Rule returns "OK" response Given a valid "configuration" in the system And there is a valid "scanning_group" in the system @@ -103,13 +103,13 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/sensitive-data-scanner + @generated @skip @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: List Scanning Groups returns "Bad Request" response Given new "ListScanningGroups" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/sensitive-data-scanner + @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: List Scanning Groups returns "OK" response Given a valid "configuration" in the system And there is a valid "scanning_group" in the system @@ -118,19 +118,19 @@ Feature: Sensitive Data Scanner Then the response status is 200 OK And the response "included" has item with field "id" with value "{{ group.data.id }}" - @generated @skip @team:DataDog/sensitive-data-scanner + @generated @skip @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: List standard patterns returns "Bad Request" response Given new "ListStandardPatterns" request When the request is sent Then the response status is 400 Bad Request - @integration-only @team:DataDog/sensitive-data-scanner + @integration-only @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: List standard patterns returns "OK" response Given new "ListStandardPatterns" request When the request is sent Then the response status is 200 OK - @team:DataDog/sensitive-data-scanner + @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Reorder Groups returns "Bad Request" response Given a valid "configuration" in the system And there is a valid "scanning_group" in the system @@ -139,7 +139,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/sensitive-data-scanner + @replay-only @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Reorder Groups returns "OK" response Given a valid "configuration" in the system And there is a valid "scanning_group" in the system @@ -148,7 +148,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/sensitive-data-scanner + @generated @skip @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Update Scanning Group returns "Bad Request" response Given new "UpdateScanningGroup" request And request contains "group_id" parameter from "REPLACE.ME" @@ -156,7 +156,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/sensitive-data-scanner + @generated @skip @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Update Scanning Group returns "Not Found" response Given new "UpdateScanningGroup" request And request contains "group_id" parameter from "REPLACE.ME" @@ -164,7 +164,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 404 Not Found - @team:DataDog/sensitive-data-scanner + @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Update Scanning Group returns "OK" response Given a valid "configuration" in the system And there is a valid "scanning_group" in the system @@ -174,7 +174,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 200 OK - @team:DataDog/sensitive-data-scanner + @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Update Scanning Rule returns "Bad Request" response Given a valid "configuration" in the system And there is a valid "scanning_group" in the system @@ -185,7 +185,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/sensitive-data-scanner + @generated @skip @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Update Scanning Rule returns "Not Found" response Given new "UpdateScanningRule" request And request contains "rule_id" parameter from "REPLACE.ME" @@ -193,7 +193,7 @@ Feature: Sensitive Data Scanner When the request is sent Then the response status is 404 Not Found - @team:DataDog/sensitive-data-scanner + @team:DataDog/sensitive-data-scanner @team:DataDog/web-frameworks-approvers Scenario: Update Scanning Rule returns "OK" response Given a valid "configuration" in the system And there is a valid "scanning_group" in the system diff --git a/features/v2/service_accounts.feature b/features/v2/service_accounts.feature index 6e25db1e8f20..f1321df776d8 100644 --- a/features/v2/service_accounts.feature +++ b/features/v2/service_accounts.feature @@ -9,14 +9,14 @@ Feature: Service Accounts And a valid "appKeyAuth" key in the system And an instance of "ServiceAccounts" API - @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create a service account returns "Bad Request" response Given new "CreateServiceAccount" request And body with value {"data": {"attributes": {"email": "jane.doe@example.com", "service_account": true}, "relationships": {"roles": {"data": [{"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d", "type": "roles"}]}}, "type": "users"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create a service account returns "OK" response Given there is a valid "role" in the system And new "CreateServiceAccount" request @@ -29,7 +29,7 @@ Feature: Service Accounts And the response "data.attributes.service_account" is equal to true And the response "data.relationships.roles.data[0].id" is equal to "{{ role.data.id }}" - @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create an application key for this service account returns "Bad Request" response Given new "CreateServiceAccountApplicationKey" request And request contains "service_account_id" parameter from "REPLACE.ME" @@ -37,7 +37,7 @@ Feature: Service Accounts When the request is sent Then the response status is 400 Bad Request - @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create an application key for this service account returns "Created" response Given there is a valid "service_account_user" in the system And new "CreateServiceAccountApplicationKey" request @@ -48,7 +48,7 @@ Feature: Service Accounts And the response "data.attributes.name" is equal to "{{ unique }}" And the response "data.relationships.owned_by.data.id" has the same value as "service_account_user.data.id" - @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create an application key with scopes for this service account returns "Created" response Given there is a valid "service_account_user" in the system And new "CreateServiceAccountApplicationKey" request @@ -60,7 +60,7 @@ Feature: Service Accounts And the response "data.attributes.scopes" is equal to ["dashboards_read", "dashboards_write", "dashboards_public_share"] And the response "data.relationships.owned_by.data.id" has the same value as "service_account_user.data.id" - @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Delete an application key for this service account returns "No Content" response Given there is a valid "service_account_user" in the system And there is a valid "service_account_application_key" for "service_account_user" @@ -70,7 +70,7 @@ Feature: Service Accounts When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Delete an application key for this service account returns "Not Found" response Given new "DeleteServiceAccountApplicationKey" request And request contains "service_account_id" parameter from "REPLACE.ME" @@ -78,7 +78,7 @@ Feature: Service Accounts When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Edit an application key for this service account returns "Bad Request" response Given new "UpdateServiceAccountApplicationKey" request And request contains "service_account_id" parameter from "REPLACE.ME" @@ -87,7 +87,7 @@ Feature: Service Accounts When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Edit an application key for this service account returns "Not Found" response Given new "UpdateServiceAccountApplicationKey" request And request contains "service_account_id" parameter from "REPLACE.ME" @@ -96,7 +96,7 @@ Feature: Service Accounts When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Edit an application key for this service account returns "OK" response Given there is a valid "service_account_user" in the system And there is a valid "service_account_application_key" for "service_account_user" @@ -110,7 +110,7 @@ Feature: Service Accounts And the response "data.type" is equal to "application_keys" And the response "data.id" is equal to "{{ service_account_application_key.data.id }}" - @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get one application key for this service account returns "Not Found" response Given new "GetServiceAccountApplicationKey" request And request contains "service_account_id" parameter from "REPLACE.ME" @@ -118,7 +118,7 @@ Feature: Service Accounts When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get one application key for this service account returns "OK" response Given there is a valid "service_account_user" in the system And there is a valid "service_account_application_key" for "service_account_user" @@ -131,21 +131,21 @@ Feature: Service Accounts And the response "data.type" is equal to "application_keys" And the response "data.id" is equal to "{{ service_account_application_key.data.id }}" - @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: List application keys for this service account returns "Bad Request" response Given new "ListServiceAccountApplicationKeys" request And request contains "service_account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: List application keys for this service account returns "Not Found" response Given new "ListServiceAccountApplicationKeys" request And request contains "service_account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/credentials-management @team:DataDog/team-aaa-identity + @team:DataDog/credentials-management @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: List application keys for this service account returns "OK" response Given there is a valid "service_account_user" in the system And new "ListServiceAccountApplicationKeys" request diff --git a/features/v2/service_definition.feature b/features/v2/service_definition.feature index 20c942808740..9edf3d54094e 100644 --- a/features/v2/service_definition.feature +++ b/features/v2/service_definition.feature @@ -11,28 +11,28 @@ Feature: Service Definition And a valid "appKeyAuth" key in the system And an instance of "ServiceDefinition" API - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create or update service definition returns "Bad Request" response Given new "CreateOrUpdateServiceDefinitions" request And body with value {"application": "my-app", "ci-pipeline-fingerprints": ["j88xdEy0J5lc", "eZ7LMljCk8vo"], "contacts": [{"contact": "https://teams.microsoft.com/myteam", "name": "My team channel", "type": "slack"}], "dd-service": "my-service", "description": "My service description", "extensions": {"myorg/extension": "extensionValue"}, "integrations": {"opsgenie": {"region": "US", "service-url": "https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000"}, "pagerduty": {"service-url": "https://my-org.pagerduty.com/service-directory/PMyService"}}, "languages": ["dotnet", "go", "java", "js", "php", "python", "ruby", "c++"], "lifecycle": "sandbox", "links": [{"name": "Runbook", "provider": "Github", "type": "runbook", "url": "https://my-runbook"}], "schema-version": "v2.2", "tags": ["my:tag", "service:tag"], "team": "my-team", "tier": "High", "type": "web"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create or update service definition returns "CREATED" response Given new "CreateOrUpdateServiceDefinitions" request And body with value {"application": "my-app", "ci-pipeline-fingerprints": ["j88xdEy0J5lc", "eZ7LMljCk8vo"], "contacts": [{"contact": "https://teams.microsoft.com/myteam", "name": "My team channel", "type": "slack"}], "dd-service": "my-service", "description": "My service description", "extensions": {"myorg/extension": "extensionValue"}, "integrations": {"opsgenie": {"region": "US", "service-url": "https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000"}, "pagerduty": {"service-url": "https://my-org.pagerduty.com/service-directory/PMyService"}}, "languages": ["dotnet", "go", "java", "js", "php", "python", "ruby", "c++"], "lifecycle": "sandbox", "links": [{"name": "Runbook", "provider": "Github", "type": "runbook", "url": "https://my-runbook"}], "schema-version": "v2.2", "tags": ["my:tag", "service:tag"], "team": "my-team", "tier": "High", "type": "web"} When the request is sent Then the response status is 200 CREATED - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create or update service definition returns "Conflict" response Given new "CreateOrUpdateServiceDefinitions" request And body with value {"application": "my-app", "ci-pipeline-fingerprints": ["j88xdEy0J5lc", "eZ7LMljCk8vo"], "contacts": [{"contact": "https://teams.microsoft.com/myteam", "name": "My team channel", "type": "slack"}], "dd-service": "my-service", "description": "My service description", "extensions": {"myorg/extension": "extensionValue"}, "integrations": {"opsgenie": {"region": "US", "service-url": "https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000"}, "pagerduty": {"service-url": "https://my-org.pagerduty.com/service-directory/PMyService"}}, "languages": ["dotnet", "go", "java", "js", "php", "python", "ruby", "c++"], "lifecycle": "sandbox", "links": [{"name": "Runbook", "provider": "Github", "type": "runbook", "url": "https://my-runbook"}], "schema-version": "v2.2", "tags": ["my:tag", "service:tag"], "team": "my-team", "tier": "High", "type": "web"} When the request is sent Then the response status is 409 Conflict - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create or update service definition using schema v2 returns "CREATED" response Given new "CreateOrUpdateServiceDefinitions" request And body with value {"contacts": [{"contact": "contact@datadoghq.com", "name": "Team Email", "type": "email"}], "dd-service": "service-{{ unique_lower_alnum }}", "dd-team": "my-team", "docs": [{"name": "Architecture", "provider": "google drive", "url": "https://gdrive/mydoc"}], "extensions": {"myorgextension": "extensionvalue"}, "integrations": {"opsgenie": {"region": "US", "service-url": "https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000"}, "pagerduty": "https://my-org.pagerduty.com/service-directory/PMyService"}, "links": [{"name": "Runbook", "type": "runbook", "url": "https://my-runbook"}], "repos": [{"name": "Source Code", "provider": "GitHub", "url": "https://github.com/DataDog/schema"}], "schema-version": "v2", "tags": ["my:tag", "service:tag"], "team": "my-team"} @@ -41,7 +41,7 @@ Feature: Service Definition And the response "data[0].attributes.meta.ingested-schema-version" is equal to "v2" And the response "data[0].attributes.schema.dd-service" is equal to "service-{{ unique_lower_alnum }}" - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create or update service definition using schema v2-1 returns "CREATED" response Given new "CreateOrUpdateServiceDefinitions" request And body with value {"contacts":[{"contact":"contact@datadoghq.com","name":"Team Email","type":"email"}],"dd-service":"service-{{ unique_lower_alnum }}","extensions":{"myorgextension":"extensionvalue"},"integrations":{"opsgenie":{"region":"US","service-url":"https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000"},"pagerduty":{"service-url":"https://my-org.pagerduty.com/service-directory/PMyService"}},"links":[{"name":"Runbook","type":"runbook","url":"https://my-runbook"},{"name":"Source Code","type":"repo","provider":"GitHub","url":"https://github.com/DataDog/schema"},{"name":"Architecture","type":"doc","provider":"Gigoogle drivetHub","url":"https://my-runbook"}],"schema-version":"v2.1","tags":["my:tag","service:tag"],"team":"my-team"} @@ -50,7 +50,7 @@ Feature: Service Definition And the response "data[0].attributes.meta.ingested-schema-version" is equal to "v2.1" And the response "data[0].attributes.schema.dd-service" is equal to "service-{{ unique_lower_alnum }}" - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create or update service definition using schema v2-2 returns "CREATED" response Given new "CreateOrUpdateServiceDefinitions" request And body with value {"contacts":[{"contact":"contact@datadoghq.com","name":"Team Email","type":"email"}],"dd-service":"service-{{ unique_lower_alnum }}","extensions":{"myorgextension":"extensionvalue"},"integrations":{"opsgenie":{"region":"US","service-url":"https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000"},"pagerduty":{"service-url":"https://my-org.pagerduty.com/service-directory/PMyService"}},"links":[{"name":"Runbook","type":"runbook","url":"https://my-runbook"},{"name":"Source Code","type":"repo","provider":"GitHub","url":"https://github.com/DataDog/schema"},{"name":"Architecture","type":"doc","provider":"Gigoogle drivetHub","url":"https://my-runbook"}],"schema-version":"v2.2","tags":["my:tag","service:tag"],"team":"my-team"} @@ -59,14 +59,14 @@ Feature: Service Definition And the response "data[0].attributes.meta.ingested-schema-version" is equal to "v2.2" And the response "data[0].attributes.schema.dd-service" is equal to "service-{{ unique_lower_alnum }}" - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Delete a single service definition returns "Bad Request" response Given new "DeleteServiceDefinition" request And request contains "service_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Delete a single service definition returns "Not Found" response Given new "DeleteServiceDefinition" request And request contains "service_name" parameter with value "not-a-service" @@ -74,28 +74,28 @@ Feature: Service Definition Then the response status is 404 Not Found And the response "errors[0]" is equal to "Not Found" - @replay-only @team:DataDog/service-catalog + @replay-only @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Delete a single service definition returns "OK" response Given new "DeleteServiceDefinition" request And request contains "service_name" parameter with value "service-definition-test" When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Get a single service definition returns "Bad Request" response Given new "GetServiceDefinition" request And request contains "service_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Get a single service definition returns "Conflict" response Given new "GetServiceDefinition" request And request contains "service_name" parameter from "REPLACE.ME" When the request is sent Then the response status is 409 Conflict - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Get a single service definition returns "Not Found" response Given new "GetServiceDefinition" request And request contains "service_name" parameter with value "not-a-service" @@ -103,7 +103,7 @@ Feature: Service Definition Then the response status is 404 Not Found And the response "errors[0]" is equal to "Not Found" - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Get a single service definition returns "OK" response Given new "GetServiceDefinition" request And request contains "service_name" parameter with value "service-definition-test" @@ -114,7 +114,7 @@ Feature: Service Definition And the response "data.attributes.schema.schema-version" is equal to "v2.1" And the response "data.attributes.schema.dd-service" is equal to "service-definition-test" - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Get all service definitions returns "OK" response Given new "ListServiceDefinitions" request And request contains "schema_version" parameter with value "v2.1" @@ -123,7 +123,7 @@ Feature: Service Definition And the response "data[0].attributes.meta.ingestion-source" is equal to "api" And the response "data[0].attributes.schema.schema-version" is equal to "v2.1" - @replay-only @skip-validation @team:DataDog/service-catalog @with-pagination + @replay-only @skip-validation @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all service definitions returns "OK" response with pagination Given new "ListServiceDefinitions" request And request contains "page[size]" parameter with value 2 diff --git a/features/v2/service_level_objectives.feature b/features/v2/service_level_objectives.feature index a415d16ccec9..c69fe8910a02 100644 --- a/features/v2/service_level_objectives.feature +++ b/features/v2/service_level_objectives.feature @@ -13,7 +13,7 @@ Feature: Service Level Objectives And a valid "appKeyAuth" key in the system And an instance of "ServiceLevelObjectives" API - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Create a new SLO report returns "Bad Request" response Given operation "CreateSLOReportJob" enabled And new "CreateSLOReportJob" request @@ -21,7 +21,7 @@ Feature: Service Level Objectives When the request is sent Then the response status is 400 Bad Request - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Create a new SLO report returns "OK" response Given operation "CreateSLOReportJob" enabled And new "CreateSLOReportJob" request @@ -30,7 +30,7 @@ Feature: Service Level Objectives Then the response status is 200 OK And the response "data.type" is equal to "report_id" - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get SLO report returns "Bad Request" response Given operation "GetSLOReport" enabled And new "GetSLOReport" request @@ -38,7 +38,7 @@ Feature: Service Level Objectives When the request is sent Then the response status is 400 Bad Request - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get SLO report returns "Not Found" response Given operation "GetSLOReport" enabled And new "GetSLOReport" request @@ -46,7 +46,7 @@ Feature: Service Level Objectives When the request is sent Then the response status is 404 Not Found - @skip @team:DataDog/slo-app + @skip @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get SLO report returns "OK" response Given operation "GetSLOReport" enabled And new "GetSLOReport" request @@ -54,7 +54,7 @@ Feature: Service Level Objectives When the request is sent Then the response status is 200 OK - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get SLO report status returns "Bad Request" response Given operation "GetSLOReportJobStatus" enabled And new "GetSLOReportJobStatus" request @@ -62,7 +62,7 @@ Feature: Service Level Objectives When the request is sent Then the response status is 400 Bad Request - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get SLO report status returns "Not Found" response Given operation "GetSLOReportJobStatus" enabled And new "GetSLOReportJobStatus" request @@ -70,7 +70,7 @@ Feature: Service Level Objectives When the request is sent Then the response status is 404 Not Found - @team:DataDog/slo-app + @team:DataDog/slo-app @team:DataDog/web-frameworks-approvers Scenario: Get SLO report status returns "OK" response Given operation "GetSLOReportJobStatus" enabled And new "GetSLOReportJobStatus" request diff --git a/features/v2/service_scorecards.feature b/features/v2/service_scorecards.feature index 11d2c7f43287..ef5518b98336 100644 --- a/features/v2/service_scorecards.feature +++ b/features/v2/service_scorecards.feature @@ -10,7 +10,7 @@ Feature: Service Scorecards And a valid "appKeyAuth" key in the system And an instance of "ServiceScorecards" API - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create a new rule returns "Bad Request" response Given operation "CreateScorecardRule" enabled And new "CreateScorecardRule" request @@ -18,7 +18,7 @@ Feature: Service Scorecards When the request is sent Then the response status is 400 Bad Request - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create a new rule returns "Created" response Given operation "CreateScorecardRule" enabled And new "CreateScorecardRule" request @@ -28,7 +28,7 @@ Feature: Service Scorecards And the response "data.attributes.scorecard_name" is equal to "Observability Best Practices" And the response "data.relationships.scorecard.data" has field "id" - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create outcomes batch returns "Bad Request" response Given there is a valid "create_scorecard_rule" in the system And operation "CreateScorecardOutcomesBatch" enabled @@ -37,7 +37,7 @@ Feature: Service Scorecards When the request is sent Then the response status is 400 Bad Request - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create outcomes batch returns "OK" response Given there is a valid "create_scorecard_rule" in the system And operation "CreateScorecardOutcomesBatch" enabled @@ -46,7 +46,7 @@ Feature: Service Scorecards When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Delete a rule returns "Bad Request" response Given operation "DeleteScorecardRule" enabled And new "DeleteScorecardRule" request @@ -54,7 +54,7 @@ Feature: Service Scorecards When the request is sent Then the response status is 400 Bad Request - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Delete a rule returns "Not Found" response Given operation "DeleteScorecardRule" enabled And new "DeleteScorecardRule" request @@ -62,7 +62,7 @@ Feature: Service Scorecards When the request is sent Then the response status is 404 Not Found - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Delete a rule returns "OK" response Given operation "DeleteScorecardRule" enabled And there is a valid "create_scorecard_rule" in the system @@ -71,21 +71,21 @@ Feature: Service Scorecards When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: List all rule outcomes returns "Bad Request" response Given operation "ListScorecardOutcomes" enabled And new "ListScorecardOutcomes" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: List all rule outcomes returns "OK" response Given operation "ListScorecardOutcomes" enabled And new "ListScorecardOutcomes" request When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/service-catalog @with-pagination + @replay-only @skip-validation @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers @with-pagination Scenario: List all rule outcomes returns "OK" response with pagination Given operation "ListScorecardOutcomes" enabled And new "ListScorecardOutcomes" request @@ -96,21 +96,21 @@ Feature: Service Scorecards Then the response status is 200 OK And the response has 2 items - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: List all rules returns "Bad Request" response Given operation "ListScorecardRules" enabled And new "ListScorecardRules" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: List all rules returns "OK" response Given operation "ListScorecardRules" enabled And new "ListScorecardRules" request When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/service-catalog @with-pagination + @replay-only @skip-validation @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers @with-pagination Scenario: List all rules returns "OK" response with pagination Given operation "ListScorecardRules" enabled And new "ListScorecardRules" request @@ -121,7 +121,7 @@ Feature: Service Scorecards Then the response status is 200 OK And the response has 4 items - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Update an existing rule returns "Bad Request" response Given operation "UpdateScorecardRule" enabled And new "UpdateScorecardRule" request @@ -130,7 +130,7 @@ Feature: Service Scorecards When the request is sent Then the response status is 400 Bad Request - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Update an existing rule returns "Rule updated successfully" response Given operation "UpdateScorecardRule" enabled And there is a valid "create_scorecard_rule" in the system diff --git a/features/v2/software_catalog.feature b/features/v2/software_catalog.feature index 1dd3e479bb93..074bc882f536 100644 --- a/features/v2/software_catalog.feature +++ b/features/v2/software_catalog.feature @@ -7,28 +7,28 @@ Feature: Software Catalog And a valid "appKeyAuth" key in the system And an instance of "SoftwareCatalog" API - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create or update entities returns "ACCEPTED" response Given new "UpsertCatalogEntity" request And body with value {"apiVersion": "v3", "datadog": {"codeLocations": [{"paths": []}], "events": [{}], "logs": [{}], "performanceData": {"tags": []}, "pipelines": {"fingerprints": []}}, "integrations": {"opsgenie": {"serviceURL": "https://www.opsgenie.com/service/shopping-cart"}, "pagerduty": {"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"}}, "kind": "service", "metadata": {"additionalOwners": [], "contacts": [{"contact": "https://slack/", "type": "slack"}], "id": "4b163705-23c0-4573-b2fb-f6cea2163fcb", "inheritFrom": "application:default/myapp", "links": [{"name": "mylink", "type": "link", "url": "https://mylink"}], "name": "myService", "namespace": "default", "tags": ["this:tag", "that:tag"]}, "spec": {"dependsOn": [], "languages": []}} When the request is sent Then the response status is 202 ACCEPTED - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create or update entities returns "Bad Request" response Given new "UpsertCatalogEntity" request And body with value {"apiVersion": "v3", "datadog": {"codeLocations": [{"paths": []}], "events": [{}], "logs": [{}], "performanceData": {"tags": []}, "pipelines": {"fingerprints": []}}, "integrations": {"opsgenie": {"serviceURL": "https://www.opsgenie.com/service/shopping-cart"}, "pagerduty": {"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"}}, "kind": "service", "metadata": {"additionalOwners": [], "contacts": [{"contact": "https://slack/", "type": "slack"}], "id": "4b163705-23c0-4573-b2fb-f6cea2163fcb", "inheritFrom": "application:default/myapp", "links": [{"name": "mylink", "type": "link", "url": "https://mylink"}], "name": "myService", "namespace": "default", "tags": ["this:tag", "that:tag"]}, "spec": {"dependsOn": [], "languages": []}} When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/service-catalog + @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create or update entities without metadata name returns "Internal Server Error" response Given new "UpsertCatalogEntity" request And body with value {"apiVersion": "v3", "datadog": {"codeLocations": [{"paths": []}], "events": [{}], "logs": [{}], "performanceData": {"tags": []}, "pipelines": {"fingerprints": []}}, "integrations": {"opsgenie": {"serviceURL": "https://www.opsgenie.com/service/shopping-cart"}, "pagerduty": {"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"}}, "kind": "service", "metadata": {"additionalOwners": [], "contacts": [{"contact": "https://slack/", "type": "slack"}], "id": "4b163705-23c0-4573-b2fb-f6cea2163fcb", "inheritFrom": "application:default/myapp", "links": [{"name": "mylink", "type": "link", "url": "https://mylink"}], "tags": ["this:tag", "that:tag"]}, "spec": {"dependsOn": [], "languages": []}} When the request is sent Then the response status is 500 Internal Server Error - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Create or update software catalog entity using schema v3 returns "ACCEPTED" response Given new "UpsertCatalogEntity" request And body with value {"apiVersion": "v3", "datadog": {"codeLocations": [{"paths": []}], "events": [{}], "logs": [{}], "performanceData": {"tags": []}, "pipelines": {"fingerprints": []}}, "integrations": {"opsgenie": {"serviceURL": "https://www.opsgenie.com/service/shopping-cart"}, "pagerduty": {"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"}}, "kind": "service", "metadata": {"additionalOwners": [], "contacts": [{"contact": "https://slack/", "type": "slack"}], "id": "4b163705-23c0-4573-b2fb-f6cea2163fcb", "inheritFrom": "application:default/myapp", "links": [{"name": "mylink", "type": "link", "url": "https://mylink"}], "name": "service-{{ unique_lower_alnum }}", "tags": ["this:tag", "that:tag"]}, "spec": {"dependsOn": [], "languages": []}} @@ -38,28 +38,28 @@ Feature: Software Catalog And the response "data[0].attributes.kind" is equal to "service" And the response "data[0].attributes.name" is equal to "service-{{ unique_lower_alnum }}" - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Delete a single entity returns "Bad Request" response Given new "DeleteCatalogEntity" request And request contains "entity_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Delete a single entity returns "Not Found" response Given new "DeleteCatalogEntity" request And request contains "entity_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/service-catalog + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Delete a single entity returns "OK" response Given new "DeleteCatalogEntity" request And request contains "entity_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 OK - @skip @team:DataDog/service-catalog + @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Delete an entity returns "Not Found" response Given new "DeleteCatalogEntity" request And request contains "entity_id" parameter with value "service:not-a-service" @@ -67,13 +67,13 @@ Feature: Software Catalog Then the response status is 404 Not Found And the response "errors[0]" is equal to "Not Found" - @team:DataDog/service-catalog + @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers Scenario: Get a list of entities returns "OK" response Given new "ListCatalogEntity" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/service-catalog @with-pagination + @generated @skip @team:DataDog/service-catalog @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get a list of entities returns "OK" response with pagination Given new "ListCatalogEntity" request When the request with pagination is sent diff --git a/features/v2/spans.feature b/features/v2/spans.feature index bd1cfba58a79..6ad6a81a2ea1 100644 --- a/features/v2/spans.feature +++ b/features/v2/spans.feature @@ -7,14 +7,14 @@ Feature: Spans And a valid "appKeyAuth" key in the system And an instance of "Spans" API - @skip @team:DataDog/apm + @skip @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Aggregate spans returns "Bad Request" response Given new "AggregateSpans" request And body with value {"compute": [{"aggregation": "pc90", "interval": "5m", "metric": "@duration", "type": "total"}], "filter": {"from": "now-15m", "query": "service:web* AND @http.status_code:[200 TO 299]", "to": "now"}, "group_by": [{"facet": "host", "histogram": {"interval": 10, "max": 100, "min": 50}, "limit": 10, "sort": {"aggregation": "count", "order": "asc"}, "total": false}], "options": {"timezone": "GMT"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/apm + @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Aggregate spans returns "OK" response Given new "AggregateSpans" request And body with value {"data":{"attributes": {"compute": [{"aggregation": "count", "interval": "5m", "type": "timeseries"}],"filter": {"from": "now-15m", "query": "*", "to": "now"}},"type":"aggregate_request"}} @@ -22,20 +22,20 @@ Feature: Spans Then the response status is 200 OK And the response "meta.status" is equal to "done" - @generated @skip @team:DataDog/apm + @generated @skip @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Get a list of spans returns "Bad Request." response Given new "ListSpansGet" request When the request is sent Then the response status is 400 Bad Request. - @replay-only @team:DataDog/apm + @replay-only @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Get a list of spans returns "OK" response Given new "ListSpansGet" request When the request is sent Then the response status is 200 OK And the response "data[0].type" is equal to "spans" - @replay-only @skip-validation @team:DataDog/apm @with-pagination + @replay-only @skip-validation @team:DataDog/apm @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get a list of spans returns "OK" response with pagination Given new "ListSpansGet" request And request contains "page[limit]" parameter with value 2 @@ -43,7 +43,7 @@ Feature: Spans Then the response status is 200 OK And the response has 3 items - @team:DataDog/apm + @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Get a list of spans returns "Unprocessable Entity." response Given new "ListSpansGet" request And request contains "filter[from]" parameter with value "now" @@ -51,14 +51,14 @@ Feature: Spans When the request is sent Then the response status is 422 Unprocessable Entity. - @skip @team:DataDog/apm + @skip @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Search spans returns "Bad Request." response Given new "ListSpans" request And body with value {"filter": {"from": "now-15m", "query": "service:web*", "to": "now"}, "options": {"timezone": "GMT"}, "page": {"cursor": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==", "limit": 25}, "sort": "timestamp"} When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/apm + @replay-only @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Search spans returns "OK" response Given new "ListSpans" request And body with value {"data": {"attributes": {"filter": {"from": "now-15m", "query": "*", "to": "now"}, "options": {"timezone": "GMT"}, "page": {"limit": 25}, "sort": "timestamp"}, "type": "search_request"}} @@ -66,7 +66,7 @@ Feature: Spans Then the response status is 200 OK And the response "data[0].type" is equal to "spans" - @replay-only @skip-validation @team:DataDog/apm @with-pagination + @replay-only @skip-validation @team:DataDog/apm @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Search spans returns "OK" response with pagination Given new "ListSpans" request And body with value {"data": {"attributes": {"filter": {"from": "now-15m", "query": "service:python*", "to": "now"}, "options": {"timezone": "GMT"}, "page": {"limit": 2}, "sort": "timestamp"}, "type": "search_request"}} @@ -74,7 +74,7 @@ Feature: Spans Then the response status is 200 OK And the response has 3 items - @team:DataDog/apm + @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Search spans returns "Unprocessable Entity." response Given new "ListSpans" request And body with value {"data": {"attributes": {"filter": {"from": "now", "query": "service:web* AND @http.status_code:[200 TO 299]", "to": "now-15m"}, "options": {"timezone": "GMT"}, "page": {"limit": 10}, "sort": "timestamp"}, "type": "search_request"}} diff --git a/features/v2/spans_metrics.feature b/features/v2/spans_metrics.feature index 9de01b47e5f6..06ceec3930fd 100644 --- a/features/v2/spans_metrics.feature +++ b/features/v2/spans_metrics.feature @@ -10,21 +10,21 @@ Feature: Spans Metrics And a valid "appKeyAuth" key in the system And an instance of "SpansMetrics" API - @generated @skip @team:DataDog/apm + @generated @skip @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Create a span-based metric returns "Bad Request" response Given new "CreateSpansMetric" request And body with value {"data": {"attributes": {"compute": {"aggregation_type": "distribution", "include_percentiles": false, "path": "@duration"}, "filter": {"query": "@http.status_code:200 service:my-service"}, "group_by": [{"path": "resource_name", "tag_name": "resource_name"}]}, "id": "my.metric", "type": "spans_metrics"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/apm + @generated @skip @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Create a span-based metric returns "Conflict" response Given new "CreateSpansMetric" request And body with value {"data": {"attributes": {"compute": {"aggregation_type": "distribution", "include_percentiles": false, "path": "@duration"}, "filter": {"query": "@http.status_code:200 service:my-service"}, "group_by": [{"path": "resource_name", "tag_name": "resource_name"}]}, "id": "my.metric", "type": "spans_metrics"}} When the request is sent Then the response status is 409 Conflict - @team:DataDog/apm + @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Create a span-based metric returns "OK" response Given new "CreateSpansMetric" request And body with value {"data": {"attributes": {"compute": {"aggregation_type": "distribution", "include_percentiles": false, "path": "@duration"}, "filter": {"query": "@http.status_code:200 service:my-service"}, "group_by": [{"path": "resource_name", "tag_name": "resource_name"}]}, "id": "{{ unique_alnum }}", "type": "spans_metrics"}} @@ -34,14 +34,14 @@ Feature: Spans Metrics And the response "data.type" is equal to "spans_metrics" And the response "data.attributes.compute.aggregation_type" is equal to "distribution" - @generated @skip @team:DataDog/apm + @generated @skip @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Delete a span-based metric returns "Not Found" response Given new "DeleteSpansMetric" request And request contains "metric_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/apm + @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Delete a span-based metric returns "OK" response Given there is a valid "spans_metric" in the system And new "DeleteSpansMetric" request @@ -49,14 +49,14 @@ Feature: Spans Metrics When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/apm + @generated @skip @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Get a span-based metric returns "Not Found" response Given new "GetSpansMetric" request And request contains "metric_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found - @team:DataDog/apm + @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Get a span-based metric returns "OK" response Given there is a valid "spans_metric" in the system And new "GetSpansMetric" request @@ -65,7 +65,7 @@ Feature: Spans Metrics Then the response status is 200 OK And the response "data.attributes.filter.query" has the same value as "spans_metric.data.attributes.filter.query" - @team:DataDog/apm + @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Get all span-based metrics returns "OK" response Given there is a valid "spans_metric" in the system And new "ListSpansMetrics" request @@ -73,7 +73,7 @@ Feature: Spans Metrics Then the response status is 200 OK And the response "data[0].type" is equal to "spans_metrics" - @generated @skip @team:DataDog/apm + @generated @skip @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Update a span-based metric returns "Bad Request" response Given new "UpdateSpansMetric" request And request contains "metric_id" parameter from "REPLACE.ME" @@ -81,7 +81,7 @@ Feature: Spans Metrics When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/apm + @generated @skip @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Update a span-based metric returns "Not Found" response Given new "UpdateSpansMetric" request And request contains "metric_id" parameter from "REPLACE.ME" @@ -89,7 +89,7 @@ Feature: Spans Metrics When the request is sent Then the response status is 404 Not Found - @team:DataDog/apm + @team:DataDog/apm @team:DataDog/web-frameworks-approvers Scenario: Update a span-based metric returns "OK" response Given there is a valid "spans_metric" in the system And new "UpdateSpansMetric" request diff --git a/features/v2/synthetics.feature b/features/v2/synthetics.feature index bd6d494c08ab..b4d754362f4a 100644 --- a/features/v2/synthetics.feature +++ b/features/v2/synthetics.feature @@ -14,13 +14,13 @@ Feature: Synthetics And a valid "appKeyAuth" key in the system And an instance of "Synthetics" API - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Get the on-demand concurrency cap returns "OK" response Given new "GetOnDemandConcurrencyCap" request When the request is sent Then the response status is 200 OK - @team:DataDog/synthetics-ct + @team:DataDog/synthetics-ct @team:DataDog/web-frameworks-approvers Scenario: Save new value for on-demand concurrency cap returns "OK" response Given new "SetOnDemandConcurrencyCap" request And body with value {"on_demand_concurrency_cap": 20} diff --git a/features/v2/teams.feature b/features/v2/teams.feature index 5d4069034c9a..b4161a160eb9 100644 --- a/features/v2/teams.feature +++ b/features/v2/teams.feature @@ -9,7 +9,7 @@ Feature: Teams And a valid "appKeyAuth" key in the system And an instance of "Teams" API - @generated @skip @team:DataDog/core-app + @generated @skip @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Add a user to a team returns "API error response." response Given new "CreateTeamMembership" request And request contains "team_id" parameter from "REPLACE.ME" @@ -17,7 +17,7 @@ Feature: Teams When the request is sent Then the response status is 409 API error response. - @generated @skip @team:DataDog/core-app + @generated @skip @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Add a user to a team returns "Represents a user's association to a team" response Given new "CreateTeamMembership" request And request contains "team_id" parameter from "REPLACE.ME" @@ -25,7 +25,7 @@ Feature: Teams When the request is sent Then the response status is 200 Represents a user's association to a team - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Create a team link returns "API error response." response Given new "CreateTeamLink" request And there is a valid "dd_team" in the system @@ -34,7 +34,7 @@ Feature: Teams When the request is sent Then the response status is 422 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Create a team link returns "OK" response Given new "CreateTeamLink" request And there is a valid "dd_team" in the system @@ -46,7 +46,7 @@ Feature: Teams And the response "data.attributes.url" is equal to "https://example.com" And the response "data.attributes.position" is equal to 0 - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Create a team returns "API error response." response Given new "CreateTeam" request And there is a valid "dd_team" in the system @@ -54,7 +54,7 @@ Feature: Teams When the request is sent Then the response status is 409 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Create a team returns "CREATED" response Given new "CreateTeam" request And body with value {"data": {"attributes": {"handle": "test-handle-{{ unique_hash }}", "name": "test-name-{{ unique_hash }}"}, "relationships": {"users": {"data": []}}, "type": "team"}} @@ -64,7 +64,7 @@ Feature: Teams And the response "data.attributes.handle" is equal to "test-handle-{{ unique_hash }}" And the response "data.attributes.name" is equal to "test-name-{{ unique_hash }}" - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Create a team with V2 fields returns "CREATED" response Given new "CreateTeam" request And body with value {"data": {"attributes": {"handle": "test-handle-{{ unique_hash }}","name": "test-name-{{ unique_hash }}", "avatar": "🥑", "banner": 7, "visible_modules": ["m1","m2"], "hidden_modules": ["m3"]}, "type": "team"}} @@ -78,7 +78,7 @@ Feature: Teams And the response "data.attributes.visible_modules" is equal to ["m1","m2"] And the response "data.attributes.hidden_modules" is equal to ["m3"] - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get a team link returns "API error response." response Given new "GetTeamLink" request And there is a valid "dd_team" in the system @@ -87,7 +87,7 @@ Feature: Teams When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get a team link returns "OK" response Given new "GetTeamLink" request And there is a valid "dd_team" in the system @@ -97,14 +97,14 @@ Feature: Teams When the request is sent Then the response status is 200 OK - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get a team returns "API error response." response Given new "GetTeam" request And request contains "team_id" parameter with value "REPLACE.ME" When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get a team returns "OK" response Given new "GetTeam" request And there is a valid "dd_team" in the system @@ -112,7 +112,7 @@ Feature: Teams When the request is sent Then the response status is 200 OK - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get all teams returns "OK" response Given new "ListTeams" request And there is a valid "dd_team" in the system @@ -120,7 +120,7 @@ Feature: Teams Then the response status is 200 OK And the response "data" has item with field "id" with value "{{ dd_team.data.id }}" - @replay-only @skip-validation @team:DataDog/core-app @with-pagination + @replay-only @skip-validation @team:DataDog/core-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get all teams returns "OK" response with pagination Given new "ListTeams" request And request contains "page[size]" parameter with value 2 @@ -128,7 +128,7 @@ Feature: Teams Then the response status is 200 OK And the response has 3 items - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get all teams with fields_team parameter returns "OK" response Given new "ListTeams" request And there is a valid "dd_team" in the system @@ -139,14 +139,14 @@ Feature: Teams And the response "data[0].attributes" has field "name" And the response "data[0].attributes" has field "handle" - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get links for a team returns "API error response." response Given new "GetTeamLinks" request And request contains "team_id" parameter with value "REPLACE.ME" When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get links for a team returns "OK" response Given new "GetTeamLinks" request And there is a valid "dd_team" in the system @@ -154,14 +154,14 @@ Feature: Teams When the request is sent Then the response status is 200 OK - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get permission settings for a team returns "API error response." response Given new "GetTeamPermissionSettings" request And request contains "team_id" parameter with value "REPLACE.ME" When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get permission settings for a team returns "OK" response Given new "GetTeamPermissionSettings" request And there is a valid "dd_team" in the system @@ -169,14 +169,14 @@ Feature: Teams When the request is sent Then the response status is 200 OK - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get team memberships returns "API error response." response Given new "GetTeamMemberships" request And request contains "team_id" parameter with value "REPLACE.ME" When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get team memberships returns "Represents a user's association to a team" response Given new "GetTeamMemberships" request And there is a valid "dd_team" in the system @@ -184,7 +184,7 @@ Feature: Teams When the request is sent Then the response status is 200 Represents a user's association to a team - @replay-only @skip-validation @team:DataDog/core-app @with-pagination + @replay-only @skip-validation @team:DataDog/core-app @team:DataDog/web-frameworks-approvers @with-pagination Scenario: Get team memberships returns "Represents a user's association to a team" response with pagination Given new "GetTeamMemberships" request And request contains "team_id" parameter with value "2e06bf2c-193b-41d4-b3c2-afccc080458f" @@ -193,14 +193,14 @@ Feature: Teams Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/core-app + @generated @skip @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get user memberships returns "API error response." response Given new "GetUserMemberships" request And request contains "user_uuid" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Get user memberships returns "Represents a user's association to a team" response Given new "GetUserMemberships" request And there is a valid "user" in the system @@ -209,7 +209,7 @@ Feature: Teams Then the response status is 200 Represents a user's association to a team And the response "data" has length 0 - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Remove a team link returns "API error response." response Given new "DeleteTeamLink" request And there is a valid "dd_team" in the system @@ -218,7 +218,7 @@ Feature: Teams When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Remove a team link returns "No Content" response Given new "DeleteTeamLink" request And there is a valid "dd_team" in the system @@ -228,14 +228,14 @@ Feature: Teams When the request is sent Then the response status is 204 No Content - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Remove a team returns "API error response." response Given new "DeleteTeam" request And request contains "team_id" parameter with value "REPLACE.ME" When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Remove a team returns "No Content" response Given new "DeleteTeam" request And there is a valid "dd_team" in the system @@ -243,7 +243,7 @@ Feature: Teams When the request is sent Then the response status is 204 No Content - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Remove a user from a team returns "API error response." response Given new "DeleteTeamMembership" request And there is a valid "dd_team" in the system @@ -252,7 +252,7 @@ Feature: Teams When the request is sent Then the response status is 404 API error response. - @skip @team:DataDog/core-app + @skip @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Remove a user from a team returns "No Content" response Given new "DeleteTeamMembership" request And there is a valid "dd_team" in the system @@ -261,7 +261,7 @@ Feature: Teams When the request is sent Then the response status is 204 No Content - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Update a team link returns "API error response." response Given new "UpdateTeamLink" request And there is a valid "dd_team" in the system @@ -271,7 +271,7 @@ Feature: Teams When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Update a team link returns "OK" response Given new "UpdateTeamLink" request And there is a valid "dd_team" in the system @@ -286,7 +286,7 @@ Feature: Teams And the response "data.attributes.label" is equal to "New Label" And the response "data.attributes.url" is equal to "https://example.com" - @generated @skip @team:DataDog/core-app + @generated @skip @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Update a team returns "API error response." response Given new "UpdateTeam" request And request contains "team_id" parameter from "REPLACE.ME" @@ -294,7 +294,7 @@ Feature: Teams When the request is sent Then the response status is 409 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Update a team returns "OK" response Given new "UpdateTeam" request And there is a valid "dd_team" in the system @@ -310,7 +310,7 @@ Feature: Teams And the response "data.attributes.hidden_modules" is equal to ["m3"] And the response "data.attributes.visible_modules" is equal to ["m1", "m2"] - @generated @skip @team:DataDog/core-app + @generated @skip @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Update a user's membership attributes on a team returns "API error response." response Given new "UpdateTeamMembership" request And request contains "team_id" parameter from "REPLACE.ME" @@ -319,7 +319,7 @@ Feature: Teams When the request is sent Then the response status is 404 API error response. - @generated @skip @team:DataDog/core-app + @generated @skip @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Update a user's membership attributes on a team returns "Represents a user's association to a team" response Given new "UpdateTeamMembership" request And request contains "team_id" parameter from "REPLACE.ME" @@ -328,7 +328,7 @@ Feature: Teams When the request is sent Then the response status is 200 Represents a user's association to a team - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Update a user's role on a team returns "API error response." response Given new "UpdateTeamMembership" request And there is a valid "dd_team" in the system @@ -338,7 +338,7 @@ Feature: Teams When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Update permission setting for team returns "API error response." response Given new "UpdateTeamPermissionSetting" request And there is a valid "dd_team" in the system @@ -348,7 +348,7 @@ Feature: Teams When the request is sent Then the response status is 404 API error response. - @team:DataDog/core-app + @team:DataDog/core-app @team:DataDog/web-frameworks-approvers Scenario: Update permission setting for team returns "OK" response Given new "UpdateTeamPermissionSetting" request And there is a valid "dd_team" in the system diff --git a/features/v2/usage_metering.feature b/features/v2/usage_metering.feature index 715f443eee3c..3c28ef9b2a0b 100644 --- a/features/v2/usage_metering.feature +++ b/features/v2/usage_metering.feature @@ -14,7 +14,7 @@ Feature: Usage Metering And a valid "appKeyAuth" key in the system And an instance of "UsageMetering" API - @replay-only @team:DataDog/revenue-query + @replay-only @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get Monthly Cost Attribution returns "Bad Request" response Given new "GetMonthlyCostAttribution" request And request contains "start_month" parameter with value "{{ timeISO('now - 5d') }}" @@ -23,7 +23,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/revenue-query + @replay-only @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get Monthly Cost Attribution returns "OK" response Given new "GetMonthlyCostAttribution" request And request contains "start_month" parameter with value "{{ timeISO('now - 5d') }}" @@ -32,64 +32,64 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get active billing dimensions for cost attribution returns "Bad Request" response Given new "GetActiveBillingDimensions" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get active billing dimensions for cost attribution returns "OK" response Given new "GetActiveBillingDimensions" request When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get billing dimension mapping for usage endpoints returns "Bad Request" response Given new "GetBillingDimensionMapping" request When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/revenue-query + @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get billing dimension mapping for usage endpoints returns "OK" response Given new "GetBillingDimensionMapping" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get cost across multi-org account returns "Bad Request" response Given new "GetCostByOrg" request And request contains "start_month" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/revenue-query + @replay-only @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get cost across multi-org account returns "OK" response Given new "GetCostByOrg" request And request contains "start_month" parameter with value "{{ timeISO('now - 3d') }}" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get estimated cost across your account returns "Bad Request" response Given new "GetEstimatedCostByOrg" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get estimated cost across your account returns "OK" response Given new "GetEstimatedCostByOrg" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get historical cost across your account returns "Bad Request" response Given new "GetHistoricalCostByOrg" request And request contains "start_month" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/revenue-query + @replay-only @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get historical cost across your account returns "OK" response Given new "GetHistoricalCostByOrg" request And request contains "start_month" parameter with value "{{ timeISO('now - 2M') }}" @@ -97,7 +97,7 @@ Feature: Usage Metering When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage by product family returns "Bad Request" response Given new "GetHourlyUsage" request And request contains "filter[timestamp][start]" parameter with value "{{ timeISO('now - 3d') }}" @@ -106,7 +106,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage by product family returns "OK" response Given new "GetHourlyUsage" request And request contains "filter[timestamp][start]" parameter with value "{{ timeISO('now - 3d') }}" @@ -116,7 +116,7 @@ Feature: Usage Metering And the response "data[0].type" is equal to "usage_timeseries" And the response "data[0].attributes.region" is equal to "us" - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Application Security returns "Bad Request" response Given new "GetUsageApplicationSecurityMonitoring" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -124,7 +124,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Lambda traced invocations returns "Bad Request" response Given new "GetUsageLambdaTracedInvocations" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -132,7 +132,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Lambda traced invocations returns "OK" response Given new "GetUsageLambdaTracedInvocations" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -142,7 +142,7 @@ Feature: Usage Metering And the response "data[0].type" is equal to "usage_timeseries" And the response "data[0].attributes.product_family" is equal to "lambda-traced-invocations" - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for Observability Pipelines returns "Bad Request" response Given new "GetUsageObservabilityPipelines" request And request contains "start_hr" parameter with value "{{ timeISO('now - 3d') }}" @@ -150,14 +150,14 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for application security returns "Bad Request" response Given new "GetUsageApplicationSecurityMonitoring" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for application security returns "OK" response Given new "GetUsageApplicationSecurityMonitoring" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -167,14 +167,14 @@ Feature: Usage Metering And the response "data[0].type" is equal to "usage_timeseries" And the response "data[0].attributes.product_family" is equal to "app-sec" - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for observability pipelines returns "Bad Request" response Given new "GetUsageObservabilityPipelines" request And request contains "start_hr" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get hourly usage for observability pipelines returns "OK" response Given new "GetUsageObservabilityPipelines" request And request contains "start_hr" parameter with value "{{ timeISO('now - 5d') }}" @@ -184,20 +184,20 @@ Feature: Usage Metering And the response "data[0].type" is equal to "usage_timeseries" And the response "data[0].attributes.product_family" is equal to "observability-pipelines" - @generated @skip @team:DataDog/revenue-query + @generated @skip @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get projected cost across your account returns "Bad Request" response Given new "GetProjectedCost" request When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/revenue-query + @replay-only @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: Get projected cost across your account returns "OK" response Given new "GetProjectedCost" request And request contains "view" parameter with value "sub-org" When the request is sent Then the response status is 200 OK - @team:DataDog/revenue-query + @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: GetEstimatedCostByOrg with both start_month and start_date returns "Bad Request" response Given new "GetEstimatedCostByOrg" request And request contains "view" parameter with value "sub-org" @@ -206,7 +206,7 @@ Feature: Usage Metering When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/revenue-query + @replay-only @team:DataDog/revenue-query @team:DataDog/web-frameworks-approvers Scenario: GetEstimatedCostByOrg with start_month returns "OK" response Given new "GetEstimatedCostByOrg" request And request contains "view" parameter with value "sub-org" diff --git a/features/v2/users.feature b/features/v2/users.feature index ce27d729985f..190e1c83eb7b 100644 --- a/features/v2/users.feature +++ b/features/v2/users.feature @@ -7,14 +7,14 @@ Feature: Users And a valid "appKeyAuth" key in the system And an instance of "Users" API - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create a user returns "Bad Request" response Given new "CreateUser" request And body with value {"data": {"attributes": {"email": "jane.doe@example.com"}, "relationships": {"roles": {"data": [{"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d", "type": "roles"}]}}, "type": "users"}} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Create a user returns "OK" response Given new "CreateUser" request And body with value {"data": {"type": "users", "attributes": {"name": "Datadog API Client Python", "email": "{{ unique }}@datadoghq.com"}}} @@ -25,14 +25,14 @@ Feature: Users And the response "data.attributes.disabled" is false And the response "data.attributes.service_account" is false - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Disable a user returns "Not found" response Given new "DisableUser" request And request contains "user_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Disable a user returns "OK" response Given there is a valid "user" in the system And new "DisableUser" request @@ -40,14 +40,14 @@ Feature: Users When the request is sent Then the response status is 204 OK - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get a user invitation returns "Not found" response Given new "GetInvitation" request And request contains "user_invitation_uuid" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get a user invitation returns "OK" response Given there is a valid "user" in the system And the "user" has a "user_invitation" @@ -58,28 +58,28 @@ Feature: Users And the response "data.attributes.invite_type" is equal to "openid_invite" And the response "data.attributes.uuid" is equal to "{{user_invitation.id}}" - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get a user organization returns "Not found" response Given new "ListUserOrganizations" request And request contains "user_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get a user organization returns "OK" response Given new "ListUserOrganizations" request And request contains "user_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get a user permissions returns "Not found" response Given new "ListUserPermissions" request And request contains "user_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get a user permissions returns "OK" response Given there is a valid "user" in the system And new "ListUserPermissions" request @@ -88,14 +88,14 @@ Feature: Users Then the response status is 200 OK And the response "data" has length 0 - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get user details returns "Not found" response Given new "GetUser" request And request contains "user_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not found - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Get user details returns "OK" response Given there is a valid "user" in the system And new "GetUser" request @@ -106,13 +106,13 @@ Feature: Users And the response "data.type" is equal to "users" And the response "data.attributes.handle" is equal to "{{ unique_lower }}@datadoghq.com" - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: List all users returns "Bad Request" response Given new "ListUsers" request When the request is sent Then the response status is 400 Bad Request - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: List all users returns "OK" response Given there is a valid "user" in the system And new "ListUsers" request @@ -122,7 +122,7 @@ Feature: Users And the response "meta.page.total_filtered_count" is equal to 1 And the response "data[0].attributes.email" has the same value as "user.data.attributes.email" - @replay-only @skip-validation @team:DataDog/team-aaa-identity @with-pagination + @replay-only @skip-validation @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers @with-pagination Scenario: List all users returns "OK" response with pagination Given new "ListUsers" request And request contains "page[size]" parameter with value 2 @@ -130,14 +130,14 @@ Feature: Users Then the response status is 200 OK And the response has 3 items - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Send invitation emails returns "Bad Request" response Given new "SendInvitations" request And body with value {"data": []} When the request is sent Then the response status is 400 Bad Request - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Send invitation emails returns "OK" response Given there is a valid "user" in the system And new "SendInvitations" request @@ -147,7 +147,7 @@ Feature: Users And the response "data" has length 1 And the response "data[0].attributes.invite_type" is equal to "openid_invite" - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a user returns "Bad Request" response Given new "UpdateUser" request And request contains "user_id" parameter from "REPLACE.ME" @@ -155,7 +155,7 @@ Feature: Users When the request is sent Then the response status is 400 Bad Request - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a user returns "Bad User ID in Request" response Given there is a valid "user" in the system And new "UpdateUser" request @@ -164,7 +164,7 @@ Feature: Users When the request is sent Then the response status is 422 Bad User ID in Request - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a user returns "Not found" response Given new "UpdateUser" request And request contains "user_id" parameter with value "00000000-dead-beef-dead-ffffffffffff" @@ -172,7 +172,7 @@ Feature: Users When the request is sent Then the response status is 404 Not found - @team:DataDog/team-aaa-identity + @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a user returns "OK" response Given there is a valid "user" in the system And new "UpdateUser" request @@ -185,7 +185,7 @@ Feature: Users And the response "data.attributes.name" is equal to "updated" And the response "data.attributes.disabled" is equal to true - @generated @skip @team:DataDog/team-aaa-identity + @generated @skip @team:DataDog/team-aaa-identity @team:DataDog/web-frameworks-approvers Scenario: Update a user returns "Unprocessable Entity" response Given new "UpdateUser" request And request contains "user_id" parameter from "REPLACE.ME" diff --git a/features/v2/workflow_automation.feature b/features/v2/workflow_automation.feature index fe979f72dd02..746c8b38972b 100644 --- a/features/v2/workflow_automation.feature +++ b/features/v2/workflow_automation.feature @@ -8,7 +8,7 @@ Feature: Workflow Automation And a valid "appKeyAuth" key in the system And an instance of "WorkflowAutomation" API - @replay-only @team:DataDog/workflow-automation-dev + @replay-only @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Cancel a workflow instance returns "Bad Request" response Given new "CancelWorkflowInstance" request And request contains "workflow_id" parameter with value "malformed" @@ -16,7 +16,7 @@ Feature: Workflow Automation When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/workflow-automation-dev + @replay-only @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Cancel a workflow instance returns "Not Found" response Given new "CancelWorkflowInstance" request And request contains "workflow_id" parameter with value "0233a3b7-b7ba-425e-a8cc-375ca2020b5b" @@ -24,7 +24,7 @@ Feature: Workflow Automation When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/workflow-automation-dev + @replay-only @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Cancel a workflow instance returns "OK" response Given new "CancelWorkflowInstance" request And request contains "workflow_id" parameter with value "ccf73164-1998-4785-a7a3-8d06c7e5f558" @@ -32,7 +32,7 @@ Feature: Workflow Automation When the request is sent Then the response status is 200 OK - @replay-only @team:DataDog/workflow-automation-dev + @replay-only @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Execute a workflow returns "Bad Request" response Given new "CreateWorkflowInstance" request And request contains "workflow_id" parameter with value "malformed" @@ -40,7 +40,7 @@ Feature: Workflow Automation When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/workflow-automation-dev + @replay-only @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Execute a workflow returns "Created" response Given new "CreateWorkflowInstance" request And request contains "workflow_id" parameter with value "ccf73164-1998-4785-a7a3-8d06c7e5f558" @@ -48,7 +48,7 @@ Feature: Workflow Automation When the request is sent Then the response status is 200 Created - @replay-only @team:DataDog/workflow-automation-dev + @replay-only @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Get a workflow instance returns "Bad Request" response Given new "GetWorkflowInstance" request And request contains "workflow_id" parameter with value "malformed" @@ -56,7 +56,7 @@ Feature: Workflow Automation When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/workflow-automation-dev + @replay-only @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Get a workflow instance returns "Not Found" response Given new "GetWorkflowInstance" request And request contains "workflow_id" parameter with value "0233a3b7-b7ba-425e-a8cc-375ca2020b5b" @@ -64,7 +64,7 @@ Feature: Workflow Automation When the request is sent Then the response status is 404 Not Found - @replay-only @team:DataDog/workflow-automation-dev + @replay-only @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: Get a workflow instance returns "OK" response Given new "GetWorkflowInstance" request And request contains "workflow_id" parameter with value "ccf73164-1998-4785-a7a3-8d06c7e5f558" @@ -72,14 +72,14 @@ Feature: Workflow Automation When the request is sent Then the response status is 200 OK - @replay-only @team:DataDog/workflow-automation-dev + @replay-only @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: List workflow instances returns "Bad Request" response Given new "ListWorkflowInstances" request And request contains "workflow_id" parameter with value "malformed" When the request is sent Then the response status is 400 Bad Request - @replay-only @team:DataDog/workflow-automation-dev + @replay-only @team:DataDog/web-frameworks-approvers @team:DataDog/workflow-automation-dev Scenario: List workflow instances returns "OK" response Given new "ListWorkflowInstances" request And request contains "workflow_id" parameter with value "ccf73164-1998-4785-a7a3-8d06c7e5f558"