test_sijiang.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import datetime
  4. from apps.web.constant import Const
  5. from apps.web.eventer.sijiang import ChargingSiJiangWorkEvent, builder, SI_JIANG_EVENT_CODE
  6. from apps.web.core.adapter.sijiang import ChargingSiJiangBox
  7. from apps.web.device.models import Device
  8. def get_raw_dict(device):
  9. return {u'IMEI': device['devNo'], u'timestamp': 1554702873, u'cmd': 100, u'data': u'EE06050100080208'}
  10. def test_charge_complete(device):
  11. startTime = (datetime.datetime.now() - datetime.timedelta(minutes=3)).strftime(Const.DATETIME_FMT)
  12. port = 0
  13. Device.update_dev_control_cache(device['devNo'],
  14. {
  15. str(port): {
  16. 'status': Const.DEV_WORK_STATUS_WORKING,
  17. 'needTime': 3 * 60,
  18. 'isStart': True, 'refunded': False, 'openId': None,
  19. 'startTime': startTime
  20. }
  21. })
  22. smartBox = ChargingSiJiangBox(device)
  23. infoDict = {
  24. 'status': Const.DEV_WORK_STATUS_IDLE,
  25. 'cmdCode': SI_JIANG_EVENT_CODE.CHARGE_FINISHED,
  26. 'port': 1,
  27. 'leftTime': 0,
  28. 'reason': 'desc'
  29. }
  30. eventer = ChargingSiJiangWorkEvent(device, infoDict, smartBox)
  31. eventer.do()