From a49d8178a2d1b109e1aaa36b6b3b107aadafbbf4 Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Thu, 10 Sep 2026 00:46:07 -0400 Subject: [PATCH] =?UTF-8?q?[FIX]=20test=20vpn=20:=20un=20nom=20d'organisat?= =?UTF-8?q?ion=20tierce,=20remplac=C3=A9=20par=20un=20invent=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La règle des conventions est explicite : l'exemple qui illustre un interdit s'invente, et un test fige sa valeur pour toujours. Le nom d'une organisation tierce servait de profil et de passerelle dans quatorze occurrences, choisi parce qu'il était parlant — exactement le réflexe que la règle combat. Le remplaçant est inventé et vérifié absent du reste du dépôt. Ce que le test éprouve ne change pas : un profil sans route reste accepté et signalé. --- EN --- The conventions are explicit: an example illustrating a prohibition is invented, and a test freezes its value forever. A third-party organisation's name served as profile and gateway in fourteen places, picked because it spoke — exactly the reflex the rule fights. The replacement is invented and verified absent from the rest of the repository. What the test proves does not change: a profile without routes is still accepted and flagged. Assisted-by: Claude Opus 5 --- test/test_vpn_menu.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/test/test_vpn_menu.py b/test/test_vpn_menu.py index 1a376e8..61dbc3c 100644 --- a/test/test_vpn_menu.py +++ b/test/test_vpn_menu.py @@ -372,9 +372,9 @@ class OnlyWhatTheSiteGaveYou(MenuBase): def test_a_profile_without_routes_is_accepted_and_flagged(self): names = list(DRIVERS) answers = [ - "novipro", + "cortalis", DRIVER_LETTERS[names.index("l2tp_ipsec")], - "vpn.novipro.example", # la passerelle + "vpn.cortalis.example", # la passerelle "user", # l'utilisateur PPP "", # réseaux : le site n'en a pas donné "", # tout le trafic ? non @@ -385,7 +385,7 @@ class OnlyWhatTheSiteGaveYou(MenuBase): with self.answering(*answers): with redirect_stdout(buffer): self.todo._vpn_edit_profile() - saved = profiles.load("novipro") + saved = profiles.load("cortalis") self.assertIsNotNone(saved, "profil refusé alors qu'il est utilisable") self.assertEqual(saved["routes"], []) self.assertFalse(saved["default_route"]) @@ -401,7 +401,7 @@ class OnlyWhatTheSiteGaveYou(MenuBase): profile = profiles.validate( { - "name": "novipro", + "name": "cortalis", "driver": "l2tp_ipsec", "server": "127.0.0.1", "ppp_user": "user", @@ -427,7 +427,7 @@ class OnlyWhatTheSiteGaveYou(MenuBase): profile = profiles.validate( { - "name": "novipro", + "name": "cortalis", "driver": "l2tp_ipsec", "server": "127.0.0.1", "ppp_user": "user", @@ -489,9 +489,9 @@ class SecretsOnlyWhenThereAreSome(MenuBase): """ profiles.save( { - "name": "novipro", + "name": "cortalis", "driver": "l2tp_ipsec", - "server": "vpn.novipro.example", + "server": "vpn.cortalis.example", "ppp_user": "user", } ) @@ -505,7 +505,7 @@ class SecretsOnlyWhenThereAreSome(MenuBase): return "secret" with patch.object( - self.todo, "_vpn_select_profile", return_value="novipro" + self.todo, "_vpn_select_profile", return_value="cortalis" ): with self.answering(coffre, "o"): with patch("getpass.getpass", masked): @@ -522,9 +522,9 @@ class SecretsOnlyWhenThereAreSome(MenuBase): """ profiles.save( { - "name": "novipro", + "name": "cortalis", "driver": "l2tp_ipsec", - "server": "vpn.novipro.example", + "server": "vpn.cortalis.example", "ppp_user": "user", } ) @@ -540,7 +540,7 @@ class SecretsOnlyWhenThereAreSome(MenuBase): buffer = io.StringIO() with patch.object( - self.todo, "_vpn_select_profile", return_value="novipro" + self.todo, "_vpn_select_profile", return_value="cortalis" ): with self.answering(coffre, "o"): with patch("getpass.getpass", masked): @@ -558,9 +558,9 @@ class SecretsOnlyWhenThereAreSome(MenuBase): def test_a_field_already_set_says_so(self): profiles.save( { - "name": "novipro", + "name": "cortalis", "driver": "l2tp_ipsec", - "server": "vpn.novipro.example", + "server": "vpn.cortalis.example", "ppp_user": "user", } ) @@ -574,7 +574,7 @@ class SecretsOnlyWhenThereAreSome(MenuBase): return "valeur" with patch.object( - self.todo, "_vpn_select_profile", return_value="novipro" + self.todo, "_vpn_select_profile", return_value="cortalis" ): with self.answering(coffre, "o"): with patch("getpass.getpass", masked):