@@ -357,7 +357,7 @@ At this documentation you will have all information and related files and exampl
...
@@ -357,7 +357,7 @@ At this documentation you will have all information and related files and exampl
**Description**:
**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**:
**Pre-Conditions**:
...
@@ -377,7 +377,7 @@ At this documentation you will have all information and related files and exampl
...
@@ -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**
1. includes filter by query parameter **aef-id**
6. Update Published API:
6. Update Published API:
1. apiStatus present with empty aefIds array.
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**:
**Information of Test**:
...
@@ -406,7 +406,7 @@ At this documentation you will have all information and related files and exampl
...
@@ -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.
* body [service api description] with **service_1** and **service_2** apiNames and realted with aefId1 and aefId2.
* supportedFeatures **0**
* supportedFeatures **0**
* 2 profiles, one with each aef.
* 2 profiles, one with each aef.
* apiStatus not present.
* apiStatus present with empty aefIds array.
**Expected Result**:
**Expected Result**:
...
@@ -434,14 +434,21 @@ At this documentation you will have all information and related files and exampl
...
@@ -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:
2. Response body must follow **DiscoveredAPIs** data structure:
* Check if DiscoveredAPIs contains the API Published previously
* Check if DiscoveredAPIs contains the API Published previously
* Check if contains the **apiStatus** with aefId1
* 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**
1.**200 OK**
2. Store response with updated serviceAPIDescription.
2. Store response with updated serviceAPIDescription. -->
6. Mock Server received messages must accomplish:
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.
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. 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
...
@@ -668,15 +675,15 @@ At this documentation you will have all information and related files and exampl
* 2 profiles, one with each aef.
* 2 profiles, one with each aef.
* apiStatus with aefId1 inside array
* apiStatus with aefId1 inside array
* Use **APF Certificate**
* 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}**
* Send **GET** to **https://{CAPIF_HOSTNAME}/service-apis/v1/allServiceAPIs?api-invoker-id={apiInvokerId}&aef-id=${aefId}**
* Param api-invoker-id is mandatory
* Param api-invoker-id is mandatory
* Use **Invoker Certificate**
* Use **Invoker Certificate** -->
6. Update published Service API:
<!-- 6. Update published Service API:
* Send **PATCH** to resource URL **https://{CAPIF_HOSTNAME}/published-apis/v1/{apfId}/service-apis/{SERVICE_API_ID}**
* Send **PATCH** to resource URL **https://{CAPIF_HOSTNAME}/published-apis/v1/{apfId}/service-apis/{SERVICE_API_ID}**
* Use **APF Certificate**
* Use **APF Certificate**
* body [service api description patch] and realted with aefId1 and aefId2.
* 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**:
**Expected Result**:
...
@@ -690,27 +697,24 @@ At this documentation you will have all information and related files and exampl
...
@@ -690,27 +697,24 @@ At this documentation you will have all information and related files and exampl
1.**201 Created**
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}**
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 Body must follow **EventSubscription** data structure.
3. Response to Publish request must accomplish:
3. Response to Publish request must accomplish:
1.**201 Created**
1.**400 Bad Request**
2. Response Body must follow **ServiceAPIDescription** data structure with:
2. Error Response Body must accomplish with **ProblemDetails** data structure with:
* apiId
* status 400
* 2 profiles with:
* title with message "Bad Request"
* resourceName resource_1 and aefId1
* detail with message "Set apiStatus with apiStatusMonitoring feature inactive at supportedFeatures if not allowed".
* resourceName resource_2 and aefId2
* cause with message "apiStatus can't be set if apiStatusMonitoring is inactive".
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.
4. Response to Discover Request By Invoker:
4. Response to Discover Request By Invoker:
1.**200 OK** response.
1.**404 Not Found** response.
2. Response body must follow **DiscoveredAPIs** data structure:
2. Error Response Body must accomplish with **ProblemDetails** data structure with:
* Check if DiscoveredAPIs contains the API Published previously
* status 404
* Check if contains the **apiStatus** with aefId1
* title with message "Not Found"
5. Response to Patch published Service API at CCF:
* detail with message "API Invoker {api_invoker_id} has no API Published that accomplish filter conditions".
1.**200 OK**
* cause with message "No API Published accomplish filter conditions".
2. Store response with updated serviceAPIDescription.
5. Mock Server received messages must accomplish:
6. Mock Server received messages must accomplish:
1.**No Events have been received**.
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.
## Test Case 20: Patch published without aefs available API with apiStatus only aef2
## Test Case 20: Patch published without aefs available API with apiStatus only aef2