Newer
Older
# Test Plan for CAPIF Api Auditing Service
At this documentation you will have all information and related files and examples of test plan for this API.
## Test Case 1: Get CAPIF Log Entry.
**Test ID**: ***capif_api_auditing-1***
**Description**:
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
Jorge Moratinos
committed
**Execution Steps**:
Jorge Moratinos
committed
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:
Jorge Moratinos
committed
- 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**
Jorge Moratinos
committed
- Send **POST** to **https://{CAPIF_HOSTNAME}/api-invocation-logs/v1/{aefId}/logs**
Jorge Moratinos
committed
- Use **AEF Certificate**
Jorge Moratinos
committed
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 **InvocationLog** data structure with:
* aefId
* apiInvokerId
* logs
## Test Case 2: Get CAPIF Log Entry With no Log entry in CAPIF.
**Test ID**: ***capif_api_auditing-2***
**Description**:
This test case will check that a CAPIF AEF can create 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
Jorge Moratinos
committed
**Execution Steps**:
Jorge Moratinos
committed
1. Register Provider and Invoker CCF
2. Publish Service
3. Get Log Entry
**Information of Test**:
1. Perform [provider onboarding], [invoker onboarding]
2. Publish Service API at CCF:
Jorge Moratinos
committed
- 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**
Jorge Moratinos
committed
3. 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. **404 Not Found**
2. Error Response Body must accomplish with **ProblemDetails** data structure with:
* status 404
* title with message "Not Found Log Entry in CAPIF".
* cause with message "Not Exist Logs with the filters applied".
## Test Case 3: Get CAPIF Log Entry without aef-id and api-invoker-id.
**Test ID**: ***capif_api_auditing-3***
**Description**:
This test case will check that a CAPIF AEF can create log entry to Logging Service
**Pre-Conditions**:
* CAPIF provider is no pre-authorised (has no valid AMF cert from CAPIF Authority)
* Service exist in CAPIF
* Invoker exist in CAPIF
* Log Entry exist in CAPIF
Jorge Moratinos
committed
**Execution Steps**:
Jorge Moratinos
committed
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:
Jorge Moratinos
committed
- 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**
Jorge Moratinos
committed
- Send **POST** to **https://{CAPIF_HOSTNAME}/api-invocation-logs/v1/{aefId}/logs**
Jorge Moratinos
committed
- Use **AEF Certificate**
Jorge Moratinos
committed
1. Send **GET** to **https://{CAPIF_HOSTNAME}/logs/v1/apiInvocationLogs**
2. Use **AMF Certificate**
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
**Expected Result**:
1. Response to Logging Service 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 "aef_id and api_invoker_id parameters are mandatory".
* cause with message "Mandatory parameters missing".
## Test Case 4: Get CAPIF Log Entry with filtter api-version.
**Test ID**: ***capif_api_auditing-4***
**Description**:
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
Jorge Moratinos
committed
**Execution Steps**:
Jorge Moratinos
committed
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:
Jorge Moratinos
committed
- 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**
Jorge Moratinos
committed
- Send **POST** to **https://{CAPIF_HOSTNAME}/api-invocation-logs/v1/{aefId}/logs**
Jorge Moratinos
committed
- Use **AEF Certificate**
Jorge Moratinos
committed
1. Send **GET** to **https://{CAPIF_HOSTNAME}/logs/v1/apiInvocationLogs?aef-id={aefId}&api-invoker-id={api-invoker-id}&api-version={v1}**
2. Use **AMF Certificate**
**Expected Result**:
1. Response to Logging Service must accomplish:
1. **200 OK**
2. Response Body must follow **InvocationLogsRetrieveRes** including **InvocationLog** data structure with:
* aefId
* apiInvokerId
* logs
## Test Case 5: Get CAPIF Log Entry with filter api-version but not exist in log entry.
**Test ID**: ***capif_api_auditing-5***
**Description**:
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
Jorge Moratinos
committed
**Execution Steps**:
Jorge Moratinos
committed
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:
Jorge Moratinos
committed
- 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**
Jorge Moratinos
committed
- Send **POST** to **https://{CAPIF_HOSTNAME}/api-invocation-logs/v1/{aefId}/logs**
Jorge Moratinos
committed
- Use **AEF Certificate**
Jorge Moratinos
committed
1. Send **GET** to **https://{CAPIF_HOSTNAME}/logs/v1/apiInvocationLogs?aef-id={aefId}&api-invoker-id={api-invoker-id}&api-version={v58}**
2. Use **AMF Certificate**
**Expected Result**:
1. Response to Logging Service must accomplish:
1. **404 Not Found**
2. Error Response Body must accomplish with **ProblemDetails** data structure with:
* status 404
* 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***
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]
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
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"