mirror of
https://github.com/certbot/certbot.git
synced 2026-06-07 07:42:08 -04:00
Merge branch 'master' of ssh://github.com/letsencrypt/lets-encrypt-preview into renewer
This commit is contained in:
commit
30a4f72649
6 changed files with 17 additions and 13 deletions
10
README.rst
10
README.rst
|
|
@ -17,11 +17,15 @@ It's all automated:
|
|||
* If domain control has been proven, a certificate will get issued and the tool
|
||||
will automatically install it.
|
||||
|
||||
All you need to do is:
|
||||
All you need to do is::
|
||||
|
||||
::
|
||||
user@www:~$ sudo letsencrypt -d www.example.org auth
|
||||
|
||||
user@www:~$ sudo letsencrypt -d www.example.org
|
||||
and if you have a compatbile web server (Apache), Let's Encrypt can
|
||||
not only get a new certificate, but also deploy it and configure your
|
||||
server automatically!::
|
||||
|
||||
user@www:~$ sudo letsencrypt -d www.example.org run
|
||||
|
||||
|
||||
**Encrypt ALL the things!**
|
||||
|
|
|
|||
|
|
@ -54,7 +54,6 @@ Installation
|
|||
|
||||
virtualenv --no-site-packages -p python2 venv
|
||||
./venv/bin/pip install -r requirements.txt
|
||||
sudo ./venv/bin/letsencrypt
|
||||
|
||||
|
||||
Usage
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ def choose_plugin(prepared, question):
|
|||
:rtype: `~.PluginEntryPoint`
|
||||
|
||||
"""
|
||||
opts = [plugin_ep.name_with_description
|
||||
opts = [plugin_ep.description_with_name
|
||||
+ (" [Misconfigured]" if plugin_ep.misconfigured else "")
|
||||
for plugin_ep in prepared]
|
||||
|
||||
|
|
|
|||
|
|
@ -39,9 +39,9 @@ class PluginEntryPoint(object):
|
|||
return self.plugin_cls.description
|
||||
|
||||
@property
|
||||
def name_with_description(self):
|
||||
"""Name with description. Handy for UI."""
|
||||
return "{0} ({1})".format(self.name, self.description)
|
||||
def description_with_name(self):
|
||||
"""Description with name. Handy for UI."""
|
||||
return "{0} ({1})".format(self.description, self.name)
|
||||
|
||||
def ifaces(self, *ifaces_groups):
|
||||
"""Does plugin implements specified interface groups?"""
|
||||
|
|
|
|||
|
|
@ -52,9 +52,10 @@ class PluginEntryPointTest(unittest.TestCase):
|
|||
def test_description(self):
|
||||
self.assertEqual("Standalone Authenticator", self.plugin_ep.description)
|
||||
|
||||
def test_name_with_description(self):
|
||||
self.assertTrue(
|
||||
self.plugin_ep.name_with_description.startswith("sa ("))
|
||||
def test_description_with_name(self):
|
||||
self.plugin_ep.plugin_cls = mock.MagicMock(description="Desc")
|
||||
self.assertEqual(
|
||||
"Desc (sa)", self.plugin_ep.description_with_name)
|
||||
|
||||
def test_ifaces(self):
|
||||
self.assertTrue(self.plugin_ep.ifaces((interfaces.IAuthenticator,)))
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@ class ChoosePluginTest(unittest.TestCase):
|
|||
def setUp(self):
|
||||
zope.component.provideUtility(display_util.FileDisplay(sys.stdout))
|
||||
self.mock_apache = mock.Mock(
|
||||
name_with_description="a", misconfigured=True)
|
||||
description_with_name="a", misconfigured=True)
|
||||
self.mock_stand = mock.Mock(
|
||||
name_with_description="s", misconfigured=False)
|
||||
description_with_name="s", misconfigured=False)
|
||||
self.mock_stand.init().more_info.return_value = "standalone"
|
||||
self.plugins = [
|
||||
self.mock_apache,
|
||||
|
|
|
|||
Loading…
Reference in a new issue