Test Plan for CAPIF Api Invoker Management
At this documentation you will have all information and related files and examples of test plan for this API.
Test Case 1: Onboard NetApp
Test ID: capif_api_invoker_management-1
Description:
This test will try to register new NetApp at CAPIF Core.
Pre-Conditions:
- NetApp was not registered previously
- NetApp was not onboarded previously
Information of Test:
-
Create public and private key at invoker
-
Register of Invoker at CCF:
- Send POST to http://{CAPIF_HOSTNAME}:{CAPIF_HTTP_PORT}/register
- body invoker register body
-
Obtain Access Token:
- Send POST to http://{CAPIF_HOSTNAME}/getauth
- Body invoker getauth body
-
Onboard Invoker:
- Send POST to https://{CAPIF_HOSTNAME}/api-invoker-management/v1/onboardedInvokers
- Reference Request Body: invoker onboarding body
- "onboardingInformation"->"apiInvokerPublicKey": must contain public key generated by Invoker.
- Send at Authorization Header the Bearer access_token obtained previously (Authorization:Bearer ${access_token})
Execution Steps:
- Register Invoker at CCF
- Onboard Invoker at CCF
- Store signed Certificate
Expected Result:
- Response to Onboard request must accomplish:
- 201 Created
- Response Body must follow APIInvokerEnrolmentDetails data structure with:
- apiInvokerId
- onboardingInformation->apiInvokerCertificate must contain the public key signed.
- Response Header Location must be received with URI to new resource created, following this structure: {apiRoot}/api-invoker-management/{apiVersion}/onboardedInvokers/{onboardingId}
Test Case 2: Onboard NetApp Already onboarded
Test ID: capif_api_invoker_management-2
Description:
This test will check second onboard of same NetApp is not allowed.
Pre-Conditions:
- NetApp was registered previously
- NetApp was onboarded previously
Information of Test:
-
Perform Invoker Onboarding
-
Repeat Onboard Invoker:
- Send POST to https://{CAPIF_HOSTNAME}/api-invoker-management/v1/onboardedInvokers
- Reference Request Body: invoker onboarding body
- "onboardingInformation"->"apiInvokerPublicKey": must contain public key generated by Invoker.
- Send at Authorization Header the Bearer access_token obtained previously (Authorization:Bearer ${access_token})
Execution Steps:
- Register NetApp at CCF
- Onboard NetApp at CCF
- Store signed Certificate at NetApp
- Onboard Again the NetApp at CCF
Expected Result:
- Response to Onboard request must accomplish:
- 201 Created
- Response Body must follow APIInvokerEnrolmentDetails data structure with:
- apiInvokerId
- onboardingInformation->apiInvokerCertificate must contain the public key signed.
- Response Header Location must be received with URI to new resource created, following this structure: {apiRoot}/api-invoker-management/{apiVersion}/onboardedInvokers/{onboardingId}
- Response to Second Onboard of NetApp must accomplish:
- 403 Forbidden
- Error Response Body must accomplish with ProblemDetails data structure with:
- status 403
- title with message "Forbidden"
- detail with message "Invoker Already registered".
- cause with message "Identical invoker public key".
Test Case 3: Update Onboarded NetApp
Test ID: capif_api_invoker_management-3
Description:
This test will try to update information of previous onboard NetApp at CAPIF Core.
Pre-Conditions:
- NetApp was registered previously
- NetApp was onboarded previously with {onboardingId}
Information of Test:
-
Perform Invoker Onboarding
-
Update information of previously onboarded Invoker:
- Send PUT to https://{CAPIF_HOSTNAME}/api-invoker-management/v1/onboardedInvokers/{onboardingId}
- Reference Request Body is: [put invoker onboarding body]
- "notificationDestination": "http://host.docker.internal:8086/netapp_new_callback",
Execution Steps:
- Register Invoker at CCF
- Onboard Invoker at CCF
- Store signed Certificate
- Update Onboarding Information at CCF with a minor change on "notificationDestination"
Expected Result:
- Response to Onboard request must accomplish:
- 201 Created
- Response Body must follow APIInvokerEnrolmentDetails data structure with:
- apiInvokerId
- onboardingInformation->apiInvokerCertificate must contain the public key signed.
- Response Header Location must be received with URI to new resource created, following this structure: {apiRoot}/api-invoker-management/{apiVersion}/onboardedInvokers/{onboardingId}
- Response to Update Request (PUT) with minor change must contain:
- 200 OK response.
- notificationDestination on response must contain the new value
Test Case 4: Update Not Onboarded NetApp
Test ID: capif_api_invoker_management-4
Description:
This test will try to update information of not onboarded NetApp at CAPIF Core.
Pre-Conditions:
- NetApp was registered previously
- NetApp was not onboarded previously
Information of Test:
-
Perform Invoker Onboarding
-
Update information of not onboarded Invoker:
- Send PUT to https://{CAPIF_HOSTNAME}/api-invoker-management/v1/onboardedInvokers/{INVOKER_NOT_REGISTERED}
- Reference Request Body is: [put invoker onboarding body]
Execution Steps:
- Register Invoker at CCF
- Onboard Invoker at CCF
- Update Onboarding Information at CCF of not onboarded
Expected Result:
- Response to Onboard request must accomplish:
- 201 Created
- Response to Update Request (PUT) must contain:
- 404 Not Found
- Error Response Body must accomplish with ProblemDetails data structure with:
- status 404
- title with message "Not Found"
- detail with message "Please provide an existing Netapp ID".
- cause with message "Not exist NetappID".
Test Case 5: Offboard NetApp
Test ID: capif_api_invoker_management-5
Description:
This test case will check that a Registered NetApp can be deleted.
Pre-Conditions:
- NetApp was registered previously
- NetApp was onboarded previously
Information of Test:
-
Perform Invoker Onboarding
-
Offboard:
- Send Delete to https://{CAPIF_HOSTNAME}/api-invoker-management/v1/onboardedInvokers/{onboardingId}
Execution Steps:
- Register Invoker at CCF
- Onboard Invoker at CCF
- Offboard Invoker at CCF
Expected Result:
- Response to Onboard request must accomplish:
- 201 Created
- Response to Offboard Request (DELETE) must contain:
- 204 No Content
Test Case 6: Offboard Not previsouly Onboarded NetApp
Test ID: capif_api_invoker_management-6
Description:
This test case will check that a Non-Registered NetApp cannot be deleted
Pre-Conditions:
- NetApp was registered previously
- NetApp was not onboarded previously
Information of Test:
-
Perform Invoker Onboarding
-
Offboard:
- Send Delete to https://{CAPIF_HOSTNAME}/api-invoker-management/v1/onboardedInvokers/{INVOKER_NOT_REGISTERED}
Execution Steps:
- Register Invoker at CCF
- Offboard Invoker at CCF
Expected Result:
- Response to Offboard Request (DELETE) must contain:
- 404 Not Found
- Error Response Body must accomplish with ProblemDetails data structure with:
- status 404
- title with message "Not Found"
- detail with message "Please provide an existing Netapp ID".
- cause with message "Not exist NetappID".
Test Case 7: Update Onboarded NetApp Certificate
Test ID: capif_api_invoker_management-7
Description:
This test will try to update public key and get a new signed certificate by CAPIF Core.
Pre-Conditions:
- NetApp was registered previously
- NetApp was onboarded previously with {onboardingId} and {public_key_1}
Information of Test:
-
Perform Invoker Onboarding with public_key_1.
-
Create {public_key_2}
-
Update information of previously onboarded Invoker:
- Send PUT to https://{CAPIF_HOSTNAME}/api-invoker-management/v1/onboardedInvokers/{onboardingId}
- Reference Request Body is: [put invoker onboarding body]
- ["onboardingInformation"]["apiInvokerPublicKey"]: {public_key_2},
- Store new certificate.
-
Update information of previously onboarded Invoker Using new certificate:
- Send PUT to https://{CAPIF_HOSTNAME}/api-invoker-management/v1/onboardedInvokers/{onboardingId}
- Reference Request Body is: [put invoker onboarding body]
- "notificationDestination": "http://host.docker.internal:8086/netapp_new_callback",
- Use new invoker certificate
Execution Steps:
- Register Invoker at CCF
- Onboard Invoker at CCF
- Store signed Certificate
- Update Onboarding Information at CCF with new public key
- Update Onboarding Information at CCF with minor change
Expected Result:
- Response to Onboard request must accomplish:
- 201 Created
- Response Body must follow APIInvokerEnrolmentDetails data structure with:
- apiInvokerId
- onboardingInformation->apiInvokerCertificate must contain the public key signed.
- Response Header Location must be received with URI to new resource created, following this structure: {apiRoot}/api-invoker-management/{apiVersion}/onboardedInvokers/{onboardingId}
- Response to Update Request (PUT) with new public key:
- 200 OK response.
- apiInvokerCertificate with new certificate on response -> store to use.
- Response to Update Request (PUT) with minor change must contain:
- 200 OK response.
- notificationDestination on response must contain the new value