77
88Copyright (C) 2016-2018 Thomas Volden
99Copyright (C) 2019 Kevin Raddatz <kevin.raddatz@valtech-mobility.com>
10+ Copyright (C) 2022 Mathias Oben <mathias.oben@enervalis.com>
1011
1112Permission is hereby granted, free of charge, to any person obtaining a copy
1213of this software and associated documentation files (the "Software"), to deal
@@ -31,6 +32,7 @@ of this software and associated documentation files (the "Software"), to deal
3132import eu .chargetime .ocpp .JSONConfiguration ;
3233import eu .chargetime .ocpp .PropertyConstraintException ;
3334import eu .chargetime .ocpp .feature .profile .*;
35+ import eu .chargetime .ocpp .feature .profile .securityext .ServerSecurityExtProfile ;
3436import eu .chargetime .ocpp .model .Request ;
3537import eu .chargetime .ocpp .model .core .*;
3638import eu .chargetime .ocpp .model .firmware .*;
@@ -41,6 +43,8 @@ of this software and associated documentation files (the "Software"), to deal
4143import eu .chargetime .ocpp .model .reservation .CancelReservationRequest ;
4244import eu .chargetime .ocpp .model .reservation .ReserveNowConfirmation ;
4345import eu .chargetime .ocpp .model .reservation .ReserveNowRequest ;
46+ import eu .chargetime .ocpp .model .securityext .*;
47+ import eu .chargetime .ocpp .model .securityext .types .*;
4448import eu .chargetime .ocpp .model .smartcharging .SetChargingProfileConfirmation ;
4549import eu .chargetime .ocpp .model .smartcharging .SetChargingProfileRequest ;
4650import eu .chargetime .ocpp .test .FakeCentral .serverType ;
@@ -91,6 +95,11 @@ private void initializeServer() {
9195
9296 ServerReservationProfile serverReservationProfile = new ServerReservationProfile ();
9397 server .addFeatureProfile (serverReservationProfile );
98+
99+ ServerSecurityExtProfile serverSecurityExtProfile = new ServerSecurityExtProfile (
100+ dummyHandlers .createServerSecurityExtEventHandler ()
101+ );
102+ server .addFeatureProfile (serverSecurityExtProfile );
94103 }
95104
96105 public boolean isClosed () {
@@ -141,7 +150,7 @@ public boolean hasHandledAuthorizeRequest() {
141150 public boolean hasHandledBootNotification (String vendor , String model ) {
142151 boolean result = false ;
143152 BootNotificationRequest request =
144- dummyHandlers .getReceivedRequest (new BootNotificationRequest () );
153+ dummyHandlers .getReceivedRequest (BootNotificationRequest . class );
145154 if (request != null ) {
146155 result = request .getChargePointVendor ().equals (vendor );
147156 result &= request .getChargePointModel ().equals (model );
@@ -188,7 +197,7 @@ public boolean hasReceivedSetChargingProfileConfirmation() {
188197 public boolean hasReceivedChangeAvailabilityConfirmation (String status ) {
189198 boolean result = false ;
190199 ChangeAvailabilityConfirmation confirmation =
191- dummyHandlers .getReceivedConfirmation (new ChangeAvailabilityConfirmation () );
200+ dummyHandlers .getReceivedConfirmation (ChangeAvailabilityConfirmation . class );
192201 if (confirmation != null ) result = confirmation .getStatus ().toString ().equals (status );
193202 return result ;
194203 }
@@ -279,7 +288,7 @@ public void sendRemoteStartTransactionWithProfileRequest(int connectorId, String
279288 public boolean hasReceivedRemoteStartTransactionConfirmation (String status ) {
280289 boolean result = false ;
281290 RemoteStartTransactionConfirmation confirmation =
282- dummyHandlers .getReceivedConfirmation (new RemoteStartTransactionConfirmation () );
291+ dummyHandlers .getReceivedConfirmation (RemoteStartTransactionConfirmation . class );
283292 if (confirmation != null ) result = confirmation .getStatus ().toString ().equals (status );
284293 return result ;
285294 }
@@ -293,7 +302,7 @@ public void sendRemoteStopTransactionRequest(int transactionId) throws Exception
293302 public boolean hasReceivedRemoteStopTransactionConfirmation (String status ) {
294303 boolean result = false ;
295304 RemoteStopTransactionConfirmation confirmation =
296- dummyHandlers .getReceivedConfirmation (new RemoteStopTransactionConfirmation () );
305+ dummyHandlers .getReceivedConfirmation (RemoteStopTransactionConfirmation . class );
297306 if (confirmation != null ) result = confirmation .getStatus ().toString ().equals (status );
298307 return result ;
299308 }
@@ -348,7 +357,7 @@ public void sendSetChargingProfileRequest(Integer connectorId, ChargingProfile c
348357
349358 public boolean hasReceivedResetConfirmation (String status ) {
350359 boolean result = false ;
351- ResetConfirmation confirmation = dummyHandlers .getReceivedConfirmation (new ResetConfirmation () );
360+ ResetConfirmation confirmation = dummyHandlers .getReceivedConfirmation (ResetConfirmation . class );
352361 if (confirmation != null ) result = confirmation .getStatus ().toString ().equals (status );
353362 return result ;
354363 }
@@ -374,11 +383,104 @@ public void sendUnlockConnectorRequest(int connectorId) throws Exception {
374383 public boolean hasReceivedUnlockConnectorConfirmation (String status ) {
375384 boolean result = false ;
376385 UnlockConnectorConfirmation confirmation =
377- dummyHandlers .getReceivedConfirmation (new UnlockConnectorConfirmation () );
386+ dummyHandlers .getReceivedConfirmation (UnlockConnectorConfirmation . class );
378387 if (confirmation != null ) result = confirmation .getStatus ().toString ().equals (status );
379388 return result ;
380389 }
381390
391+ public void sendCertificateSignedRequest (String certificateChain ) throws Exception {
392+ Request request = new CertificateSignedRequest (certificateChain );
393+ send (request );
394+ }
395+
396+ public boolean hasReceivedCertificateSignedConfirmation (String status ) {
397+ CertificateSignedConfirmation confirmation =
398+ dummyHandlers .getReceivedConfirmation (CertificateSignedConfirmation .class );
399+ return confirmation != null && confirmation .getStatus ().toString ().equals (status );
400+ }
401+
402+ public void sendDeleteCertificateRequest (CertificateHashDataType certificateHashDataType ) throws Exception {
403+ Request request = new DeleteCertificateRequest (certificateHashDataType );
404+ send (request );
405+ }
406+
407+ public boolean hasReceivedDeleteCertificateConfirmation (String status ) {
408+ DeleteCertificateConfirmation confirmation =
409+ dummyHandlers .getReceivedConfirmation (DeleteCertificateConfirmation .class );
410+ return confirmation != null && confirmation .getStatus ().toString ().equals (status );
411+ }
412+
413+ public void sendExtendedTriggerMessageRequest (MessageTriggerEnumType requestedMessage ) throws Exception {
414+ Request request = new ExtendedTriggerMessageRequest (requestedMessage );
415+ send (request );
416+ }
417+
418+ public boolean hasReceivedExtendedTriggerMessageConfirmation (String status ) {
419+ ExtendedTriggerMessageConfirmation confirmation =
420+ dummyHandlers .getReceivedConfirmation (ExtendedTriggerMessageConfirmation .class );
421+ return confirmation != null && confirmation .getStatus ().toString ().equals (status );
422+ }
423+
424+ public void sendGetInstalledCertificateIdsRequest (CertificateUseEnumType certificateType ) throws Exception {
425+ Request request = new GetInstalledCertificateIdsRequest (certificateType );
426+ send (request );
427+ }
428+
429+ public boolean hasReceivedGetInstalledCertificateIdsConfirmation (String status ) {
430+ GetInstalledCertificateIdsConfirmation confirmation =
431+ dummyHandlers .getReceivedConfirmation (GetInstalledCertificateIdsConfirmation .class );
432+ return confirmation != null && confirmation .getStatus ().toString ().equals (status );
433+ }
434+
435+ public void sendGetLogRequest (LogEnumType logType , Integer requestId , LogParametersType log ) throws Exception {
436+ Request request = new GetLogRequest (logType , requestId , log );
437+ send (request );
438+ }
439+
440+ public boolean hasReceivedGetLogConfirmation (String status ) {
441+ GetLogConfirmation confirmation =
442+ dummyHandlers .getReceivedConfirmation (GetLogConfirmation .class );
443+ return confirmation != null && confirmation .getStatus ().toString ().equals (status );
444+ }
445+
446+ public void sendInstallCertificateRequest (CertificateUseEnumType certificateType , String certificate ) throws Exception {
447+ Request request = new InstallCertificateRequest (certificateType , certificate );
448+ send (request );
449+ }
450+
451+ public boolean hasReceivedInstallCertificateConfirmation (String status ) {
452+ InstallCertificateConfirmation confirmation =
453+ dummyHandlers .getReceivedConfirmation (InstallCertificateConfirmation .class );
454+ return confirmation != null && confirmation .getStatus ().toString ().equals (status );
455+ }
456+
457+ public boolean hasHandledLogStatusNotificationRequest () {
458+ return dummyHandlers .wasLatestRequest (LogStatusNotificationRequest .class );
459+ }
460+
461+ public boolean hasHandledSecurityEventNotificationRequest () {
462+ return dummyHandlers .wasLatestRequest (SecurityEventNotificationRequest .class );
463+ }
464+
465+ public boolean hasHandledSignCertificateRequest () {
466+ return dummyHandlers .wasLatestRequest (SignCertificateRequest .class );
467+ }
468+
469+ public boolean hasHandledSignedFirmwareStatusNotificationRequest () {
470+ return dummyHandlers .wasLatestRequest (SignedFirmwareStatusNotificationRequest .class );
471+ }
472+
473+ public void sendSignedUpdateFirmwareRequest (Integer requestId , FirmwareType firmware ) throws Exception {
474+ Request request = new SignedUpdateFirmwareRequest (requestId , firmware );
475+ send (request );
476+ }
477+
478+ public boolean hasReceivedSignedUpdateFirmwareConfirmation (String status ) {
479+ SignedUpdateFirmwareConfirmation confirmation =
480+ dummyHandlers .getReceivedConfirmation (SignedUpdateFirmwareConfirmation .class );
481+ return confirmation != null && confirmation .getStatus ().toString ().equals (status );
482+ }
483+
382484 public void rigNextRequestToFail () {
383485 dummyHandlers .setRiggedToFail (true );
384486 }
0 commit comments