Search in sources :

Example 1 with StressTester

use of de.rwth.idsg.steve.utils.StressTester in project EVSUPERVISION by EnergyTIC.

the class StressTestSoapOCPP16 method attackInternal.

protected void attackInternal() throws Exception {
    final List<String> idTags = getRandomStrings(ID_TAG_COUNT);
    final List<String> chargeBoxIds = getRandomStrings(CHARGE_BOX_COUNT);
    StressTester.Runnable runnable = new StressTester.Runnable() {

        private final ThreadLocal<String> threadLocalChargeBoxId = new ThreadLocal<>();

        @Override
        public void beforeRepeat() {
            CentralSystemService client = getForOcpp16(path);
            ThreadLocalRandom localRandom = ThreadLocalRandom.current();
            threadLocalChargeBoxId.set(chargeBoxIds.get(localRandom.nextInt(chargeBoxIds.size())));
            String chargeBoxId = threadLocalChargeBoxId.get();
            // to insert threadLocalChargeBoxId into db
            BootNotificationResponse boot = client.bootNotification(new BootNotificationRequest().withChargePointVendor(getRandomString()).withChargePointModel(getRandomString()), chargeBoxId);
            Assertions.assertEquals(RegistrationStatus.ACCEPTED, boot.getStatus());
        }

        @Override
        public void toRepeat() {
            CentralSystemService client = getForOcpp16(path);
            ThreadLocalRandom localRandom = ThreadLocalRandom.current();
            String chargeBoxId = threadLocalChargeBoxId.get();
            String idTag = idTags.get(localRandom.nextInt(idTags.size()));
            int connectorId = localRandom.nextInt(1, CONNECTOR_COUNT_PER_CHARGE_BOX + 1);
            int transactionStart = localRandom.nextInt(0, Integer.MAX_VALUE);
            int transactionStop = localRandom.nextInt(transactionStart + 1, Integer.MAX_VALUE);
            HeartbeatResponse heartbeat = client.heartbeat(new HeartbeatRequest(), chargeBoxId);
            Assertions.assertNotNull(heartbeat);
            for (int i = 0; i <= CONNECTOR_COUNT_PER_CHARGE_BOX; i++) {
                StatusNotificationResponse status = client.statusNotification(new StatusNotificationRequest().withErrorCode(ChargePointErrorCode.NO_ERROR).withStatus(ChargePointStatus.AVAILABLE).withConnectorId(i).withTimestamp(DateTime.now()), chargeBoxId);
                Assertions.assertNotNull(status);
            }
            AuthorizeResponse auth = client.authorize(new AuthorizeRequest().withIdTag(idTag), chargeBoxId);
            Assertions.assertNotEquals(AuthorizationStatus.ACCEPTED, auth.getIdTagInfo().getStatus());
            StartTransactionResponse start = client.startTransaction(new StartTransactionRequest().withConnectorId(connectorId).withIdTag(idTag).withTimestamp(DateTime.now()).withMeterStart(transactionStart), chargeBoxId);
            Assertions.assertNotNull(start);
            StatusNotificationResponse statusStart = client.statusNotification(new StatusNotificationRequest().withErrorCode(ChargePointErrorCode.NO_ERROR).withStatus(ChargePointStatus.CHARGING).withConnectorId(connectorId).withTimestamp(DateTime.now()), chargeBoxId);
            Assertions.assertNotNull(statusStart);
            MeterValuesResponse meter = client.meterValues(new MeterValuesRequest().withConnectorId(connectorId).withTransactionId(start.getTransactionId()).withMeterValue(getMeterValues(transactionStart, transactionStop)), chargeBoxId);
            Assertions.assertNotNull(meter);
            StopTransactionResponse stop = client.stopTransaction(new StopTransactionRequest().withTransactionId(start.getTransactionId()).withTimestamp(DateTime.now()).withIdTag(idTag).withMeterStop(transactionStop), chargeBoxId);
            Assertions.assertNotNull(stop);
            StatusNotificationResponse statusStop = client.statusNotification(new StatusNotificationRequest().withErrorCode(ChargePointErrorCode.NO_ERROR).withStatus(ChargePointStatus.AVAILABLE).withConnectorId(connectorId).withTimestamp(DateTime.now()), chargeBoxId);
            Assertions.assertNotNull(statusStop);
        }

        @Override
        public void afterRepeat() {
        }
    };
    StressTester tester = new StressTester(THREAD_COUNT, REPEAT_COUNT_PER_THREAD);
    tester.test(runnable);
    tester.shutDown();
}
Also used : HeartbeatResponse(ocpp.cs._2015._10.HeartbeatResponse) MeterValuesResponse(ocpp.cs._2015._10.MeterValuesResponse) StopTransactionResponse(ocpp.cs._2015._10.StopTransactionResponse) AuthorizeRequest(ocpp.cs._2015._10.AuthorizeRequest) MeterValuesRequest(ocpp.cs._2015._10.MeterValuesRequest) CentralSystemService(ocpp.cs._2015._10.CentralSystemService) StatusNotificationResponse(ocpp.cs._2015._10.StatusNotificationResponse) BootNotificationRequest(ocpp.cs._2015._10.BootNotificationRequest) Helpers.getRandomString(de.rwth.idsg.steve.utils.Helpers.getRandomString) StressTester(de.rwth.idsg.steve.utils.StressTester) HeartbeatRequest(ocpp.cs._2015._10.HeartbeatRequest) BootNotificationResponse(ocpp.cs._2015._10.BootNotificationResponse) AuthorizeResponse(ocpp.cs._2015._10.AuthorizeResponse) StopTransactionRequest(ocpp.cs._2015._10.StopTransactionRequest) StartTransactionRequest(ocpp.cs._2015._10.StartTransactionRequest) StartTransactionResponse(ocpp.cs._2015._10.StartTransactionResponse) ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) StatusNotificationRequest(ocpp.cs._2015._10.StatusNotificationRequest)

