diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 5423824d0a..c356f73bbf 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -44827,6 +44827,57 @@ components: required: - data type: object + ProjectFavorite: + description: Project favorite + properties: + id: + description: The project's identifier + example: d4bbe1af-f36e-42f1-87c1-493ca35c320e + type: string + relationships: + $ref: '#/components/schemas/ProjectFavoriteRelationships' + type: + $ref: '#/components/schemas/ProjectFavoriteResourceType' + required: + - id + - type + - relationships + type: object + ProjectFavoriteRelationships: + description: Project favorite relationships + properties: + user: + $ref: '#/components/schemas/ProjectFavoriteUserRelationship' + required: + - user + type: object + ProjectFavoriteResourceType: + description: Project favorite resource type + enum: + - project_favorite + example: project_favorite + type: string + x-enum-varnames: + - PROJECT_FAVORITE + ProjectFavoriteUserRelationship: + description: Relationship to user + properties: + data: + $ref: '#/components/schemas/UserRelationshipData' + required: + - data + type: object + ProjectFavoritesResponse: + description: Response with project favorites + properties: + data: + description: Array of project favorites + items: + $ref: '#/components/schemas/ProjectFavorite' + type: array + required: + - data + type: object ProjectRelationship: description: Relationship to project properties: @@ -85757,6 +85808,139 @@ paths: tags: - Rum Audience Management x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/projects/favorites: + get: + description: Get all projects marked as favorite by the current user + operationId: ListUserProjectFavorites + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectFavoritesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cases_read + summary: Get user's project favorites + tags: + - Case Management + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/projects/{project_id}/favorites: + delete: + description: Remove a project from the current user's favorites + operationId: UnfavoriteProject + parameters: + - $ref: '#/components/parameters/ProjectIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cases_write + summary: Remove project from favorites + tags: + - Case Management + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + post: + description: Add a project to the current user's favorites + operationId: FavoriteProject + parameters: + - $ref: '#/components/parameters/ProjectIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cases_write + summary: Add project to favorites + tags: + - Case Management + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' /api/v2/query/scalar: post: description: 'Query scalar values (as seen on Query Value, Table, and Toplist diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 41d22bb2b4..f9024093b3 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -19464,6 +19464,41 @@ datadog\_api\_client.v2.model.project\_create\_request module :members: :show-inheritance: +datadog\_api\_client.v2.model.project\_favorite module +------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.project_favorite + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.project\_favorite\_relationships module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.project_favorite_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.project\_favorite\_resource\_type module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.project_favorite_resource_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.project\_favorite\_user\_relationship module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.project_favorite_user_relationship + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.project\_favorites\_response module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.project_favorites_response + :members: + :show-inheritance: + datadog\_api\_client.v2.model.project\_relationship module ---------------------------------------------------------- diff --git a/examples/v2/case-management/FavoriteProject.py b/examples/v2/case-management/FavoriteProject.py new file mode 100644 index 0000000000..f34d983e3a --- /dev/null +++ b/examples/v2/case-management/FavoriteProject.py @@ -0,0 +1,14 @@ +""" +Add project to favorites returns "No Content" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.case_management_api import CaseManagementApi + +configuration = Configuration() +configuration.unstable_operations["favorite_project"] = True +with ApiClient(configuration) as api_client: + api_instance = CaseManagementApi(api_client) + api_instance.favorite_project( + project_id="project_id", + ) diff --git a/examples/v2/case-management/ListUserProjectFavorites.py b/examples/v2/case-management/ListUserProjectFavorites.py new file mode 100644 index 0000000000..f155cdaf87 --- /dev/null +++ b/examples/v2/case-management/ListUserProjectFavorites.py @@ -0,0 +1,14 @@ +""" +Get user's project favorites returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.case_management_api import CaseManagementApi + +configuration = Configuration() +configuration.unstable_operations["list_user_project_favorites"] = True +with ApiClient(configuration) as api_client: + api_instance = CaseManagementApi(api_client) + response = api_instance.list_user_project_favorites() + + print(response) diff --git a/examples/v2/case-management/UnfavoriteProject.py b/examples/v2/case-management/UnfavoriteProject.py new file mode 100644 index 0000000000..193399477b --- /dev/null +++ b/examples/v2/case-management/UnfavoriteProject.py @@ -0,0 +1,14 @@ +""" +Remove project from favorites returns "No Content" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.case_management_api import CaseManagementApi + +configuration = Configuration() +configuration.unstable_operations["unfavorite_project"] = True +with ApiClient(configuration) as api_client: + api_instance = CaseManagementApi(api_client) + api_instance.unfavorite_project( + project_id="project_id", + ) diff --git a/src/datadog_api_client/configuration.py b/src/datadog_api_client/configuration.py index cf63f54a1c..f7877cd118 100644 --- a/src/datadog_api_client/configuration.py +++ b/src/datadog_api_client/configuration.py @@ -266,6 +266,9 @@ def __init__( "v2.get_open_api": False, "v2.list_apis": False, "v2.update_open_api": False, + "v2.favorite_project": False, + "v2.list_user_project_favorites": False, + "v2.unfavorite_project": False, "v2.cancel_threat_hunting_job": False, "v2.convert_job_result_to_signal": False, "v2.delete_threat_hunting_job": False, diff --git a/src/datadog_api_client/v2/api/case_management_api.py b/src/datadog_api_client/v2/api/case_management_api.py index bb4974cfe6..c14ab32c99 100644 --- a/src/datadog_api_client/v2/api/case_management_api.py +++ b/src/datadog_api_client/v2/api/case_management_api.py @@ -32,6 +32,7 @@ from datadog_api_client.v2.model.case_update_priority_request import CaseUpdatePriorityRequest from datadog_api_client.v2.model.case_update_status_request import CaseUpdateStatusRequest from datadog_api_client.v2.model.case_update_title_request import CaseUpdateTitleRequest +from datadog_api_client.v2.model.project_favorites_response import ProjectFavoritesResponse class CaseManagementApi: @@ -243,6 +244,29 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._favorite_project_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/projects/{project_id}/favorites", + "operation_id": "favorite_project", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "project_id": { + "required": True, + "openapi_types": (str,), + "attribute": "project_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + self._get_case_endpoint = _Endpoint( settings={ "response_type": (CaseResponse,), @@ -305,6 +329,22 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._list_user_project_favorites_endpoint = _Endpoint( + settings={ + "response_type": (ProjectFavoritesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/projects/favorites", + "operation_id": "list_user_project_favorites", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._search_cases_endpoint = _Endpoint( settings={ "response_type": (CasesResponse,), @@ -399,6 +439,29 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._unfavorite_project_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/projects/{project_id}/favorites", + "operation_id": "unfavorite_project", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "project_id": { + "required": True, + "openapi_types": (str,), + "attribute": "project_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + self._update_attributes_endpoint = _Endpoint( settings={ "response_type": (CaseResponse,), @@ -722,6 +785,23 @@ def delete_project( return self._delete_project_endpoint.call_with_http_info(**kwargs) + def favorite_project( + self, + project_id: str, + ) -> None: + """Add project to favorites. + + Add a project to the current user's favorites + + :param project_id: Project UUID + :type project_id: str + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["project_id"] = project_id + + return self._favorite_project_endpoint.call_with_http_info(**kwargs) + def get_case( self, case_id: str, @@ -768,6 +848,18 @@ def get_projects( kwargs: Dict[str, Any] = {} return self._get_projects_endpoint.call_with_http_info(**kwargs) + def list_user_project_favorites( + self, + ) -> ProjectFavoritesResponse: + """Get user's project favorites. + + Get all projects marked as favorite by the current user + + :rtype: ProjectFavoritesResponse + """ + kwargs: Dict[str, Any] = {} + return self._list_user_project_favorites_endpoint.call_with_http_info(**kwargs) + def search_cases( self, *, @@ -910,6 +1002,23 @@ def unassign_case( return self._unassign_case_endpoint.call_with_http_info(**kwargs) + def unfavorite_project( + self, + project_id: str, + ) -> None: + """Remove project from favorites. + + Remove a project from the current user's favorites + + :param project_id: Project UUID + :type project_id: str + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["project_id"] = project_id + + return self._unfavorite_project_endpoint.call_with_http_info(**kwargs) + def update_attributes( self, case_id: str, diff --git a/src/datadog_api_client/v2/model/project_favorite.py b/src/datadog_api_client/v2/model/project_favorite.py new file mode 100644 index 0000000000..1ec5e8ffd6 --- /dev/null +++ b/src/datadog_api_client/v2/model/project_favorite.py @@ -0,0 +1,56 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.project_favorite_relationships import ProjectFavoriteRelationships + from datadog_api_client.v2.model.project_favorite_resource_type import ProjectFavoriteResourceType + + +class ProjectFavorite(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.project_favorite_relationships import ProjectFavoriteRelationships + from datadog_api_client.v2.model.project_favorite_resource_type import ProjectFavoriteResourceType + + return { + "id": (str,), + "relationships": (ProjectFavoriteRelationships,), + "type": (ProjectFavoriteResourceType,), + } + + attribute_map = { + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, id: str, relationships: ProjectFavoriteRelationships, type: ProjectFavoriteResourceType, **kwargs + ): + """ + Project favorite + + :param id: The project's identifier + :type id: str + + :param relationships: Project favorite relationships + :type relationships: ProjectFavoriteRelationships + + :param type: Project favorite resource type + :type type: ProjectFavoriteResourceType + """ + super().__init__(kwargs) + + self_.id = id + self_.relationships = relationships + self_.type = type diff --git a/src/datadog_api_client/v2/model/project_favorite_relationships.py b/src/datadog_api_client/v2/model/project_favorite_relationships.py new file mode 100644 index 0000000000..764e233252 --- /dev/null +++ b/src/datadog_api_client/v2/model/project_favorite_relationships.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.project_favorite_user_relationship import ProjectFavoriteUserRelationship + + +class ProjectFavoriteRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.project_favorite_user_relationship import ProjectFavoriteUserRelationship + + return { + "user": (ProjectFavoriteUserRelationship,), + } + + attribute_map = { + "user": "user", + } + + def __init__(self_, user: ProjectFavoriteUserRelationship, **kwargs): + """ + Project favorite relationships + + :param user: Relationship to user + :type user: ProjectFavoriteUserRelationship + """ + super().__init__(kwargs) + + self_.user = user diff --git a/src/datadog_api_client/v2/model/project_favorite_resource_type.py b/src/datadog_api_client/v2/model/project_favorite_resource_type.py new file mode 100644 index 0000000000..17a90f56b2 --- /dev/null +++ b/src/datadog_api_client/v2/model/project_favorite_resource_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ProjectFavoriteResourceType(ModelSimple): + """ + Project favorite resource type + + :param value: If omitted defaults to "project_favorite". Must be one of ["project_favorite"]. + :type value: str + """ + + allowed_values = { + "project_favorite", + } + PROJECT_FAVORITE: ClassVar["ProjectFavoriteResourceType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ProjectFavoriteResourceType.PROJECT_FAVORITE = ProjectFavoriteResourceType("project_favorite") diff --git a/src/datadog_api_client/v2/model/project_favorite_user_relationship.py b/src/datadog_api_client/v2/model/project_favorite_user_relationship.py new file mode 100644 index 0000000000..2ab777922f --- /dev/null +++ b/src/datadog_api_client/v2/model/project_favorite_user_relationship.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.user_relationship_data import UserRelationshipData + + +class ProjectFavoriteUserRelationship(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.user_relationship_data import UserRelationshipData + + return { + "data": (UserRelationshipData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: UserRelationshipData, **kwargs): + """ + Relationship to user + + :param data: Relationship to user object. + :type data: UserRelationshipData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/project_favorites_response.py b/src/datadog_api_client/v2/model/project_favorites_response.py new file mode 100644 index 0000000000..06babcbbb6 --- /dev/null +++ b/src/datadog_api_client/v2/model/project_favorites_response.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.project_favorite import ProjectFavorite + + +class ProjectFavoritesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.project_favorite import ProjectFavorite + + return { + "data": ([ProjectFavorite],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[ProjectFavorite], **kwargs): + """ + Response with project favorites + + :param data: Array of project favorites + :type data: [ProjectFavorite] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 010c5fb61c..c076abc28a 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -3988,6 +3988,11 @@ from datadog_api_client.v2.model.project_create import ProjectCreate from datadog_api_client.v2.model.project_create_attributes import ProjectCreateAttributes from datadog_api_client.v2.model.project_create_request import ProjectCreateRequest +from datadog_api_client.v2.model.project_favorite import ProjectFavorite +from datadog_api_client.v2.model.project_favorite_relationships import ProjectFavoriteRelationships +from datadog_api_client.v2.model.project_favorite_resource_type import ProjectFavoriteResourceType +from datadog_api_client.v2.model.project_favorite_user_relationship import ProjectFavoriteUserRelationship +from datadog_api_client.v2.model.project_favorites_response import ProjectFavoritesResponse from datadog_api_client.v2.model.project_relationship import ProjectRelationship from datadog_api_client.v2.model.project_relationship_data import ProjectRelationshipData from datadog_api_client.v2.model.project_relationships import ProjectRelationships @@ -8569,6 +8574,11 @@ "ProjectCreate", "ProjectCreateAttributes", "ProjectCreateRequest", + "ProjectFavorite", + "ProjectFavoriteRelationships", + "ProjectFavoriteResourceType", + "ProjectFavoriteUserRelationship", + "ProjectFavoritesResponse", "ProjectRelationship", "ProjectRelationshipData", "ProjectRelationships", diff --git a/tests/v2/features/case_management.feature b/tests/v2/features/case_management.feature index 2f23915567..18f549d42a 100644 --- a/tests/v2/features/case_management.feature +++ b/tests/v2/features/case_management.feature @@ -10,6 +10,30 @@ Feature: Case Management And a valid "appKeyAuth" key in the system And an instance of "CaseManagement" API + @generated @skip @team:DataDog/case-management + Scenario: Add project to favorites returns "Bad Request" response + Given operation "FavoriteProject" enabled + And new "FavoriteProject" 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 + Scenario: Add project to favorites returns "No Content" response + Given operation "FavoriteProject" enabled + And new "FavoriteProject" 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 + Scenario: Add project to favorites returns "Not Found" response + Given operation "FavoriteProject" enabled + And new "FavoriteProject" request + And request contains "project_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + @team:DataDog/case-management Scenario: Archive case returns "Bad Request" response Given new "ArchiveCase" request @@ -247,6 +271,20 @@ Feature: Case Management When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/case-management + Scenario: Get user's project favorites returns "Bad Request" response + Given operation "ListUserProjectFavorites" enabled + And new "ListUserProjectFavorites" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/case-management + Scenario: Get user's project favorites returns "OK" response + Given operation "ListUserProjectFavorites" enabled + And new "ListUserProjectFavorites" request + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/case-management Scenario: Remove a project returns "API error response" response Given new "DeleteProject" request @@ -261,6 +299,30 @@ Feature: Case Management When the request is sent Then the response status is 204 No Content + @generated @skip @team:DataDog/case-management + Scenario: Remove project from favorites returns "Bad Request" response + Given operation "UnfavoriteProject" enabled + And new "UnfavoriteProject" 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 + Scenario: Remove project from favorites returns "No Content" response + Given operation "UnfavoriteProject" enabled + And new "UnfavoriteProject" 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 + Scenario: Remove project from favorites returns "Not Found" response + Given operation "UnfavoriteProject" enabled + And new "UnfavoriteProject" 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 Scenario: Search cases returns "Bad Request" response Given new "SearchCases" request diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index 5a347bddf1..17f4c6d172 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -3445,6 +3445,26 @@ "type": "safe" } }, + "ListUserProjectFavorites": { + "tag": "Case Management", + "undo": { + "type": "safe" + } + }, + "UnfavoriteProject": { + "tag": "Case Management", + "undo": { + "type": "idempotent" + } + }, + "FavoriteProject": { + "tag": "Case Management", + "undo": { + "operationId": "TODO", + "parameters": [], + "type": "unsafe" + } + }, "QueryScalarData": { "tag": "Metrics", "undo": {