Skip to content
Documentation Menu

TC_C_18_CS — Authorization through authorization cache - StopTxOnInvalidId = true, MaxEnergyOnInvalidId > 0

TC_C_18_CS — Authorization through authorization cache - StopTxOnInvalidId = true, MaxEnergyOnInvalidId > 0

Source: OCPP 2.0.1 Part 6 — Test Cases (Core & Advanced Security, FINAL, 2023-06-30) — Functional block C. Authorization, page 99.

Identification

FieldValue
Test case nameAuthorization through authorization cache - StopTxOnInvalidId = true, MaxEnergyOnInvalidId > 0
Test case IdTC_C_18_CS
Use case Id(s)C12
Requirement(s)C12_FR_02, C12_FR_04
System under testCharging Station
Functional blockC. Authorization

Description

This test case describes how the EV Driver is authorized to start a transaction while the Charging Station uses Cached IdToken. This enables the EV Driver to Online start a transaction by using the Authorization Cache in which the Charging Station can respond faster, as no AuthorizeRequest is being sent.

Purpose

To verify if the Charging Station is able to respond correctly to an idToken which has status "Accepted" in its cache but is "Invalid" in the CSMS when StopTxOnInvalidId is true and MaxEnergyOnInvalidId > 0 according to the mechanism as described in the OCPP specification.

Prerequisite(s)

  • AuthCacheCtrlr.AuthCacheAvailable is implemented with value true
  • The Charging Station has MaxEnergyOnInvalidId implemented.
  • At least one of the following must be supported; Local auth list, auth cache, StartTxUnknownIds.

Before (Preparations)

Configuration State:

  • AuthCacheEnabled is true (If implemented) LocalPreAuthorize is true (If implemented) LocalAuthorizeOffline is true OfflineTxForUnknownIdEnabled is true (If implemented) StopTxOnInvalidId is true MaxEnergyOnInvalidId is 500 OfflineThreshold is <Configured RetryBackOffWaitMinimum_duration> + 60.0 RetryBackOffWaitMinimum is <Configured RetryBackOffWaitMinimum_duration> RetryBackOffRandomRange is 0
  • Note: <Configured RetryBackOffWaitMinimum_duration should be long enough to execute manual tasks>

Memory State:

  • IdTokenCached for <Configured valid IdToken fields> (If implemented) A known valid idToken is configured in the Local auth list (if implemented) and auth cache (if implemented)

Reusable State(s):

  • State is EVConnectedPreSession

Main (Test scenario)

Charging StationCSMS
1. The OCTT closes the WebSocket connection AND does not accept a reconnect.
Manual Action: Present valid idToken which is already configured in the Authorization Cache
Note(s): The OCTT will wait for <Configured Transaction Duration> seconds
2. The OCTT accepts reconnection attempt from the Charging Station.
Note(s):; - The Charging Station will empty its Transaction message queue. This will contain one or more TransactionEventRequest messages
3. The Charging Station sends a TransactionEventRequest4. The OCTT responds with a TransactionEventResponse with idTokenInfo.status Invalid (if idToken is not omitted)
5. The Charging Station sends a TransactionEventRequest with triggerReason Deauthorized6. The OCTT responds with a TransactionEventResponse

Tool validations

Step 3:

Message TransactionEventRequest A message with (optional):

  • triggerReason Authorized
  • idToken.idToken <Configured valid_idtoken_idtoken>
  • idToken.type <Configured valid_idtoken_type>
  • offline True A message with:
  • triggerReason ChargingStateChanged
  • offline True

Step 5:

A message with:

  • triggerReason Deauthorized
  • offline False

Post scenario validations

  • Energyflow stops on receiving status invalid