def _decode(self, packets): from waggle.protocol.v5.decoder import decode_frame decoded = decode_frame(packets) if decoded != {}: return decoded else: return None
def test_encode(self): text = ''' nc_load_1 0.74 nc_load_5 0.53 nc_load_10 0.45 wagman_ver_git 1ef3 wagman_time_compile 1522869670 nc_boot_id 12345678901234567890123456789012 nc_ram_total 8046136 nc_ram_free 291328 net_broadband_rx 123456 net_broadband_tx 654321 ep_service_heartbeat_exitcode 0 ep_service_heartbeat_state a ep_service_heartbeat_substate r ep_service_heartbeat_uptime 1522795300 ep_service_init_exitcode 1 ep_service_init_state i ep_service_init_substate d ep_service_init_uptime 1522795300 ep_service_rabbitmq_exitcode 0 ep_service_rabbitmq_state a ep_service_rabbitmq_substate r ep_service_rabbitmq_uptime 1522876954 ''' encoded_data = encode_frame_from_flat_string(text, verbose=True) self.assertIsInstance(encoded_data, bytes) decoded_data = decode_frame(encoded_data) values = flatten_sensor_values(decoded_data) self.assertAlmostEqual(values['nc_load_1'], 0.74) self.assertAlmostEqual(values['nc_load_5'], 0.53) self.assertAlmostEqual(values['nc_load_10'], 0.45) self.assertAlmostEqual(values['nc_ram_total'], 8046136) self.assertAlmostEqual(values['nc_ram_free'], 291328) self.assertAlmostEqual(values['net_broadband_rx'], 123456) self.assertAlmostEqual(values['net_broadband_tx'], 654321) self.assertEqual(values['wagman_ver_git'], '1ef3') self.assertEqual(values['nc_boot_id'], '12345678901234567890123456789012')
def test_encode(self): data = { 0x50: ['010203040506'], 0x71: ['73c02022aeab4e7fb5ac6be2b0d7d771'], 0x5A: [123, 234, 345, 456, 567, 678], 0x07: [123, 234, 345], } encoded_data = encode_frame(data) self.assertIsInstance(encoded_data, bytes) decoded_data = decode_frame(encoded_data) for sensor_id in data.keys(): self.assertIn(sensor_id, decoded_data) decoded_values = decoded_data[sensor_id] self.assertIsInstance(decoded_values, dict) decoded_values = list(decoded_values.values()) original_values = data[sensor_id] self.assertEqual(decoded_values, original_values)
def test_empty(self): self.assertEqual(decode_frame(encode_frame_from_flat_string('')), {})
def test_empty(self): self.assertEqual(decode_frame(encode_frame({})), {})
def _decode(self, packets): decoded = decode_frame(packets) if decoded != {}: return decoded else: return None