mirror of
https://github.com/certbot/certbot.git
synced 2026-08-01 16:19:13 +02:00
Merge pull request #2251 from letsencrypt/notifications
Do not say we've renewed a cert if it was reinstalled
This commit is contained in:
+4
-4
@@ -382,7 +382,7 @@ def _auth_from_domains(le_client, config, domains):
|
|||||||
if action == "reinstall":
|
if action == "reinstall":
|
||||||
# The lineage already exists; allow the caller to try installing
|
# The lineage already exists; allow the caller to try installing
|
||||||
# it without getting a new certificate at all.
|
# it without getting a new certificate at all.
|
||||||
return lineage
|
return lineage, "reinstall"
|
||||||
elif action == "renew":
|
elif action == "renew":
|
||||||
original_server = lineage.configuration["renewalparams"]["server"]
|
original_server = lineage.configuration["renewalparams"]["server"]
|
||||||
_avoid_invalidating_lineage(config, lineage, original_server)
|
_avoid_invalidating_lineage(config, lineage, original_server)
|
||||||
@@ -407,7 +407,7 @@ def _auth_from_domains(le_client, config, domains):
|
|||||||
|
|
||||||
_report_new_cert(lineage.cert, lineage.fullchain)
|
_report_new_cert(lineage.cert, lineage.fullchain)
|
||||||
|
|
||||||
return lineage
|
return lineage, action
|
||||||
|
|
||||||
def _avoid_invalidating_lineage(config, lineage, original_server):
|
def _avoid_invalidating_lineage(config, lineage, original_server):
|
||||||
"Do not renew a valid cert with one from a staging server!"
|
"Do not renew a valid cert with one from a staging server!"
|
||||||
@@ -556,7 +556,7 @@ def run(args, config, plugins): # pylint: disable=too-many-branches,too-many-lo
|
|||||||
# TODO: Handle errors from _init_le_client?
|
# TODO: Handle errors from _init_le_client?
|
||||||
le_client = _init_le_client(args, config, authenticator, installer)
|
le_client = _init_le_client(args, config, authenticator, installer)
|
||||||
|
|
||||||
lineage = _auth_from_domains(le_client, config, domains)
|
lineage, action = _auth_from_domains(le_client, config, domains)
|
||||||
|
|
||||||
le_client.deploy_certificate(
|
le_client.deploy_certificate(
|
||||||
domains, lineage.privkey, lineage.cert,
|
domains, lineage.privkey, lineage.cert,
|
||||||
@@ -567,7 +567,7 @@ def run(args, config, plugins): # pylint: disable=too-many-branches,too-many-lo
|
|||||||
if len(lineage.available_versions("cert")) == 1:
|
if len(lineage.available_versions("cert")) == 1:
|
||||||
display_ops.success_installation(domains)
|
display_ops.success_installation(domains)
|
||||||
else:
|
else:
|
||||||
display_ops.success_renewal(domains)
|
display_ops.success_renewal(domains, action)
|
||||||
|
|
||||||
_suggest_donate()
|
_suggest_donate()
|
||||||
|
|
||||||
|
|||||||
@@ -309,22 +309,24 @@ def success_installation(domains):
|
|||||||
pause=False)
|
pause=False)
|
||||||
|
|
||||||
|
|
||||||
def success_renewal(domains):
|
def success_renewal(domains, action):
|
||||||
"""Display a box confirming the renewal of an existing certificate.
|
"""Display a box confirming the renewal of an existing certificate.
|
||||||
|
|
||||||
.. todo:: This should be centered on the screen
|
.. todo:: This should be centered on the screen
|
||||||
|
|
||||||
:param list domains: domain names which were renewed
|
:param list domains: domain names which were renewed
|
||||||
|
:param str action: can be "reinstall" or "renew"
|
||||||
|
|
||||||
"""
|
"""
|
||||||
util(interfaces.IDisplay).notification(
|
util(interfaces.IDisplay).notification(
|
||||||
"Your existing certificate has been successfully renewed, and the "
|
"Your existing certificate has been successfully {3}ed, and the "
|
||||||
"new certificate has been installed.{1}{1}"
|
"new certificate has been installed.{1}{1}"
|
||||||
"The new certificate covers the following domains: {0}{1}{1}"
|
"The new certificate covers the following domains: {0}{1}{1}"
|
||||||
"You should test your configuration at:{1}{2}".format(
|
"You should test your configuration at:{1}{2}".format(
|
||||||
_gen_https_names(domains),
|
_gen_https_names(domains),
|
||||||
os.linesep,
|
os.linesep,
|
||||||
os.linesep.join(_gen_ssl_lab_urls(domains))),
|
os.linesep.join(_gen_ssl_lab_urls(domains)),
|
||||||
|
action),
|
||||||
height=(14 + len(domains)),
|
height=(14 + len(domains)),
|
||||||
pause=False)
|
pause=False)
|
||||||
|
|
||||||
|
|||||||
@@ -134,12 +134,14 @@ class CLITest(unittest.TestCase): # pylint: disable=too-many-public-methods
|
|||||||
@mock.patch('letsencrypt.cli._determine_account')
|
@mock.patch('letsencrypt.cli._determine_account')
|
||||||
@mock.patch('letsencrypt.cli.client.Client.obtain_and_enroll_certificate')
|
@mock.patch('letsencrypt.cli.client.Client.obtain_and_enroll_certificate')
|
||||||
@mock.patch('letsencrypt.cli._auth_from_domains')
|
@mock.patch('letsencrypt.cli._auth_from_domains')
|
||||||
def test_user_agent(self, _afd, _obt, det, _client):
|
def test_user_agent(self, afd, _obt, det, _client):
|
||||||
# Normally the client is totally mocked out, but here we need more
|
# Normally the client is totally mocked out, but here we need more
|
||||||
# arguments to automate it...
|
# arguments to automate it...
|
||||||
args = ["--standalone", "certonly", "-m", "none@none.com",
|
args = ["--standalone", "certonly", "-m", "none@none.com",
|
||||||
"-d", "example.com", '--agree-tos'] + self.standard_args
|
"-d", "example.com", '--agree-tos'] + self.standard_args
|
||||||
det.return_value = mock.MagicMock(), None
|
det.return_value = mock.MagicMock(), None
|
||||||
|
afd.return_value = mock.MagicMock(), "newcert"
|
||||||
|
|
||||||
with mock.patch('letsencrypt.cli.client.acme_client.ClientNetwork') as acme_net:
|
with mock.patch('letsencrypt.cli.client.acme_client.ClientNetwork') as acme_net:
|
||||||
self._call_no_clientmock(args)
|
self._call_no_clientmock(args)
|
||||||
os_ver = " ".join(le_util.get_os_info())
|
os_ver = " ".join(le_util.get_os_info())
|
||||||
|
|||||||
@@ -465,7 +465,7 @@ class SuccessRenewalTest(unittest.TestCase):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def _call(cls, names):
|
def _call(cls, names):
|
||||||
from letsencrypt.display.ops import success_renewal
|
from letsencrypt.display.ops import success_renewal
|
||||||
success_renewal(names)
|
success_renewal(names, "renew")
|
||||||
|
|
||||||
@mock.patch("letsencrypt.display.ops.util")
|
@mock.patch("letsencrypt.display.ops.util")
|
||||||
def test_success_renewal(self, mock_util):
|
def test_success_renewal(self, mock_util):
|
||||||
|
|||||||
Reference in New Issue
Block a user