Example 2 with StressTester

use of de.rwth.idsg.steve.utils.StressTester in project steve by RWTH-i5-IDSG.

the class Issue72 method attackInternal.

protected void attackInternal() throws Exception {
    String idTag = __DatabasePreparer__.getRegisteredOcppTag();
    String chargeBoxId = Helpers.getRandomString();
    DateTime startDateTime = DateTime.now();
    DateTime stopDateTime = startDateTime.plusHours(5);
    int connectorId = 2;
    int meterStart = 444;
    int meterStop = 99999;
    BootNotificationResponse boot = getForOcpp16(path).bootNotification(new BootNotificationRequest().withChargePointVendor(getRandomString()).withChargePointModel(getRandomString()), chargeBoxId);
    Assertions.assertEquals(RegistrationStatus.ACCEPTED, boot.getStatus());
    StartTransactionResponse start = getForOcpp16(path).startTransaction(new StartTransactionRequest().withConnectorId(connectorId).withIdTag(idTag).withTimestamp(startDateTime).withMeterStart(meterStart), chargeBoxId);
    Assertions.assertNotNull(start);
    int transactionId = start.getTransactionId();
    StressTester.Runnable runnable = new StressTester.Runnable() {

        private final ThreadLocal<CentralSystemService> threadLocalClient = new ThreadLocal<>();

        @Override
        public void beforeRepeat() {
            threadLocalClient.set(getForOcpp16(path));
        }

        @Override
        public void toRepeat() {
            MeterValuesResponse mvr = threadLocalClient.get().meterValues(new MeterValuesRequest().withConnectorId(connectorId).withTransactionId(transactionId).withMeterValue(new MeterValue().withTimestamp(stopDateTime).withSampledValue(new SampledValue().withValue("555").withUnit(UnitOfMeasure.WH))), chargeBoxId);
            Assertions.assertNotNull(mvr);
            StopTransactionResponse stop = threadLocalClient.get().stopTransaction(new StopTransactionRequest().withTransactionId(transactionId).withTimestamp(stopDateTime).withIdTag(idTag).withMeterStop(meterStop), chargeBoxId);
            Assertions.assertNotNull(stop);
        }

        @Override
        public void afterRepeat() {
        }
    };
    StressTester tester = new StressTester(THREAD_COUNT, REPEAT_COUNT_PER_THREAD);
    tester.test(runnable);
    tester.shutDown();
}
Also used : MeterValuesResponse(ocpp.cs._2015._10.MeterValuesResponse) StopTransactionResponse(ocpp.cs._2015._10.StopTransactionResponse) MeterValuesRequest(ocpp.cs._2015._10.MeterValuesRequest) BootNotificationRequest(ocpp.cs._2015._10.BootNotificationRequest) Helpers.getRandomString(de.rwth.idsg.steve.utils.Helpers.getRandomString) DateTime(org.joda.time.DateTime) StressTester(de.rwth.idsg.steve.utils.StressTester) MeterValue(ocpp.cs._2015._10.MeterValue) SampledValue(ocpp.cs._2015._10.SampledValue) BootNotificationResponse(ocpp.cs._2015._10.BootNotificationResponse) StopTransactionRequest(ocpp.cs._2015._10.StopTransactionRequest) StartTransactionRequest(ocpp.cs._2015._10.StartTransactionRequest) StartTransactionResponse(ocpp.cs._2015._10.StartTransactionResponse)

