adapt unit tests

This commit is contained in:
Stefan Allius
2024-05-18 21:46:28 +02:00
parent f4da16987f
commit 766774224b
3 changed files with 177 additions and 37 deletions

View File

@@ -16,9 +16,16 @@ Infos.static_init()
timestamp = int(time.time()) # 1712861197
heartbeat = 60
class Writer():
def write(self, pdu: bytearray):
pass
class MemoryStream(SolarmanV5):
def __init__(self, msg, chunks = (0,), server_side: bool = True):
super().__init__(server_side)
if server_side:
self.mb.timeout = 1 # overwrite for faster testing
self.writer = Writer()
self.__msg = msg
self.__msg_len = len(msg)
self.__chunks = chunks
@@ -35,7 +42,6 @@ class MemoryStream(SolarmanV5):
def _heartbeat(self) -> int:
return heartbeat
def append_msg(self, msg):
self.__msg += msg
@@ -1446,9 +1452,12 @@ def test_msg_modbus_rsp3(ConfigTsunInv1, MsgModbusRsp):
m.append_msg(MsgModbusRsp)
m.forward_modbus_resp = True
m.mb.last_addr = 1
m.mb.last_fcode = 3
m.mb.last_len = 20
m.mb.last_reg = 0x3008
m.mb.req_pend = True
m.mb.err = 0
# assert m.db.db == {'inverter': {'Manufacturer': 'TSUN', 'Equipment_Model': 'TSOL-MSxx00'}}
m.new_data['inverter'] = False
@@ -1465,7 +1474,7 @@ def test_msg_modbus_rsp3(ConfigTsunInv1, MsgModbusRsp):
m.read() # read complete msg, and dispatch msg
assert not m.header_valid # must be invalid, since msg was handled and buffer flushed
assert m.mb.err == 0
assert m.mb.err == 5
assert m.msg_count == 2
assert m._forward_buffer==MsgModbusRsp
assert m._send_buffer==b''
@@ -1515,9 +1524,13 @@ def test_msg_modbus_fragment(ConfigTsunInv1, MsgModbusRsp):
m.db.stat['proxy']['Unknown_Ctrl'] = 0
m.db.stat['proxy']['Modbus_Command'] = 0
m.forward_modbus_resp = True
m.mb.last_addr = 1
m.mb.last_fcode = 3
m.mb.last_len = 20
m.mb.last_reg = 0x3008
m.mb.req_pend = True
m.mb.err = 0
m.read() # read complete msg, and dispatch msg
assert not m.header_valid # must be invalid, since msg was handled and buffer flushed
assert m.msg_count == 1