def get_reboot_inform(cls) -> models.Inform: msg = cls.get_inform() events = [] event_boot = models.EventStruct() event_boot.EventCode = '1 BOOT' events.append(event_boot) event_reboot = models.EventStruct() event_reboot.EventCode = 'M Reboot' events.append(event_reboot) msg.Event.EventStruct = events return msg
def get_inform( cls, oui: str = '48BF74', sw_version: str = 'BaiBS_RTS_3.1.6', enb_serial: str = '120200002618AGP0003', event_codes: Optional[List[str]] = None, ) -> models.Inform: if event_codes is None: event_codes = [] msg = models.Inform() # DeviceId device_id = models.DeviceIdStruct() device_id.Manufacturer = 'Unused' device_id.OUI = oui device_id.ProductClass = 'Unused' device_id.SerialNumber = enb_serial msg.DeviceId = device_id # Event msg.Event = models.EventList() event_list = [] for code in event_codes: event = models.EventStruct() event.EventCode = code event.CommandKey = '' event_list.append(event) msg.Event.EventStruct = event_list # ParameterList val_list = [] val_list.append(cls.get_parameter_value_struct( name='Device.DeviceInfo.HardwareVersion', val_type='string', data='VER.C', )) val_list.append(cls.get_parameter_value_struct( name='Device.DeviceInfo.ManufacturerOUI', val_type='string', data=oui, )) val_list.append(cls.get_parameter_value_struct( name='Device.DeviceInfo.SoftwareVersion', val_type='string', data=sw_version, )) val_list.append(cls.get_parameter_value_struct( name='Device.DeviceInfo.SerialNumber', val_type='string', data=enb_serial, )) val_list.append(cls.get_parameter_value_struct( name='Device.ManagementServer.ConnectionRequestURL', val_type='string', data='http://192.168.60.248:7547/25dbc91d31276f0cb03391160531ecae', )) msg.ParameterList = models.ParameterValueList() msg.ParameterList.ParameterValueStruct = val_list return msg
def test_as_dict(self): inp = models.Inform( DeviceId=models.DeviceIdStruct( Manufacturer='some_manufacturer', OUI='123456', ProductClass='some_product_class', SerialNumber='some_serial_number', ), Event=models.EventList( EventStruct=[ models.EventStruct( EventCode='some_event_code', CommandKey='some_command_key', ), models.EventStruct( EventCode='other_event_code', CommandKey='other_command_key', ), ], ), MaxEnvelopes=1234, CurrentTime=datetime.fromisoformat('2021-09-15 16:15:43.351680'), ) out = as_dict(inp) expected = { 'DeviceId': { 'Manufacturer': 'some_manufacturer', 'OUI': '123456', 'ProductClass': 'some_product_class', 'SerialNumber': 'some_serial_number', }, 'Event': { 'EventStruct': [ { 'EventCode': 'some_event_code', 'CommandKey': 'some_command_key', }, { 'EventCode': 'other_event_code', 'CommandKey': 'other_command_key', }, ], }, 'MaxEnvelopes': '1234', 'CurrentTime': '2021-09-15 16:15:43.351680', } self.assertEqual(out, expected)
def get_qrtb_inform( cls, params: List[Param], oui: str = '48BF74', enb_serial: str = '120200024019APP0105', event_codes: Optional[List[str]] = None, ) -> models.Inform: if event_codes is None: event_codes = [] msg = models.Inform() # DeviceId device_id = models.DeviceIdStruct() device_id.Manufacturer = 'Baicells' device_id.OUI = oui device_id.ProductClass = 'FAP/mBS31001/SC' device_id.SerialNumber = enb_serial msg.DeviceId = device_id # Event msg.Event = models.EventList() event_list = [] for code in event_codes: event = models.EventStruct() event.EventCode = code event.CommandKey = '' event_list.append(event) msg.Event.EventStruct = event_list # ParameterList val_list = [ cls.get_parameter_value_struct(name=p.name, val_type=p.val_type, data=p.data) for p in params ] msg.ParameterList = models.ParameterValueList() msg.ParameterList.ParameterValueStruct = val_list return msg