From 33a4acf6eb99f8d9639ad3fea3ecf7ed4494419f Mon Sep 17 00:00:00 2001 From: Seth Schoen Date: Fri, 1 Apr 2016 18:09:20 -0700 Subject: [PATCH] Explicit test for modified write_renewal_config --- letsencrypt/tests/storage_test.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/letsencrypt/tests/storage_test.py b/letsencrypt/tests/storage_test.py index 7e862146d..5ea455496 100644 --- a/letsencrypt/tests/storage_test.py +++ b/letsencrypt/tests/storage_test.py @@ -742,6 +742,29 @@ class RenewableCertTests(BaseRenewableCertTest): storage.RenewableCert, self.config.filename, self.cli_config) + def test_write_renewal_config(self): + # Mostly tested by the process of creating and updating lineages, + # but we can test that this successfully creates files, removes + # unneeded items, and preserves comments. + tempfile = os.path.join(self.tempdir, "sample-file") + tempfile2 = os.path.join(self.tempdir, "sample-file.new") + with open(tempfile, "w") as f: + f.write("[renewalparams]\nuseful = value # A useful value\n" + "useless = value # Not needed\n") + target = {} + for x in ALL_FOUR: + target[x] = "somewhere" + relevant = {"useful": "new_value"} + from letsencrypt import storage + storage.write_renewal_config(tempfile, tempfile2, target, relevant) + with open(tempfile2, "r") as f: + content = f.read() + # useful value was updated + assert "useful = new_value" in content + # associated comment was preserved + assert "A useful value" in content + # useless value was deleted + assert "useless" not in content if __name__ == "__main__": unittest.main() # pragma: no cover