diff --git a/doc/testing/testplan/api_status/README.md b/doc/testing/testplan/api_status/README.md index 5397455a67d64a32a6fd76bef1c0cbf894210179..2f6b294806b350aec352279233c27cd3d815ca21 100644 --- a/doc/testing/testplan/api_status/README.md +++ b/doc/testing/testplan/api_status/README.md @@ -357,7 +357,7 @@ At this documentation you will have all information and related files and exampl **Description**: - This test case will check if an invoker subscribed to events **SERVICE_API_AVAILABLE**, **SERVICE_API_UNAVAILABLE** and **SERVICE_API_UPDATE** with ***apiStatusMonitoring*** and **Enhanced_event_report** active, receive SERVICE_API_AVAILABLE in mockserver when api is published by a provider, containing eventDetails, and SERVICE_API_UPDATE after update apiStatus to empty aefIds array qith **ApiStatusMonitoring inactive. + This test case will check if an invoker subscribed to events **SERVICE_API_AVAILABLE**, **SERVICE_API_UNAVAILABLE** and **SERVICE_API_UPDATE** with ***apiStatusMonitoring*** and **Enhanced_event_report** active, receive SERVICE_API_AVAILABLE in mockserver when api is published by a provider, containing eventDetails, and SERVICE_API_UPDATE after update apiStatus to empty aefIds array qith **ApiStatusMonitoring** inactive. **Pre-Conditions**: @@ -377,7 +377,7 @@ At this documentation you will have all information and related files and exampl 1. includes filter by query parameter **aef-id** 6. Update Published API: 1. apiStatus present with empty aefIds array. - 2. aipStatusMonitoring feature not active (binary 0 0000 0000 -> string **0**) + 2. apiStatusMonitoring feature not active (binary 0 0000 0000 -> string **0**) **Information of Test**: @@ -406,7 +406,7 @@ At this documentation you will have all information and related files and exampl * body [service api description] with **service_1** and **service_2** apiNames and realted with aefId1 and aefId2. * supportedFeatures **0** * 2 profiles, one with each aef. - * apiStatus not present. + * apiStatus present with empty aefIds array. **Expected Result**: @@ -434,14 +434,21 @@ At this documentation you will have all information and related files and exampl 2. Response body must follow **DiscoveredAPIs** data structure: * Check if DiscoveredAPIs contains the API Published previously * Check if contains the **apiStatus** with aefId1 - 5. Response to Update published Service API at CCF: + + 5. Response to Publish request must accomplish: + 1. **400 Bad Request** + 2. Error Response Body must accomplish with **ProblemDetails** data structure with: + * status 400 + * title with message "Bad Request" + * detail with message "Set apiStatus with apiStatusMonitoring feature inactive at supportedFeatures if not allowed". + * cause with message "apiStatus can't be set if apiStatusMonitoring is inactive". + <!-- 5. Response to Update published Service API at CCF: 1. **200 OK** - 2. Store response with updated serviceAPIDescription. + 2. Store response with updated serviceAPIDescription. --> 6. Mock Server received messages must accomplish: - 1. **Two Events have been received**. + 1. **Three Events have been received**. 2. Validate received events follow **EventNotification** data structure, with **apiIds** in **eventDetail** parameter. 1. One should be **SERVICE_API_AVAILABLE** apiId of published API with **eventDetails** with apiIds and serviceAPIDescription. - 2. The other one must be **SERVICE_API_UPDATE** apiId published API with **eventDetails** containing serviceAPIDescription updated. ## -------------------- @@ -668,15 +675,15 @@ At this documentation you will have all information and related files and exampl * 2 profiles, one with each aef. * apiStatus with aefId1 inside array * Use **APF Certificate** - 5. Request Discover Published APIs: + <!-- 5. Request Discover Published APIs: * Send **GET** to **https://{CAPIF_HOSTNAME}/service-apis/v1/allServiceAPIs?api-invoker-id={apiInvokerId}&aef-id=${aefId}** * Param api-invoker-id is mandatory - * Use **Invoker Certificate** - 6. Update published Service API: + * Use **Invoker Certificate** --> + <!-- 6. Update published Service API: * Send **PATCH** to resource URL **https://{CAPIF_HOSTNAME}/published-apis/v1/{apfId}/service-apis/{SERVICE_API_ID}** * Use **APF Certificate** * body [service api description patch] and realted with aefId1 and aefId2. - * apiStatus present with aefId1 and aefId2. + * apiStatus present with aefId1 and aefId2. --> **Expected Result**: @@ -690,27 +697,24 @@ At this documentation you will have all information and related files and exampl 1. **201 Created** 2. The URI of the created resource shall be returned in the "Location" HTTP header, following this structure: **{apiRoot}/capif-events/{apiVersion}/{subscriberId}/subscriptions/{subscriptionId}** 3. Response Body must follow **EventSubscription** data structure. + 3. Response to Publish request must accomplish: - 1. **201 Created** - 2. Response Body must follow **ServiceAPIDescription** data structure with: - * apiId - * 2 profiles with: - * resourceName resource_1 and aefId1 - * resourceName resource_2 and aefId2 - 3. Response Header **Location** must be received with URI to new resource created, following this structure: **{apiRoot}/published-apis/v1/{apfId}/service-apis/{serviceApiId}** - 4. Response without **"apiStatus"** parameter. + 1. **400 Bad Request** + 2. Error Response Body must accomplish with **ProblemDetails** data structure with: + * status 400 + * title with message "Bad Request" + * detail with message "Set apiStatus with apiStatusMonitoring feature inactive at supportedFeatures if not allowed". + * cause with message "apiStatus can't be set if apiStatusMonitoring is inactive". + 4. Response to Discover Request By Invoker: - 1. **200 OK** response. - 2. Response body must follow **DiscoveredAPIs** data structure: - * Check if DiscoveredAPIs contains the API Published previously - * Check if contains the **apiStatus** with aefId1 - 5. Response to Patch published Service API at CCF: - 1. **200 OK** - 2. Store response with updated serviceAPIDescription. - 6. Mock Server received messages must accomplish: - 1. **Two Events have been received**. - 2. Validate received events follow **EventNotification** data structure, with **apiIds** in **eventDetail** parameter. - 1. One should be **SERVICE_API_AVAILABLE** apiId of published API with **eventDetails** with apiIds and serviceAPIDescription. + 1. **404 Not Found** response. + 2. Error Response Body must accomplish with **ProblemDetails** data structure with: + * status 404 + * title with message "Not Found" + * detail with message "API Invoker {api_invoker_id} has no API Published that accomplish filter conditions". + * cause with message "No API Published accomplish filter conditions". + 5. Mock Server received messages must accomplish: + 1. **No Events have been received**. ## Test Case 20: Patch published without aefs available API with apiStatus only aef2