Seed socket payloads with opt (communicate factory) + host_probe4
This commit is contained in:
1 parent
213a0518d6
commit
bdc98484a9
5 files changed
+180
-18
No files matched your search
+11
-13
@@ -81,30 +81,28 @@ class TestEnvelope(unittest.TestCase):
|
||||
"crc", "dataArea"],
|
||||
)
|
||||
self.assertNotIn("data", d)
|
||||
# socket payload is always seeded with the operation type first
|
||||
self.assertEqual(d["dataArea"], {"opt": 0, "update": 2})
|
||||
|
||||
def test_no_data_means_seven_keys(self):
|
||||
def test_no_data_still_carries_opt(self):
|
||||
env = direct_connect_request(CommunicationCmd.BMS, SN, data=None)
|
||||
d = env.to_dict()
|
||||
self.assertEqual(
|
||||
list(d),
|
||||
["cmdType", "equipNo", "type", "timeStamp", "snno", "len", "crc"],
|
||||
)
|
||||
self.assertEqual(env.length, 0)
|
||||
self.assertEqual(env.crc, "")
|
||||
self.assertIn("dataArea", d)
|
||||
self.assertEqual(d["dataArea"], {"opt": 0})
|
||||
self.assertEqual(env.length, len(b'{"opt":0}'))
|
||||
self.assertTrue(env.crc)
|
||||
|
||||
def test_empty_map_means_no_data_area(self):
|
||||
def test_empty_map_still_carries_opt(self):
|
||||
env = direct_connect_request(CommunicationCmd.BMS, SN, data={})
|
||||
self.assertNotIn("dataArea", env.to_dict())
|
||||
self.assertEqual(env.length, 0)
|
||||
self.assertEqual(env.crc, "")
|
||||
self.assertEqual(env.to_dict()["dataArea"], {"opt": 0})
|
||||
|
||||
def test_len_crc_auto_uppercase(self):
|
||||
env = direct_connect_request(
|
||||
CommunicationCmd.DEVICE_APOWER_INFO, SN, data={"update": 2})
|
||||
self.assertEqual(env.length, len(b'{"update":2}'))
|
||||
self.assertEqual(env.length, len(b'{"opt":0,"update":2}'))
|
||||
import zlib
|
||||
self.assertEqual(
|
||||
env.crc, format(zlib.crc32(b'{"update":2}'), "X"))
|
||||
env.crc, format(zlib.crc32(b'{"opt":0,"update":2}'), "X"))
|
||||
self.assertEqual(env.crc, env.crc.upper())
|
||||
|
||||
def test_int_fields(self):
|
||||
|
||||
Reference in new issue
Block a user