From 6919f8075126c2128ea1d63f81ac8c7a8b4935b4 Mon Sep 17 00:00:00 2001 From: Jorge Moratinos Salcines <jorge.moratinossalcines@telefonica.com> Date: Mon, 24 Feb 2025 10:06:59 +0100 Subject: [PATCH] Some minor fix, and a new test case for auditing --- .../testplan/api_auditing_service/README.md | 67 +++++++++++++++++-- 1 file changed, 62 insertions(+), 5 deletions(-) diff --git a/doc/testing/testplan/api_auditing_service/README.md b/doc/testing/testplan/api_auditing_service/README.md index 899dea9..16a111c 100644 --- a/doc/testing/testplan/api_auditing_service/README.md +++ b/doc/testing/testplan/api_auditing_service/README.md @@ -17,6 +17,7 @@ At this documentation you will have all information and related files and exampl * Log Entry exist in CAPIF **Execution Steps**: + 1. Register Provider and Invoker CCF 2. Publish Service 3. Create Log Entry @@ -44,7 +45,7 @@ At this documentation you will have all information and related files and exampl 1. Response to Logging Service must accomplish: 1. **200 OK** - 2. Response Body must follow **InvocationLog** data structure with: + 2. Response Body must follow **InvocationLogsRetrieveRes** including **InvocationLog** data structure with: * aefId * apiInvokerId * logs @@ -64,6 +65,7 @@ At this documentation you will have all information and related files and exampl * Invoker exist in CAPIF **Execution Steps**: + 1. Register Provider and Invoker CCF 2. Publish Service 3. Get Log Entry @@ -107,6 +109,7 @@ At this documentation you will have all information and related files and exampl * Log Entry exist in CAPIF **Execution Steps**: + 1. Register Provider and Invoker CCF 2. Publish Service 3. Create Log Entry @@ -157,6 +160,7 @@ At this documentation you will have all information and related files and exampl * Log Entry exist in CAPIF **Execution Steps**: + 1. Register Provider and Invoker CCF 2. Publish Service 3. Create Log Entry @@ -184,7 +188,7 @@ At this documentation you will have all information and related files and exampl 1. Response to Logging Service must accomplish: 1. **200 OK** - 2. Response Body must follow **InvocationLog** data structure with: + 2. Response Body must follow **InvocationLogsRetrieveRes** including **InvocationLog** data structure with: * aefId * apiInvokerId * logs @@ -192,7 +196,7 @@ At this documentation you will have all information and related files and exampl ## Test Case 5: Get CAPIF Log Entry with filter api-version but not exist in log entry. -**Test ID**: ***capif_api_auditing-4*** +**Test ID**: ***capif_api_auditing-5*** **Description**: @@ -206,6 +210,7 @@ At this documentation you will have all information and related files and exampl * Log Entry exist in CAPIF **Execution Steps**: + 1. Register Provider and Invoker CCF 2. Publish Service 3. Create Log Entry @@ -238,10 +243,62 @@ At this documentation you will have all information and related files and exampl * detail with message "Parameters do not match any log entry" * cause with message "No logs found". +## Test Case 6: Get CAPIF Multiple Log Entries. +**Test ID**: ***capif_api_auditing-6*** -[log entry request body]: ../api_logging_service/invocation_log.json "Log Request Body" +**Description**: -[invoker onboarding]: ../common_operations/README.md#onboard-an-invoker "Invoker Onboarding" + This test case will check that a CAPIF AMF can get log entry to Logging Service + +**Pre-Conditions**: + + * CAPIF provider is pre-authorised (has valid AMF cert from CAPIF Authority) + * Service exist in CAPIF + * Invoker exist in CAPIF + * Log Entry exist in CAPIF + +**Execution Steps**: + + 1. Register Provider and Invoker CCF + 2. Publish Service + 3. Create Log Entry + 4. Get Log Entry + +**Information of Test**: + + 1. Perform [provider onboarding], [invoker onboarding] + 2. Publish Service API at CCF: + - Send **POST** to ccf_publish_url **https://{CAPIF_HOSTNAME}/published-apis/v1/{apfId}/service-apis** + - body [service api description] with apiName **service_1** + - Use **APF Certificate** + + 3. Create Log Entry: + - Send **POST** to **https://{CAPIF_HOSTNAME}/api-invocation-logs/v1/{aefId}/logs** + - body [log entry request body] + - Use **AEF Certificate** + + 4. Create Other Log Entry: + - Send **POST** to **https://{CAPIF_HOSTNAME}/api-invocation-logs/v1/{aefId}/logs** + - body [log entry request body] with apiInvokerId = "other" + - Use **AEF Certificate** + + 5. Get Log: + 1. Send **GET** to **https://{CAPIF_HOSTNAME}/logs/v1/apiInvocationLogs?aef-id={aefId}&api-invoker-id={api-invoker-id}** + 2. Use **AMF Certificate** + +**Expected Result**: + + 1. Response to Logging Service must accomplish: + 1. **200 OK** + 2. Response Body must follow **InvocationLogsRetrieveRes** including **InvocationLogs** attribute on data structure with: + * aefId + * apiInvokerId + * logs + + +[log entry request body]: ../api_logging_service/invocation_log.json "Log Request Body" +[invoker onboarding]: ../common_operations/README.md#onboard-an-invoker "Invoker Onboarding" [provider onboarding]: ../common_operations/README.md#register-a-provider "Provider Onboarding" +[service api description]: ../api_publish_service/service_api_description_post_example.json "Service API Description Request" -- GitLab