mirror of
https://github.com/certbot/certbot.git
synced 2026-01-26 07:41:33 +03:00
Always save server value in renewal conf file (#6189)
This commit is contained in:
@@ -239,10 +239,15 @@ def relevant_values(all_values):
|
||||
:rtype dict:
|
||||
|
||||
"""
|
||||
return dict(
|
||||
rv = dict(
|
||||
(option, value)
|
||||
for option, value in six.iteritems(all_values)
|
||||
if _relevant(option) and cli.option_was_set(option, value))
|
||||
# We always save the server value to help with forward compatibility
|
||||
# and behavioral consistency when versions of Certbot with different
|
||||
# server defaults are used.
|
||||
rv["server"] = all_values["server"]
|
||||
return rv
|
||||
|
||||
def lineagename_for_filename(config_filename):
|
||||
"""Returns the lineagename for a configuration filename.
|
||||
|
||||
@@ -544,14 +544,22 @@ class RenewableCertTests(BaseRenewableCertTest):
|
||||
self.assertFalse(os.path.exists(temp_config_file))
|
||||
|
||||
def _test_relevant_values_common(self, values):
|
||||
option = "rsa_key_size"
|
||||
defaults = dict((option, cli.flag_default(option))
|
||||
for option in ("rsa_key_size", "server",))
|
||||
mock_parser = mock.Mock(args=["--standalone"], verb="certonly",
|
||||
defaults={option: cli.flag_default(option)})
|
||||
defaults=defaults)
|
||||
|
||||
# make a copy to ensure values isn't modified
|
||||
values = values.copy()
|
||||
values.setdefault("server", defaults["server"])
|
||||
expected_server = values["server"]
|
||||
|
||||
from certbot.storage import relevant_values
|
||||
with mock.patch("certbot.cli.helpful_parser", mock_parser):
|
||||
# make a copy to ensure values isn't modified
|
||||
return relevant_values(values.copy())
|
||||
rv = relevant_values(values)
|
||||
self.assertIn("server", rv)
|
||||
self.assertEqual(rv.pop("server"), expected_server)
|
||||
return rv
|
||||
|
||||
def test_relevant_values(self):
|
||||
"""Test that relevant_values() can reject an irrelevant value."""
|
||||
@@ -589,6 +597,12 @@ class RenewableCertTests(BaseRenewableCertTest):
|
||||
self.assertEqual(
|
||||
self._test_relevant_values_common(values), values)
|
||||
|
||||
def test_relevant_values_server(self):
|
||||
self.assertEqual(
|
||||
# _test_relevant_values_common handles testing the server
|
||||
# value and removes it
|
||||
self._test_relevant_values_common({"server": "example.org"}), {})
|
||||
|
||||
@mock.patch("certbot.storage.relevant_values")
|
||||
def test_new_lineage(self, mock_rv):
|
||||
"""Test for new_lineage() class method."""
|
||||
|
||||
Reference in New Issue
Block a user