diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-10 11:06:57 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-10 11:06:57 +0200 |
| commit | fb45dbc03650bd9ed7f5629fd01fffdaa951f109 (patch) | |
| tree | fa36ecfe0f0cbb6d939fbf076eff3e76f4f65041 /tests | |
| parent | a5bf22b9eefa32322b2587ac930e5680d97500be (diff) | |
| download | abusectl-fb45dbc03650bd9ed7f5629fd01fffdaa951f109.tar.gz abusectl-fb45dbc03650bd9ed7f5629fd01fffdaa951f109.zip | |
fix: keep the trailing comment at the end of the config
The "Later parts add further sections here" block was emitted by build(),
so preserved sections were appended below it and it became a comment about
nothing, pointing at a table already underneath it.
It is now a FOOTER constant that build() still appends, so a lone build()
reads as a complete file, and write() strips before adding preserved text
and puts back at the end.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LByBnw83xr9YP85nskzkyE
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_init.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/test_init.py b/tests/test_init.py index 55153f4..f1b20f8 100644 --- a/tests/test_init.py +++ b/tests/test_init.py @@ -369,3 +369,20 @@ class TestRepeatedInit(unittest.TestCase): self.assertEqual( tomllib.loads(text)["reporter"]["name"], "A Reporter" ) + + def test_the_footer_stays_at_the_end_after_a_preserved_section(self): + # It says further sections are added below it, so a preserved table + # appended underneath made it a comment about nothing. + relays = {"trusted_relays": ["192.0.2.0/24"], "cases": ""} + answered = dict(relays, reporter_name="A Reporter", + reporter_email="r@example.org") + with tempfile.TemporaryDirectory() as tmp: + path = pathlib.Path(tmp) / "config.toml" + init.write(path, answered) + init.write(path, relays, force=True) + + text = path.read_text().rstrip("\n") + self.assertTrue( + text.endswith("# [reporting] - abuse-desk reporting defaults"), + f"footer is not last:\n{text}", + ) |
