# -*- coding: utf-8 -*- # !/usr/bin/env python import datetime from apps.web.constant import Const from apps.web.eventer.sijiang import ChargingSiJiangWorkEvent, builder, SI_JIANG_EVENT_CODE from apps.web.core.adapter.sijiang import ChargingSiJiangBox from apps.web.device.models import Device def get_raw_dict(device): return {u'IMEI': device['devNo'], u'timestamp': 1554702873, u'cmd': 100, u'data': u'EE06050100080208'} def test_charge_complete(device): startTime = (datetime.datetime.now() - datetime.timedelta(minutes=3)).strftime(Const.DATETIME_FMT) port = 0 Device.update_dev_control_cache(device['devNo'], { str(port): { 'status': Const.DEV_WORK_STATUS_WORKING, 'needTime': 3 * 60, 'isStart': True, 'refunded': False, 'openId': None, 'startTime': startTime } }) smartBox = ChargingSiJiangBox(device) infoDict = { 'status': Const.DEV_WORK_STATUS_IDLE, 'cmdCode': SI_JIANG_EVENT_CODE.CHARGE_FINISHED, 'port': 1, 'leftTime': 0, 'reason': 'desc' } eventer = ChargingSiJiangWorkEvent(device, infoDict, smartBox) eventer.do()