Example 3 with StressTester

use of de.rwth.idsg.steve.utils.StressTester in project steve by RWTH-i5-IDSG.

the class Issue72LowLevelSoap method attackInternal.

protected void attackInternal() throws Exception {
    String idTag = __DatabasePreparer__.getRegisteredOcppTag();
    String chargeBoxId = Helpers.getRandomString();
    DateTime startDateTime = DateTime.parse("2018-06-27T01:10:10Z");
    DateTime stopDateTime = DateTime.parse("2018-06-27T04:10:10Z");
    int connectorId = 2;
    int meterStart = 444;
    int meterStop = 99999;
    BootNotificationResponse boot = getForOcpp16(path).bootNotification(new BootNotificationRequest().withChargePointVendor(getRandomString()).withChargePointModel(getRandomString()), chargeBoxId);
    Assertions.assertEquals(RegistrationStatus.ACCEPTED, boot.getStatus());
    StartTransactionResponse start = getForOcpp16(path).startTransaction(new StartTransactionRequest().withConnectorId(connectorId).withIdTag(idTag).withTimestamp(startDateTime).withMeterStart(meterStart), chargeBoxId);
    Assertions.assertNotNull(start);
    int transactionId = start.getTransactionId();
    String body = buildRequest(chargeBoxId, transactionId, idTag, stopDateTime, meterStop);
    ContentType contentType = ContentType.create(MediaType.SOAP_XML_UTF_8.type(), MediaType.SOAP_XML_UTF_8.charset().orNull());
    HttpUriRequest req = RequestBuilder.post(path).addHeader("SOAPAction", "urn://Ocpp/Cs/2015/10/StopTransaction").setEntity(new StringEntity(body, contentType)).build();
    CloseableHttpClient httpClient = HttpClients.createDefault();
    StressTester.Runnable runnable = new StressTester.Runnable() {

        private final ThreadLocal<CentralSystemService> threadLocalClient = new ThreadLocal<>();

        @Override
        public void beforeRepeat() {
            threadLocalClient.set(getForOcpp16(path));
        }

        @Override
        public void toRepeat() {
            MeterValuesResponse mvr = threadLocalClient.get().meterValues(new MeterValuesRequest().withConnectorId(connectorId).withTransactionId(transactionId).withMeterValue(new MeterValue().withTimestamp(stopDateTime).withSampledValue(new SampledValue().withMeasurand(Measurand.ENERGY_ACTIVE_IMPORT_REGISTER).withValue("555").withUnit(UnitOfMeasure.WH))), chargeBoxId);
            Assertions.assertNotNull(mvr);
            try {
                httpClient.execute(req, httpResponse -> {
                    if (httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
                        throw new RuntimeException("Not OK");
                    }
                    return null;
                });
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        @Override
        public void afterRepeat() {
        }
    };
    try {
        StressTester tester = new StressTester(100, 100);
        tester.test(runnable);
        tester.shutDown();
    } finally {
        httpClient.close();
    }
}
Also used : HttpUriRequest(org.apache.http.client.methods.HttpUriRequest) CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) MeterValuesResponse(ocpp.cs._2015._10.MeterValuesResponse) ContentType(org.apache.http.entity.ContentType) MeterValuesRequest(ocpp.cs._2015._10.MeterValuesRequest) BootNotificationRequest(ocpp.cs._2015._10.BootNotificationRequest) Helpers.getRandomString(de.rwth.idsg.steve.utils.Helpers.getRandomString) DateTime(org.joda.time.DateTime) StressTester(de.rwth.idsg.steve.utils.StressTester) MeterValue(ocpp.cs._2015._10.MeterValue) SampledValue(ocpp.cs._2015._10.SampledValue) BootNotificationResponse(ocpp.cs._2015._10.BootNotificationResponse) StringEntity(org.apache.http.entity.StringEntity) StartTransactionRequest(ocpp.cs._2015._10.StartTransactionRequest) StartTransactionResponse(ocpp.cs._2015._10.StartTransactionResponse)

Example 4 with StressTester

use of de.rwth.idsg.steve.utils.StressTester in project steve by RWTH-i5-IDSG.

the class StressTestJsonOCPP16 method attackInternal.

protected void attackInternal() throws Exception {
    final List<String> idTags = getRandomStrings(ID_TAG_COUNT);
    final List<String> chargeBoxIds = getRandomStrings(CHARGE_BOX_COUNT);
    StressTester.Runnable runnable = new StressTester.Runnable() {

        private final ThreadLocal<OcppJsonChargePoint> threadLocalChargePoint = new ThreadLocal<>();

        @Override
        public void beforeRepeat() {
            ThreadLocalRandom localRandom = ThreadLocalRandom.current();
            String chargeBoxId = chargeBoxIds.get(localRandom.nextInt(chargeBoxIds.size()));
            threadLocalChargePoint.set(new OcppJsonChargePoint(VERSION, chargeBoxId, PATH));
            OcppJsonChargePoint chargePoint = threadLocalChargePoint.get();
            chargePoint.start();
            chargePoint.prepare(new BootNotificationRequest().withChargePointVendor(getRandomString()).withChargePointModel(getRandomString()), BootNotificationResponse.class, bootResponse -> Assertions.assertEquals(RegistrationStatus.ACCEPTED, bootResponse.getStatus()), error -> Assertions.fail());
        }

        @Override
        public void toRepeat() {
            ThreadLocalRandom localRandom = ThreadLocalRandom.current();
            OcppJsonChargePoint chargePoint = threadLocalChargePoint.get();
            String idTag = idTags.get(localRandom.nextInt(idTags.size()));
            int connectorId = localRandom.nextInt(1, CONNECTOR_COUNT_PER_CHARGE_BOX + 1);
            int transactionStart = localRandom.nextInt(0, Integer.MAX_VALUE);
            int transactionStop = localRandom.nextInt(transactionStart + 1, Integer.MAX_VALUE);
            chargePoint.prepare(new HeartbeatRequest(), HeartbeatResponse.class, Assertions::assertNotNull, error -> Assertions.fail());
            for (int i = 0; i <= CONNECTOR_COUNT_PER_CHARGE_BOX; i++) {
                chargePoint.prepare(new StatusNotificationRequest().withErrorCode(ChargePointErrorCode.NO_ERROR).withStatus(ChargePointStatus.AVAILABLE).withConnectorId(i).withTimestamp(DateTime.now()), StatusNotificationResponse.class, Assertions::assertNotNull, error -> Assertions.fail());
            }
            chargePoint.prepare(new AuthorizeRequest().withIdTag(idTag), AuthorizeResponse.class, response -> Assertions.assertNotEquals(AuthorizationStatus.ACCEPTED, response.getIdTagInfo().getStatus()), error -> Assertions.fail());
            final AtomicInteger transactionId = new AtomicInteger(-1);
            chargePoint.prepare(new StartTransactionRequest().withConnectorId(connectorId).withIdTag(idTag).withTimestamp(DateTime.now()).withMeterStart(transactionStart), StartTransactionResponse.class, response -> {
                Assertions.assertNotNull(response);
                transactionId.set(response.getTransactionId());
            }, error -> Assertions.fail());
            // wait for StartTransactionResponse to arrive, since we need the transactionId from now on
            chargePoint.process();
            chargePoint.prepare(new StatusNotificationRequest().withErrorCode(ChargePointErrorCode.NO_ERROR).withStatus(ChargePointStatus.CHARGING).withConnectorId(connectorId).withTimestamp(DateTime.now()), StatusNotificationResponse.class, Assertions::assertNotNull, error -> Assertions.fail());
            chargePoint.prepare(new MeterValuesRequest().withConnectorId(connectorId).withTransactionId(transactionId.get()).withMeterValue(getMeterValues(transactionStart, transactionStop)), MeterValuesResponse.class, Assertions::assertNotNull, error -> Assertions.fail());
            chargePoint.prepare(new StopTransactionRequest().withTransactionId(transactionId.get()).withTimestamp(DateTime.now()).withIdTag(idTag).withMeterStop(transactionStop), StopTransactionResponse.class, Assertions::assertNotNull, error -> Assertions.fail());
            chargePoint.prepare(new StatusNotificationRequest().withErrorCode(ChargePointErrorCode.NO_ERROR).withStatus(ChargePointStatus.AVAILABLE).withConnectorId(connectorId).withTimestamp(DateTime.now()), StatusNotificationResponse.class, Assertions::assertNotNull, error -> Assertions.fail());
            chargePoint.process();
        }

        @Override
        public void afterRepeat() {
            threadLocalChargePoint.get().close();
        }
    };
    StressTester tester = new StressTester(THREAD_COUNT, REPEAT_COUNT_PER_THREAD);
    tester.test(runnable);
    tester.shutDown();
}
Also used : AuthorizeRequest(ocpp.cs._2015._10.AuthorizeRequest) MeterValuesRequest(ocpp.cs._2015._10.MeterValuesRequest) BootNotificationRequest(ocpp.cs._2015._10.BootNotificationRequest) Helpers.getRandomString(de.rwth.idsg.steve.utils.Helpers.getRandomString) Assertions(org.junit.jupiter.api.Assertions) StressTester(de.rwth.idsg.steve.utils.StressTester) OcppJsonChargePoint(de.rwth.idsg.steve.utils.OcppJsonChargePoint) OcppJsonChargePoint(de.rwth.idsg.steve.utils.OcppJsonChargePoint) HeartbeatRequest(ocpp.cs._2015._10.HeartbeatRequest) StopTransactionRequest(ocpp.cs._2015._10.StopTransactionRequest) StartTransactionRequest(ocpp.cs._2015._10.StartTransactionRequest) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) StatusNotificationRequest(ocpp.cs._2015._10.StatusNotificationRequest)

