Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
return call_result.BootNotificationPayload(
current_time='2018-05-29T17:37:05.495259',
interval=350,
status='Accepted',
)
@after(Action.BootNotification)
def after_boot_notification(charge_point_model, charge_point_vendor,
**kwargs): # noqa
assert charge_point_vendor == "Alfen BV"
assert charge_point_model == "ICU Eve Mini"
setattr(base_central_system, 'on_boot_notification', on_boot_notification)
setattr(base_central_system, 'after_boot_notification',
after_boot_notification)
base_central_system.route_map = create_route_map(base_central_system)
await base_central_system.route_message(boot_notification_call)
base_central_system._connection.send.assert_called_once_with(
json.dumps([
3,
"1",
{
'currentTime': '2018-05-29T17:37:05.495259',
'interval': 350,
'status': 'Accepted',
}
def on_heartbeat(self):
pass
@after(Action.Heartbeat)
def after_heartbeat(self):
pass
@on(Action.MeterValues)
def meter_values(self):
pass
def undecorated(self):
pass
cp = ChargePoint()
route_map = create_route_map(cp)
assert route_map == {
Action.Heartbeat: {
'_on_action': cp.on_heartbeat,
'_after_action': cp.after_heartbeat,
'_skip_schema_validation': True,
},
Action.MeterValues: {
'_on_action': cp.meter_values,
'_skip_schema_validation': False,
},
status='Accepted',
)
@after("BootNotification")
def after_boot_notification(reason, charging_station, **kwargs):
assert reason == 'PowerUp'
assert charging_station == {
'vendor_name': 'ICU Eve Mini',
'firmware_version': "#1:3.4.0-2990#N:217H;1.0-223",
'model': 'ICU Eve Mini',
}
setattr(base_central_system, 'on_boot_notification', on_boot_notification)
setattr(base_central_system, 'after_boot_notification',
after_boot_notification)
base_central_system.route_map = create_route_map(base_central_system)
await base_central_system.route_message(boot_notification_call)
base_central_system._connection.send.assert_called_once_with(
json.dumps([
3,
"1",
{
'currentTime': '2018-05-29T17:37:05.495259',
'interval': 350,
'status': 'Accepted',
}
"""
self.id = id
# The maximum time in seconds it may take for a CP to respond to a
# CALL. An asyncio.TimeoutError will be raised if this limit has been
# exceeded.
self._response_timeout = response_timeout
# A connection to the client. Currently this is an instance of gh
self._connection = connection
# A dictionary that hooks for Actions. So if the CS receives a it will
# look up the Action into this map and execute the corresponding hooks
# if exists.
self.route_map = create_route_map(self)
self._call_lock = asyncio.Lock()
# A queue used to pass CallResults and CallErrors from
# the self.serve() task to the self.call() task.
self._response_queue = asyncio.Queue()
# Function used to generate unique ids for CALLs. By default
# uuid.uuid4() is used, but it can be changed. This is meant primarily
# for testing purposes to have predictable unique ids.
self._unique_id_generator = uuid.uuid4