Skip to content

Commit 96df231

Browse files
committed
fix: randomInt() usage and its boundaries
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
1 parent fccc108 commit 96df231

5 files changed

Lines changed: 11 additions & 10 deletions

File tree

src/charging-station/AutomaticTransactionGenerator.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ export class AutomaticTransactionGenerator {
300300
.minDelayBetweenTwoTransactions,
301301
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
302302
this.chargingStation.getAutomaticTransactionGeneratorConfiguration()!
303-
.maxDelayBetweenTwoTransactions
303+
.maxDelayBetweenTwoTransactions + 1
304304
)
305305
)
306306
logger.info(`${this.logPrefix(connectorId)} waiting for ${formatDurationMilliSeconds(wait)}`)
@@ -322,7 +322,7 @@ export class AutomaticTransactionGenerator {
322322
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
323323
this.chargingStation.getAutomaticTransactionGeneratorConfiguration()!.minDuration,
324324
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
325-
this.chargingStation.getAutomaticTransactionGeneratorConfiguration()!.maxDuration
325+
this.chargingStation.getAutomaticTransactionGeneratorConfiguration()!.maxDuration + 1
326326
)
327327
)
328328
logger.info(

src/charging-station/ChargingStation.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1625,7 +1625,7 @@ export class ChargingStation extends EventEmitter {
16251625
}
16261626
const templateConnectorId =
16271627
connectorId > 0 && stationTemplate.randomConnectors === true
1628-
? randomInt(1, templateMaxAvailableConnectors)
1628+
? randomInt(1, templateMaxAvailableConnectors + 1)
16291629
: connectorId
16301630
const connectorStatus = stationTemplate.Connectors[templateConnectorId]
16311631
checkStationInfoConnectorStatus(

src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1669,7 +1669,7 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
16691669
chargingStation.stationInfo?.firmwareUpgrade?.failureStatus ===
16701670
OCPP16FirmwareStatus.DownloadFailed
16711671
) {
1672-
await sleep(secondsToMilliseconds(randomInt(minDelay, maxDelay)))
1672+
await sleep(secondsToMilliseconds(randomInt(minDelay, maxDelay + 1)))
16731673
await chargingStation.ocppRequestService.requestHandler<
16741674
OCPP16FirmwareStatusNotificationRequest,
16751675
OCPP16FirmwareStatusNotificationResponse
@@ -1680,7 +1680,7 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
16801680
chargingStation.stationInfo.firmwareUpgrade.failureStatus
16811681
return
16821682
}
1683-
await sleep(secondsToMilliseconds(randomInt(minDelay, maxDelay)))
1683+
await sleep(secondsToMilliseconds(randomInt(minDelay, maxDelay + 1)))
16841684
await chargingStation.ocppRequestService.requestHandler<
16851685
OCPP16FirmwareStatusNotificationRequest,
16861686
OCPP16FirmwareStatusNotificationResponse
@@ -1736,7 +1736,8 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
17361736
transactionsStarted = false
17371737
}
17381738
} while (transactionsStarted)
1739-
!wasTransactionsStarted && (await sleep(secondsToMilliseconds(randomInt(minDelay, maxDelay))))
1739+
!wasTransactionsStarted &&
1740+
(await sleep(secondsToMilliseconds(randomInt(minDelay, maxDelay + 1))))
17401741
if (!checkChargingStationState(chargingStation, chargingStation.logPrefix())) {
17411742
return
17421743
}
@@ -1752,7 +1753,7 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
17521753
chargingStation.stationInfo?.firmwareUpgrade?.failureStatus ===
17531754
OCPP16FirmwareStatus.InstallationFailed
17541755
) {
1755-
await sleep(secondsToMilliseconds(randomInt(minDelay, maxDelay)))
1756+
await sleep(secondsToMilliseconds(randomInt(minDelay, maxDelay + 1)))
17561757
await chargingStation.ocppRequestService.requestHandler<
17571758
OCPP16FirmwareStatusNotificationRequest,
17581759
OCPP16FirmwareStatusNotificationResponse
@@ -1764,7 +1765,7 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
17641765
return
17651766
}
17661767
if (chargingStation.stationInfo?.firmwareUpgrade?.reset === true) {
1767-
await sleep(secondsToMilliseconds(randomInt(minDelay, maxDelay)))
1768+
await sleep(secondsToMilliseconds(randomInt(minDelay, maxDelay + 1)))
17681769
await chargingStation.reset(OCPP16StopTransactionReason.REBOOT)
17691770
}
17701771
}

tests/utils/AsyncLock.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ await describe('AsyncLock test suite', async () => {
2828
let count = 0
2929
const asyncFn = async () => {
3030
await new Promise(resolve => {
31-
setTimeout(resolve, randomInt(1, 100))
31+
setTimeout(resolve, randomInt(1, 101))
3232
})
3333
executed.push(++count)
3434
}

tests/utils/Utils.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ await describe('Utils test suite', async () => {
102102
expect(convertToInt(undefined)).toBe(0)
103103
expect(convertToInt(null)).toBe(0)
104104
expect(convertToInt(0)).toBe(0)
105-
const randomInteger = randomInt(Constants.MAX_RANDOM_INTEGER)
105+
const randomInteger = randomInt(Constants.MAX_RANDOM_INTEGER + 1)
106106
expect(convertToInt(randomInteger)).toEqual(randomInteger)
107107
expect(convertToInt('-1')).toBe(-1)
108108
expect(convertToInt('1')).toBe(1)

0 commit comments

Comments
 (0)