Skip to content

Commit 177a4a7

Browse files
committed
For story TG-1: Implemented Server Reset feature.
1 parent 5df04ef commit 177a4a7

File tree

4 files changed

+29
-4
lines changed

4 files changed

+29
-4
lines changed

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,4 +232,18 @@ public boolean hasReceivedRemoteStopTransactionConfirmation(String status) {
232232
result &= ((RemoteStopTransactionConfirmation) receivedConfirmation).getStatus().equals(status);
233233
return result;
234234
}
235+
236+
public void sendResetRequest(ResetType type) throws Exception {
237+
ResetRequest request = new ResetRequest();
238+
request.setType(type);
239+
server.send(sessionIndex, request).whenComplete((confirmation, throwable) -> receivedConfirmation = confirmation);
240+
}
241+
242+
public boolean hasReceivedResetConfirmation(String status) {
243+
boolean result = receivedConfirmation instanceof ResetConfirmation;
244+
if (result)
245+
result &= ((ResetConfirmation) receivedConfirmation).getStatus().equals(status);
246+
return result;
247+
}
248+
235249
}

ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/core/Reset.groovy renamed to ocpp-v1_6-test/src/test/groovy/eu/chargetime/ocpp/test/core/ResetSpec.groovy

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

3+
import eu.chargetime.ocpp.model.core.ResetType
4+
import eu.chargetime.ocpp.test.FakeCentralSystem
35
import eu.chargetime.ocpp.test.FakeChargePoint
4-
import eu.chargetime.ocpp.test.OldFakeCentralSystem
56
import spock.lang.Shared
67
import spock.lang.Specification
78
import spock.util.concurrent.PollingConditions
89

9-
class Reset extends Specification {
10+
class ResetSpec extends Specification {
1011
@Shared
11-
OldFakeCentralSystem centralSystem = OldFakeCentralSystem.getInstance();
12+
FakeCentralSystem centralSystem = FakeCentralSystem.getInstance();
1213
@Shared
1314
FakeChargePoint chargePoint = new FakeChargePoint();
1415

@@ -28,7 +29,7 @@ class Reset extends Specification {
2829
def "Central System sends a Reset request and receives a response"() {
2930
def conditions = new PollingConditions(timeout: 1)
3031
when:
31-
centralSystem.sendResetRequest("Soft");
32+
centralSystem.sendResetRequest(ResetType.Hard);
3233

3334
then:
3435
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
@@ -51,6 +51,7 @@ public ServerCoreProfile(ServerCoreEventHandler handler) {
5151
features.add(new MeterValuesFeature(this));
5252
features.add(new RemoteStartTransactionFeature(this));
5353
features.add(new RemoteStopTransactionFeature(this));
54+
features.add(new ResetFeature(this));
5455
}
5556

5657
@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
@@ -215,6 +215,15 @@ public void getFeatureList_containsRemoteStopTransactionFeature() {
215215
assertThat(findFeature(features, "RemoteStopTransaction"), is(instanceOf(RemoteStopTransactionFeature.class)));
216216
}
217217

218+
@Test
219+
public void getFeatureList_containsResetFeature() {
220+
// When
221+
Feature[] features = core.getFeatureList();
222+
223+
// Then
224+
assertThat(findFeature(features, "Reset"), is(instanceOf(ResetFeature.class)));
225+
}
226+
218227
private Feature findFeature(Feature[] features, String action) {
219228
Feature output = null;
220229
for (Feature feature : features) {

0 commit comments

Comments
 (0)