### Question:
MotownCentralSystemService implements CentralSystemService { @Override public StatusNotificationResponse statusNotification(StatusNotificationRequest request, String chargeBoxIdentity) { ChargingStationId chargingStationId = new ChargingStationId(chargeBoxIdentity); EvseId evseId = new EvseId(request.getConnectorId()); ComponentStatus componentStatus = getComponentStatusFromChargePointStatus(request.getStatus()); String errorCode = request.getErrorCode() != null ? request.getErrorCode().value() : null; Date timestamp = new Date(); AttributeMap<String, String> attributes = new AttributeMap<>(); attributes.putIfValueNotNull(AttributeMapKeys.STATUS_NOTIFICATION_ERROR_CODE_KEY, errorCode); domainService.statusNotification(chargingStationId, evseId, new StatusNotification(componentStatus, timestamp, attributes), addOnIdentity); return new StatusNotificationResponse(); }  @Override AuthorizeResponse authorize(final AuthorizeRequest request, final String chargeBoxIdentity); @Override BootNotificationResponse bootNotification(BootNotificationRequest request, String chargeBoxIdentity); @Override DiagnosticsStatusNotificationResponse diagnosticsStatusNotification(DiagnosticsStatusNotificationRequest request, String chargeBoxIdentity); @Override FirmwareStatusNotificationResponse firmwareStatusNotification(FirmwareStatusNotificationRequest request, String chargeBoxIdentity); @Override HeartbeatResponse heartbeat(HeartbeatRequest parameters, String chargeBoxIdentity); @Override MeterValuesResponse meterValues(MeterValuesRequest request, String chargeBoxIdentity); @Override StartTransactionResponse startTransaction(final StartTransactionRequest parameters, final String chargeBoxIdentity); @Override StatusNotificationResponse statusNotification(StatusNotificationRequest request, String chargeBoxIdentity); @Override StopTransactionResponse stopTransaction(StopTransactionRequest request, String chargeBoxIdentity); void setDomainService(DomainService domainService); void setContext(WebServiceContext context); void setContinuationTimeout(int continuationTimeout); void setHeartbeatIntervalFallback(int heartbeatIntervalFallback); void setSoapHeaderReader(SoapHeaderReader soapHeaderReader); void setAddOnId(String id);  }### Answer:
@Test public void statusNotificationVerifyResponse() { StatusNotificationRequest request = new StatusNotificationRequest(); request.setStatus(ChargePointStatus.AVAILABLE); StatusNotificationResponse response = motownCentralSystemService.statusNotification(request, CHARGING_STATION_ID.getId()); assertNotNull(response); }
@Test public void statusNotificationVerifyServiceCall() { StatusNotificationRequest request = new StatusNotificationRequest(); request.setStatus(ChargePointStatus.FAULTED); request.setConnectorId(EVSE_ID.getNumberedId()); request.setErrorCode(ChargePointErrorCode.CONNECTOR_LOCK_FAILURE); motownCentralSystemService.statusNotification(request, CHARGING_STATION_ID.getId()); verify(domainService).statusNotification(eq(CHARGING_STATION_ID), eq(EVSE_ID), any(StatusNotification.class), eq(OCPPS12_ADD_ON_IDENTITY)); }