Test CLI plugins command

This commit is contained in:
Jakub Warmuz 2015-05-04 08:10:52 +00:00
parent b4f99df798
commit 9e7918fc75
No known key found for this signature in database
GPG key ID: 2A7BAD3A489B52EA

View file

@ -1,11 +1,37 @@
"""Tests for letsencrypt.client.cli."""
import itertools
import sys
import unittest
import mock
import zope.component
from letsencrypt.client.display import util as display_util
class CLITest(unittest.TestCase):
"""Tests for different commands."""
def test_it(self):
def _call(self, args):
from letsencrypt.client import cli
self.assertRaises(SystemExit, cli.main, ['--help'])
args = ['--text'] + args
with mock.patch("letsencrypt.client.cli.sys.stdout") as stdout:
with mock.patch("letsencrypt.client.cli.sys.stderr") as stderr:
ret = cli.main(args)
return ret, stdout, stderr
def test_no_flags(self):
self.assertRaises(SystemExit, self._call, [])
def test_help(self):
self.assertRaises(SystemExit, self._call, ['--help'])
def test_plugins(self):
flags = ['--init', '--prepare', '--authenticators', '--installers']
for args in itertools.chain(*(itertools.combinations(flags, r)
for r in xrange(len(flags)))):
print args
self._call(['plugins',] + list(args))
if __name__ == '__main__':