Example 5 with StressTester

use of de.rwth.idsg.steve.utils.StressTester in project steve by RWTH-i5-IDSG.

the class StressTestSoapOCPP16 method attackInternal.

protected void attackInternal() throws Exception {
    final List<String> idTags = getRandomStrings(ID_TAG_COUNT);
    final List<String> chargeBoxIds = getRandomStrings(CHARGE_BOX_COUNT);
    StressTester.Runnable runnable = new StressTester.Runnable() {

        private final ThreadLocal<String> threadLocalChargeBoxId = new ThreadLocal<>();

        @Override
        public void beforeRepeat() {
            CentralSystemService client = getForOcpp16(path);
            ThreadLocalRandom localRandom = ThreadLocalRandom.current();
            threadLocalChargeBoxId.set(chargeBoxIds.get(localRandom.nextInt(chargeBoxIds.size())));
            String chargeBoxId = threadLocalChargeBoxId.get();
            // to insert threadLocalChargeBoxId into db
            BootNotificationResponse boot = client.bootNotification(new BootNotificationRequest().withChargePointVendor(getRandomString()).withChargePointModel(getRandomString()), chargeBoxId);
            Assertions.assertEquals(RegistrationStatus.ACCEPTED, boot.getStatus());
        }

        @Override
        public void toRepeat() {
            CentralSystemService client = getForOcpp16(path);
            ThreadLocalRandom localRandom = ThreadLocalRandom.current();
            String chargeBoxId = threadLocalChargeBoxId.get();
            String idTag = idTags.get(localRandom.nextInt(idTags.size()));
            int connectorId = localRandom.nextInt(1, CONNECTOR_COUNT_PER_CHARGE_BOX + 1);
            int transactionStart = localRandom.nextInt(0, Integer.MAX_VALUE);
            int transactionStop = localRandom.nextInt(transactionStart + 1, Integer.MAX_VALUE);
            HeartbeatResponse heartbeat = client.heartbeat(new HeartbeatRequest(), chargeBoxId);
            Assertions.assertNotNull(heartbeat);
            for (int i = 0; i <= CONNECTOR_COUNT_PER_CHARGE_BOX; i++) {
                StatusNotificationResponse status = client.statusNotification(new StatusNotificationRequest().withErrorCode(ChargePointErrorCode.NO_ERROR).withStatus(ChargePointStatus.AVAILABLE).withConnectorId(i).withTimestamp(DateTime.now()), chargeBoxId);
                Assertions.assertNotNull(status);
            }
            AuthorizeResponse auth = client.authorize(new AuthorizeRequest().withIdTag(idTag), chargeBoxId);
            Assertions.assertNotEquals(AuthorizationStatus.ACCEPTED, auth.getIdTagInfo().getStatus());
            StartTransactionResponse start = client.startTransaction(new StartTransactionRequest().withConnectorId(connectorId).withIdTag(idTag).withTimestamp(DateTime.now()).withMeterStart(transactionStart), chargeBoxId);
            Assertions.assertNotNull(start);
            StatusNotificationResponse statusStart = client.statusNotification(new StatusNotificationRequest().withErrorCode(ChargePointErrorCode.NO_ERROR).withStatus(ChargePointStatus.CHARGING).withConnectorId(connectorId).withTimestamp(DateTime.now()), chargeBoxId);
            Assertions.assertNotNull(statusStart);
            MeterValuesResponse meter = client.meterValues(new MeterValuesRequest().withConnectorId(connectorId).withTransactionId(start.getTransactionId()).withMeterValue(getMeterValues(transactionStart, transactionStop)), chargeBoxId);
            Assertions.assertNotNull(meter);
            StopTransactionResponse stop = client.stopTransaction(new StopTransactionRequest().withTransactionId(start.getTransactionId()).withTimestamp(DateTime.now()).withIdTag(idTag).withMeterStop(transactionStop), chargeBoxId);
            Assertions.assertNotNull(stop);
            StatusNotificationResponse statusStop = client.statusNotification(new StatusNotificationRequest().withErrorCode(ChargePointErrorCode.NO_ERROR).withStatus(ChargePointStatus.AVAILABLE).withConnectorId(connectorId).withTimestamp(DateTime.now()), chargeBoxId);
            Assertions.assertNotNull(statusStop);
        }

        @Override
        public void afterRepeat() {
        }
    };
    StressTester tester = new StressTester(THREAD_COUNT, REPEAT_COUNT_PER_THREAD);
    tester.test(runnable);
    tester.shutDown();
}
Also used : HeartbeatResponse(ocpp.cs._2015._10.HeartbeatResponse) MeterValuesResponse(ocpp.cs._2015._10.MeterValuesResponse) StopTransactionResponse(ocpp.cs._2015._10.StopTransactionResponse) AuthorizeRequest(ocpp.cs._2015._10.AuthorizeRequest) MeterValuesRequest(ocpp.cs._2015._10.MeterValuesRequest) CentralSystemService(ocpp.cs._2015._10.CentralSystemService) StatusNotificationResponse(ocpp.cs._2015._10.StatusNotificationResponse) BootNotificationRequest(ocpp.cs._2015._10.BootNotificationRequest) Helpers.getRandomString(de.rwth.idsg.steve.utils.Helpers.getRandomString) StressTester(de.rwth.idsg.steve.utils.StressTester) HeartbeatRequest(ocpp.cs._2015._10.HeartbeatRequest) BootNotificationResponse(ocpp.cs._2015._10.BootNotificationResponse) AuthorizeResponse(ocpp.cs._2015._10.AuthorizeResponse) StopTransactionRequest(ocpp.cs._2015._10.StopTransactionRequest) StartTransactionRequest(ocpp.cs._2015._10.StartTransactionRequest) StartTransactionResponse(ocpp.cs._2015._10.StartTransactionResponse) ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) StatusNotificationRequest(ocpp.cs._2015._10.StatusNotificationRequest)

