Skip to content

Commit a7ed677

Browse files
committed
Implemented Server RemoteStartTransaction feature.
1 parent 9e0d9ba commit a7ed677

File tree

4 files changed

+30
-4
lines changed

4 files changed

+30
-4
lines changed

ocpp-v1_6-test/src/main/java/eu/chargetime/ocpp/test/FakeCentralSystem.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,4 +203,20 @@ public boolean hasHandledHeartbeat() {
203203
public boolean hasHandledMeterValuesRequest() {
204204
return receivedRequest instanceof MeterValuesRequest;
205205
}
206+
207+
public void sendRemoteStartTransactionRequest(int connectorId, String idTag) throws Exception {
208+
RemoteStartTransactionRequest request = new RemoteStartTransactionRequest();
209+
IdToken idToken = new IdToken();
210+
idToken.setIdToken(idTag);
211+
request.setIdTag(idToken);
212+
request.setConnectorId(connectorId);
213+
server.send(sessionIndex, request).whenComplete((confirmation, throwable) -> receivedConfirmation = confirmation);
214+
}
215+
216+
public boolean hasReceivedRemoteStartTransactionConfirmation(String status) {
217+
boolean result = receivedConfirmation instanceof RemoteStartTransactionConfirmation;
218+
if (result)
219+
result &= ((RemoteStartTransactionConfirmation) receivedConfirmation).getStatus().equals(status);
220+
return result;
221+
}
206222
}

ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/core/RemoteStartTransaction.groovy renamed to ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/core/RemoteStartTransactionSpec.groovy

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package eu.chargetime.ocpp.test.core
22

3+
import eu.chargetime.ocpp.test.FakeCentralSystem
34
import eu.chargetime.ocpp.test.FakeChargePoint
4-
import eu.chargetime.ocpp.test.OldFakeCentralSystem
55
import spock.lang.Shared
66
import spock.lang.Specification
77
import spock.util.concurrent.PollingConditions
88

9-
class RemoteStartTransaction extends Specification {
9+
class RemoteStartTransactionSpec extends Specification {
1010
@Shared
11-
OldFakeCentralSystem centralSystem = OldFakeCentralSystem.getInstance();
11+
FakeCentralSystem centralSystem = FakeCentralSystem.getInstance();
1212
@Shared
1313
FakeChargePoint chargePoint = new FakeChargePoint();
1414

@@ -28,7 +28,7 @@ class RemoteStartTransaction extends Specification {
2828
def "Central System sends a RemoteStartTransaction request and receives a response"() {
2929
def conditions = new PollingConditions(timeout: 1)
3030
when:
31-
centralSystem.sendRemoteStartTransactionRequest("some id");
31+
centralSystem.sendRemoteStartTransactionRequest(1, "some id");
3232

3333
then:
3434
conditions.eventually {

ocpp-v1_6/src/main/java/eu/chargetime/ocpp/feature/profile/ServerCoreProfile.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ public ServerCoreProfile(ServerCoreEventHandler handler) {
4949
features.add(new GetConfigurationFeature(this));
5050
features.add(new HeartbeatFeature(this));
5151
features.add(new MeterValuesFeature(this));
52+
features.add(new RemoteStartTransactionFeature(this));
5253
}
5354

5455
@Override

ocpp-v1_6/src/test/java/eu/chargetime/ocpp/feature/profile/test/ServerCoreProfileTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,15 @@ public void handleRequest_aMeterValuesRequest_callsHandleMeterValuesRequest() {
197197
verify(handler, times(1)).handleMeterValuesRequest(eq(sessionId), eq(request));
198198
}
199199

200+
@Test
201+
public void getFeatureList_containsRemoteStartTransactionFeature() {
202+
// When
203+
Feature[] features = core.getFeatureList();
204+
205+
// Then
206+
assertThat(findFeature(features, "RemoteStartTransaction"), is(instanceOf(RemoteStartTransactionFeature.class)));
207+
}
208+
200209
private Feature findFeature(Feature[] features, String action) {
201210
Feature output = null;
202211
for (Feature feature : features) {

0 commit comments

Comments
 (0)