TC_C_41_CS — Authorization by GroupId - Success with Authorization Cache
TC_C_41_CS — Authorization by GroupId - Success with Authorization Cache
Source: OCPP 2.0.1 Part 6 — Test Cases (Core & Advanced Security, FINAL, 2023-06-30) — Functional block C. Authorization, page 110.
Identification
| Field | Value |
|---|---|
| Test case name | Authorization by GroupId - Success with Authorization Cache |
| Test case Id | TC_C_41_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 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)
Memory State:
- IdTokenCached for <Configured valid IdToken fields> IdTokenCached for <Configured valid IdToken2 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 valid idToken2 with <Configured GroupId> which is configured in the Authorization Cache | |
| 4. Execute Reusable State StopAuthorized | |
| 5. Execute Reusable State EVConnectedPostSession | |
| 6. Execute Reusable State EVDisconnected | |
| 7. Execute Reusable State ParkingBayUnoccupied |
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 TransactionEventRequest
- triggerReason StopAuthorized
- idToken.idToken <Configured valid_idtoken_idtoken>
- idToken.type <Configured valid_idtoken_type>
Post scenario validations
- N/a