Aggregations

StressTester (de.rwth.idsg.steve.utils.StressTester)10 BootNotificationRequest (ocpp.cs._2015._10.BootNotificationRequest)10 StartTransactionRequest (ocpp.cs._2015._10.StartTransactionRequest)10 Helpers.getRandomString (de.rwth.idsg.steve.utils.Helpers.getRandomString)8 BootNotificationResponse (ocpp.cs._2015._10.BootNotificationResponse)8 MeterValuesRequest (ocpp.cs._2015._10.MeterValuesRequest)8 MeterValuesResponse (ocpp.cs._2015._10.MeterValuesResponse)6 StartTransactionResponse (ocpp.cs._2015._10.StartTransactionResponse)6 StopTransactionRequest (ocpp.cs._2015._10.StopTransactionRequest)6 ThreadLocalRandom (java.util.concurrent.ThreadLocalRandom)4 AuthorizeRequest (ocpp.cs._2015._10.AuthorizeRequest)4 HeartbeatRequest (ocpp.cs._2015._10.HeartbeatRequest)4 MeterValue (ocpp.cs._2015._10.MeterValue)4 SampledValue (ocpp.cs._2015._10.SampledValue)4 StatusNotificationRequest (ocpp.cs._2015._10.StatusNotificationRequest)4 StopTransactionResponse (ocpp.cs._2015._10.StopTransactionResponse)4 DateTime (org.joda.time.DateTime)4 OcppJsonChargePoint (de.rwth.idsg.steve.utils.OcppJsonChargePoint)2 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)2 AuthorizeResponse (ocpp.cs._2015._10.AuthorizeResponse)2