setupConnectorWithTransaction,
standardCleanup,
} from '../../../helpers/TestLifecycleHelpers.js'
+import { TEST_ID_TAG } from '../../ChargingStationTestConstants.js'
import {
createOCPP16IncomingRequestTestContext,
createOCPP16ListenerStation,
const { station, testableService } = testContext
const request: RemoteStartTransactionRequest = {
connectorId: 0,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
// Act
const { station, testableService } = testContext
const request: RemoteStartTransactionRequest = {
connectorId: 1,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
// Act
}
const request: RemoteStartTransactionRequest = {
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
// Act
// Arrange
const { station, testableService } = testContext
const request: RemoteStartTransactionRequest = {
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
// Act
const request: RemoteStartTransactionRequest = {
connectorId: 1,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
// Act
const request: RemoteStartTransactionRequest = {
connectorId: 1,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
// Act
const { station, testableService } = testContext
const request: RemoteStartTransactionRequest = {
connectorId: 99,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
// Act
const request: RemoteStartTransactionRequest = {
connectorId: 1,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
const response = { status: GenericStatus.Accepted }
// Arrange
const request: RemoteStartTransactionRequest = {
connectorId: 1,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
const response = { status: GenericStatus.Rejected }
const request: RemoteStartTransactionRequest = {
connectorId: 1,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
const response = { status: GenericStatus.Accepted }
const request: RemoteStartTransactionRequest = {
connectorId: 1,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
const response = { status: GenericStatus.Accepted }
OCPP16StandardParametersKey,
} from '../../../../src/types/index.js'
import { standardCleanup } from '../../../helpers/TestLifecycleHelpers.js'
+import { TEST_ID_TAG } from '../../ChargingStationTestConstants.js'
import {
createOCPP16IncomingRequestTestContext,
type OCPP16IncomingRequestTestContext,
// Arrange
const { station, testableService } = context
enableReservationProfile(context)
- const reservation = ReservationFixtures.createReservation(1, 1, 'TEST-TAG-001')
+ const reservation = ReservationFixtures.createReservation(1, 1, TEST_ID_TAG)
const request: OCPP16ReserveNowRequest = {
connectorId: reservation.connectorId,
expiryDate: reservation.expiryDate,
const request: OCPP16ReserveNowRequest = {
connectorId: 0,
expiryDate: new Date(Date.now() + 3600000),
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
reservationId: 10,
}
const request: OCPP16ReserveNowRequest = {
connectorId: 0,
expiryDate: new Date(Date.now() + 3600000),
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
reservationId: 10,
}
const request: OCPP16ReserveNowRequest = {
connectorId: 1,
expiryDate: new Date(Date.now() + 3600000),
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
reservationId: 2,
}
const request: OCPP16ReserveNowRequest = {
connectorId: 1,
expiryDate: new Date(Date.now() + 3600000),
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
reservationId: 3,
}
const request: OCPP16ReserveNowRequest = {
connectorId: 99,
expiryDate: new Date(Date.now() + 3600000),
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
reservationId: 4,
}
enableReservationProfile(context)
// First create a reservation via ReserveNow
- const reservation = ReservationFixtures.createReservation(1, 42, 'TEST-TAG-001')
+ const reservation = ReservationFixtures.createReservation(1, 42, TEST_ID_TAG)
const reserveRequest: OCPP16ReserveNowRequest = {
connectorId: reservation.connectorId,
expiryDate: reservation.expiryDate,
setupConnectorWithTransaction,
standardCleanup,
} from '../../../helpers/TestLifecycleHelpers.js'
-import { TEST_CHARGING_STATION_BASE_NAME } from '../../ChargingStationTestConstants.js'
+import { TEST_CHARGING_STATION_BASE_NAME, TEST_ID_TAG } from '../../ChargingStationTestConstants.js'
import { createMockChargingStation } from '../../ChargingStationTestUtils.js'
/**
await it('should complete full transaction lifecycle: RemoteStart → StartTransaction accepted → StopTransaction', async () => {
const connectorId = 1
const transactionId = 42
- const idTag = 'TEST-TAG-001'
+ const idTag = TEST_ID_TAG
// Step 1: RemoteStartTransaction — CSMS asks station to start charging
const remoteStartRequest: RemoteStartTransactionRequest = {
// Act
const request: RemoteStartTransactionRequest = {
connectorId,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
}
const response = await testableService.handleRequestRemoteStartTransaction(station, request)
type OCPP16StopTransactionRequest,
} from '../../../../src/types/index.js'
import { standardCleanup } from '../../../helpers/TestLifecycleHelpers.js'
+import { TEST_ID_TAG } from '../../ChargingStationTestConstants.js'
import { createOCPP16RequestTestContext } from './OCPP16TestUtils.js'
await describe('OCPP16RequestService — buildRequestPayload', async () => {
const payload = testableRequestService.buildRequestPayload(
station,
OCPP16RequestCommand.START_TRANSACTION,
- { connectorId: 1, idTag: 'TEST-TAG-001' }
+ { connectorId: 1, idTag: TEST_ID_TAG }
) as OCPP16StartTransactionRequest
assert.notStrictEqual(payload, undefined)
assert.strictEqual(payload.connectorId, 1)
- assert.strictEqual(payload.idTag, 'TEST-TAG-001')
+ assert.strictEqual(payload.idTag, TEST_ID_TAG)
assert.strictEqual(typeof payload.meterStart, 'number')
assert.notStrictEqual(payload.timestamp, undefined)
})
setupConnectorWithTransaction,
standardCleanup,
} from '../../../helpers/TestLifecycleHelpers.js'
+import { TEST_ID_TAG } from '../../ChargingStationTestConstants.js'
import { createOCPP16ResponseTestContext, setMockRequestHandler } from './OCPP16TestUtils.js'
await describe('OCPP16ResponseService — StartTransaction and StopTransaction', async () => {
const transactionId = 42
const requestPayload: OCPP16StartTransactionRequest = {
connectorId,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
meterStart: 0,
timestamp: new Date(),
}
}
assert.strictEqual(connectorStatus.transactionId, transactionId)
assert.strictEqual(connectorStatus.transactionStarted, true)
- assert.strictEqual(connectorStatus.transactionIdTag, 'TEST-TAG-001')
+ assert.strictEqual(connectorStatus.transactionIdTag, TEST_ID_TAG)
assert.strictEqual(connectorStatus.transactionEnergyActiveImportRegisterValue, 0)
})
const connectorId = 1
const requestPayload: OCPP16StartTransactionRequest = {
connectorId,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
meterStart: 0,
timestamp: new Date(),
}
connectorStatus.reservation = {
connectorId,
expiryDate: new Date(Date.now() + 3600000),
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
reservationId,
}
}
const requestPayload: OCPP16StartTransactionRequest = {
connectorId,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
meterStart: 0,
reservationId,
timestamp: new Date(),
const requestTimestamp = new Date('2025-01-01T12:00:00Z')
const requestPayload: OCPP16StartTransactionRequest = {
connectorId,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
meterStart: 500,
timestamp: requestTimestamp,
}
import { OCPP16ServiceUtils } from '../../../../src/charging-station/ocpp/1.6/OCPP16ServiceUtils.js'
import { OCPP16IncomingRequestCommand, OCPP16RequestCommand } from '../../../../src/types/index.js'
import { standardCleanup } from '../../../helpers/TestLifecycleHelpers.js'
+import { TEST_ID_TAG } from '../../ChargingStationTestConstants.js'
const AjvConstructor = _Ajv.default
const ajvFormats = _ajvFormats.default
await it('should pass validation when Authorize has valid idTag', () => {
const validate = makeValidator('Authorize.json')
- const valid = validate({ idTag: 'TEST-TAG-001' })
+ const valid = validate({ idTag: TEST_ID_TAG })
assert.strictEqual(valid, true)
})
const validate = makeValidator('StartTransaction.json')
const valid = validate({
connectorId: 1,
- idTag: 'TEST-TAG-001',
+ idTag: TEST_ID_TAG,
meterStart: 0,
timestamp: '2025-03-10T12:00:00Z',
})
OCPPVersion,
} from '../../../../src/types/index.js'
import { Constants } from '../../../../src/utils/index.js'
-import { TEST_CHARGING_STATION_BASE_NAME } from '../../ChargingStationTestConstants.js'
+import { TEST_CHARGING_STATION_BASE_NAME, TEST_ID_TAG } from '../../ChargingStationTestConstants.js'
import {
createMockChargingStation,
type MockChargingStation,
createReservation: (
connectorId = 1,
reservationId = 1,
- idTag = 'TEST-TAG-001',
+ idTag = TEST_ID_TAG,
expiryDate = new Date(Date.now() + 3600000)
) => ({
connectorId,
} as const
export const TransactionFixtures = {
- createStartTransactionParams: (connectorId = 1, idTag = 'TEST-TAG-001') => ({
+ createStartTransactionParams: (connectorId = 1, idTag = TEST_ID_TAG) => ({
connectorId,
idTag,
}),
createStationWithRequestHandler,
standardCleanup,
} from '../../helpers/TestLifecycleHelpers.js'
+import { TEST_ID_TAG } from '../ChargingStationTestConstants.js'
await describe('OCPPConnectorStatusOperations', async () => {
afterEach(() => {
connectorStatus.reservation = {
connectorId: 1,
expiryDate: new Date().toISOString(),
- idTag: 'TEST-TAG',
+ idTag: TEST_ID_TAG,
reservationId: 1,
} as unknown as Reservation
connectorStatus.status = ConnectorStatusEnum.Occupied
} from '../../../../../src/charging-station/ocpp/auth/types/AuthTypes.js'
import { OCPP16AuthorizationStatus, OCPPVersion } from '../../../../../src/types/index.js'
import { standardCleanup } from '../../../../helpers/TestLifecycleHelpers.js'
+import { TEST_ID_TAG_VALID } from '../../../ChargingStationTestConstants.js'
import { createMockAuthorizationResult, createMockIdentifier } from '../helpers/MockFactories.js'
await describe('OCPP16AuthAdapter', async () => {
await describe('isValidIdentifier', async () => {
await it('should validate correct OCPP 1.6 identifier', () => {
- const identifier = createMockIdentifier('VALID_TAG')
+ const identifier = createMockIdentifier(TEST_ID_TAG_VALID)
assert.strictEqual(adapter.isValidIdentifier(identifier), true)
})
await describe('authorizeRemote', async () => {
await it('should perform remote authorization successfully', async () => {
- const identifier = createMockIdentifier('VALID_TAG')
+ const identifier = createMockIdentifier(TEST_ID_TAG_VALID)
const result = await adapter.authorizeRemote(identifier, 1, 123)
type OCPP20IdTokenType,
OCPPVersion,
} from '../../../../../src/types/index.js'
+import { TEST_ID_TAG } from '../../../ChargingStationTestConstants.js'
/**
* Factory functions for creating test mocks and fixtures
/**
* Create a mock Identifier for any OCPP version.
- * @param value - Identifier token value (defaults to 'TEST-TAG-001')
+ * @param value - Identifier token value (defaults to TEST_ID_TAG)
* @param type - Identifier type enum value (defaults to ID_TAG)
* @returns Mock Identifier configured for testing
*/
export const createMockIdentifier = (
- value = 'TEST-TAG-001',
+ value = TEST_ID_TAG,
type: IdentifierType = IdentifierType.ID_TAG
): Identifier => ({
type,
} from '../../../../../src/charging-station/ocpp/auth/types/AuthTypes.js'
import { OCPPVersion } from '../../../../../src/types/index.js'
import { standardCleanup } from '../../../../helpers/TestLifecycleHelpers.js'
+import { TEST_ID_TAG_VALID } from '../../../ChargingStationTestConstants.js'
import { createMockAuthServiceTestStation, getTestAuthCache } from '../helpers/MockFactories.js'
await describe('OCPPAuthServiceImpl', async () => {
const identifier: Identifier = {
type: IdentifierType.ID_TAG,
- value: 'VALID_TAG',
+ value: TEST_ID_TAG_VALID,
}
const result = await authService.authorize({
} from '../../../../../src/charging-station/ocpp/auth/types/AuthTypes.js'
import { OCPPVersion } from '../../../../../src/types/index.js'
import { standardCleanup } from '../../../../helpers/TestLifecycleHelpers.js'
+import { TEST_ID_TAG_INVALID } from '../../../ChargingStationTestConstants.js'
import {
createMockAuthCache,
createMockAuthorizationResult,
authorizationCacheLifetime: 300,
})
const request = createMockAuthRequest({
- identifier: createMockIdentifier('INVALID_TAG', IdentifierType.ID_TAG),
+ identifier: createMockIdentifier(TEST_ID_TAG_INVALID, IdentifierType.ID_TAG),
})
await strategy.authenticate(request, config)
- assert.strictEqual(cachedKey, 'INVALID_TAG')
+ assert.strictEqual(cachedKey, TEST_ID_TAG_INVALID)
assert.strictEqual(cachedValue?.status, AuthorizationStatus.INVALID)
assert.strictEqual(cachedTtl, 300)
})