updates
This commit is contained in:
@@ -84,6 +84,67 @@ class SerialScenarioTest(unittest.TestCase):
|
||||
self.assertIn("before_send=1", output)
|
||||
self.assertIn("delays=0,0.25,1", output)
|
||||
|
||||
def test_dry_run_summarizes_listen_ack_until_quiet(self):
|
||||
scenario = {
|
||||
"name": "unit-quiet-ack",
|
||||
"steps": [
|
||||
{
|
||||
"action": "listen_ack_until_quiet",
|
||||
"seconds": 12.0,
|
||||
"quiet_seconds": 0.9,
|
||||
"target_mode": "queued_reports",
|
||||
"ack_mode": "cmd5_selector",
|
||||
"max_acks": 16,
|
||||
}
|
||||
],
|
||||
}
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
path = Path(tmpdir) / "scenario.json"
|
||||
path.write_text(json.dumps(scenario), encoding="utf-8")
|
||||
stdout = io.StringIO()
|
||||
|
||||
exit_code = main([str(path), "--dry-run"], stdout=stdout)
|
||||
|
||||
output = stdout.getvalue()
|
||||
self.assertEqual(exit_code, 0)
|
||||
self.assertIn("step[1]=listen_ack_until_quiet", output)
|
||||
self.assertIn("seconds=12.000", output)
|
||||
self.assertIn("quiet=0.900s", output)
|
||||
self.assertIn("target_mode=queued_reports", output)
|
||||
self.assertIn("ack_mode=cmd5_selector", output)
|
||||
|
||||
def test_dry_run_summarizes_respond_on_rules(self):
|
||||
scenario = {
|
||||
"name": "unit-respond-on",
|
||||
"steps": [
|
||||
{
|
||||
"action": "listen_ack",
|
||||
"seconds": 2.0,
|
||||
"target_mode": "queued_reports",
|
||||
"ack_mode": "cmd5_selector",
|
||||
"respond_on": [
|
||||
{
|
||||
"frames": ["00 00 13 40 00 09"],
|
||||
"send": "00 00 13 40 00 09",
|
||||
"label": "mirror_selector_0013_active_from_button",
|
||||
}
|
||||
],
|
||||
}
|
||||
],
|
||||
}
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
path = Path(tmpdir) / "scenario.json"
|
||||
path.write_text(json.dumps(scenario), encoding="utf-8")
|
||||
stdout = io.StringIO()
|
||||
|
||||
exit_code = main([str(path), "--dry-run"], stdout=stdout)
|
||||
|
||||
output = stdout.getvalue()
|
||||
self.assertEqual(exit_code, 0)
|
||||
self.assertIn("respond_on=1", output)
|
||||
self.assertIn("send=00 00 13 40 00 09", output)
|
||||
self.assertIn("label=mirror_selector_0013_active_from_button", output)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user