import unittest from secure_sms.infrastructure.gsm import _has_terminal_status, _sanitize_protocol_body class GsmGatewayParsingTests(unittest.TestCase): def test_terminal_status_requires_final_ok_line(self): partial = '\r\n+CMGR: "REC READ","+9891","",""\r\n@S:SYM|abcOKxyz' complete = partial + "\r\n\r\nOK\r\n" self.assertFalse(_has_terminal_status(partial)) self.assertTrue(_has_terminal_status(complete)) def test_protocol_body_sanitizer_removes_control_bytes(self): corrupted = "@S:SYM|abc\x11\x11DEF-_=" self.assertEqual(_sanitize_protocol_body(corrupted), "@S:SYM|abcDEF-_=") if __name__ == "__main__": unittest.main()