TC_C_44_CS — Authorization by GroupId - Invalid status with Authorization Cache
TC_C_44_CS — Authorization by GroupId - Invalid status with Authorization Cache
Source: OCPP 2.0.1 Part 6 — Test Cases (Core & Advanced Security, FINAL, 2023-06-30) — Functional block C. Authorization, page 113.
Identification
| Field | Value |
|---|---|
| Test case name | Authorization by GroupId - Invalid status with Authorization Cache |
| Test case Id | TC_C_44_CS |
| Use case Id(s) | C09 |
| Requirement(s) | C09_FR_02, C09_FR_03, C09_FR_07 |
| System under test | Charging Station |
| Functional block | C. Authorization |
Description
This test case covers how a Charging Station can authorize an action for an EV Driver based on GroupId information. This could for example be used if 2 people regularly use the same EV: they can use their own IdToken (e.g. RFID card), and can deauthorize transactions that were started with the other idToken (with the same GroupId).
Purpose
To verify if the Charging Station is able to correctly handle the Authorization of idTokens with the same GroupId when stored in the Authorization Cache, but one of them is invalid, according to the mechanism as described in the OCPP specification.
Prerequisite(s)
- AuthCacheCtrlr.AuthCacheAvailable is implemented with value true
Before (Preparations)
Configuration State:
- AuthCacheEnabled is true (If implemented) LocalPreAuthorize is true (If implemented) AuthCacheCtrlrDisablePostAuthorize is false (If implemented)
Memory State:
- IdTokenCached for <Configured valid IdToken fields> IdTokenCached for <Configured invalid IdToken fields>
Reusable State(s):
- State is EVConnectedPreSession
Main (Test scenario)
| Charging Station | CSMS |
|---|---|
| Manual Action: Present valid idToken with <Configured GroupId> which is configured in the Authorization Cache | |
| 1. The Charging Station sends a TransactionEventRequest; Note(s):; - This step needs to be executed when TxStartPoint contains Authorized OR the transaction already started. So in the case TxStartPoint contains ParkingBayOccupancy | 2. The OCTT responds with a TransactionEventResponse with; - idTokenInfo.status Accepted; - idTokenInfo.groupIdToken.idToken <Configured groupIdToken> |
| 3. Execute Reusable State EnergyTransferStarted | |
| Manual Action: Present invalid idToken with <Configured GroupId> which is configured in the Authorization Cache | |
| 4. The Charging Station sends an AuthorizeRequest | 5. The OCTT responds with an AuthorizeResponse with; - idTokenInfo.status Invalid; - idTokenInfo.groupIdToken.idToken <Configured groupIdToken> |
| Note(s): OCTT will wait to see if CS indeed doesn’t send a TransactionEventRequest |
Tool validations
Step 1:
Message TransactionEventRequest
- triggerReason Authorized
- idToken.idToken <Configured valid_idtoken_idtoken>
- idToken.type <Configured valid_idtoken_type> if transaction was already started
- eventType Updated else
- eventType Started
Step 4:
Message AuthorizeRequest
- idToken.idToken <Configured invalid_idtoken_idtoken>
- idToken.type <Configured invalid_idtoken_type>
Post scenario validations
- N/a