63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
import unittest
|
|
|
|
from automtu.cli import build_parser
|
|
|
|
|
|
class TestCli(unittest.TestCase):
|
|
def test_build_parser_accepts_known_args(self) -> None:
|
|
p = build_parser()
|
|
|
|
# Parse only; no side effects.
|
|
args = p.parse_args(
|
|
[
|
|
"--egress-if",
|
|
"eth0",
|
|
"--prefer-wg-egress",
|
|
"--pmtu-target",
|
|
"1.1.1.1,8.8.8.8",
|
|
"--pmtu-timeout",
|
|
"2.0",
|
|
"--pmtu-min-payload",
|
|
"1200",
|
|
"--pmtu-max-payload",
|
|
"1472",
|
|
"--pmtu-policy",
|
|
"median",
|
|
"--apply-egress-mtu",
|
|
"--apply-wg-mtu",
|
|
"--wg-if",
|
|
"wg0",
|
|
"--wg-overhead",
|
|
"80",
|
|
"--wg-min",
|
|
"1280",
|
|
"--auto-pmtu-from-wg",
|
|
"--set-wg-mtu",
|
|
"1372",
|
|
"--force-egress-mtu",
|
|
"1452",
|
|
"--dry-run",
|
|
]
|
|
)
|
|
|
|
self.assertEqual(args.egress_if, "eth0")
|
|
self.assertTrue(args.prefer_wg_egress)
|
|
self.assertEqual(args.pmtu_target, ["1.1.1.1,8.8.8.8"])
|
|
self.assertEqual(args.pmtu_timeout, 2.0)
|
|
self.assertEqual(args.pmtu_min_payload, 1200)
|
|
self.assertEqual(args.pmtu_max_payload, 1472)
|
|
self.assertEqual(args.pmtu_policy, "median")
|
|
self.assertTrue(args.apply_egress_mtu)
|
|
self.assertTrue(args.apply_wg_mtu)
|
|
self.assertEqual(args.wg_if, "wg0")
|
|
self.assertEqual(args.wg_overhead, 80)
|
|
self.assertEqual(args.wg_min, 1280)
|
|
self.assertTrue(args.auto_pmtu_from_wg)
|
|
self.assertEqual(args.set_wg_mtu, 1372)
|
|
self.assertEqual(args.force_egress_mtu, 1452)
|
|
self.assertTrue(args.dry_run)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main(verbosity=2)
|