summaryrefslogtreecommitdiff
path: root/oslo_config
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2019-12-20 10:29:50 +0000
committerGerrit Code Review <review@openstack.org>2019-12-20 10:29:50 +0000
commit062b98a610cdf993a352d26d72737f003350eb14 (patch)
tree6a4449744f048f4186f1691812a82b296a64fe5f /oslo_config
parent6011b9c8a378715c318b971b724d1766ec5065f4 (diff)
parentec84eeda526adc20dcabdf6e704958cc06773dd3 (diff)
downloadoslo-config-062b98a610cdf993a352d26d72737f003350eb14.tar.gz
Merge "Refactor unit tests for CLI usage"
Diffstat (limited to 'oslo_config')
-rw-r--r--oslo_config/tests/test_cfg.py42
1 files changed, 34 insertions, 8 deletions
diff --git a/oslo_config/tests/test_cfg.py b/oslo_config/tests/test_cfg.py
index db68583..a7d7767 100644
--- a/oslo_config/tests/test_cfg.py
+++ b/oslo_config/tests/test_cfg.py
@@ -94,13 +94,13 @@ class BaseTestCase(base.BaseTestCase):
class TestConfigOpts(cfg.ConfigOpts):
def __call__(self, args=None, default_config_files=[],
- default_config_dirs=[]):
+ default_config_dirs=[], usage=None):
return cfg.ConfigOpts.__call__(
self,
args=args,
prog='test',
version='1.0',
- usage='%(prog)s FOO BAR',
+ usage=usage,
description='somedesc',
epilog='tepilog',
default_config_files=default_config_files,
@@ -142,6 +142,21 @@ class UsageTestCase(BaseTestCase):
f = moves.StringIO()
self.conf([])
self.conf.print_usage(file=f)
+ self.assertIn(
+ 'usage: test [-h] [--config-dir DIR] [--config-file PATH] '
+ '[--version]',
+ f.getvalue())
+ self.assertNotIn('somedesc', f.getvalue())
+ self.assertNotIn('tepilog', f.getvalue())
+ self.assertNotIn('optional:', f.getvalue())
+
+ def test_print_custom_usage(self):
+ conf = self.TestConfigOpts()
+
+ self.tempdirs = []
+ f = moves.StringIO()
+ conf([], usage='%(prog)s FOO BAR')
+ conf.print_usage(file=f)
self.assertIn('usage: test FOO BAR', f.getvalue())
self.assertNotIn('somedesc', f.getvalue())
self.assertNotIn('tepilog', f.getvalue())
@@ -151,7 +166,10 @@ class UsageTestCase(BaseTestCase):
f = moves.StringIO()
self.conf([])
self.conf.print_help(file=f)
- self.assertIn('usage: test FOO BAR', f.getvalue())
+ self.assertIn(
+ 'usage: test [-h] [--config-dir DIR] [--config-file PATH] '
+ '[--version]',
+ f.getvalue())
self.assertIn('somedesc', f.getvalue())
self.assertIn('tepilog', f.getvalue())
self.assertNotIn('optional:', f.getvalue())
@@ -163,7 +181,10 @@ class HelpTestCase(BaseTestCase):
f = moves.StringIO()
self.conf([])
self.conf.print_help(file=f)
- self.assertIn('usage: test FOO BAR', f.getvalue())
+ self.assertIn(
+ 'usage: test [-h] [--config-dir DIR] [--config-file PATH] '
+ '[--version]',
+ f.getvalue())
self.assertIn('optional', f.getvalue())
self.assertIn('-h, --help', f.getvalue())
@@ -183,7 +204,10 @@ class HelpTestCase(BaseTestCase):
self.conf.register_cli_opts(cli_opts)
self.conf([])
self.conf.print_help(file=f)
- self.assertIn('usage: test FOO BAR', f.getvalue())
+ self.assertIn(
+ 'usage: test [-h] [--aa AA] [--bb BB] [--cc CC] [--config-dir DIR]'
+ '\n [--config-file PATH] [--version]',
+ f.getvalue())
self.assertIn('optional', f.getvalue())
self.assertIn('-h, --help', f.getvalue())
self.assertIn('StrOpt with choices. Allowed values: xx, yy, zz',
@@ -756,10 +780,12 @@ class CliSpecialOptsTestCase(BaseTestCase):
def test_help(self):
self.useFixture(fixtures.MonkeyPatch('sys.stdout', moves.StringIO()))
self.assertRaises(SystemExit, self.conf, ['--help'])
- self.assertIn('FOO BAR', sys.stdout.getvalue())
- self.assertIn('--version', sys.stdout.getvalue())
+ self.assertIn('usage: test', sys.stdout.getvalue())
+ self.assertIn('[--version]', sys.stdout.getvalue())
+ self.assertIn('[-h]', sys.stdout.getvalue())
self.assertIn('--help', sys.stdout.getvalue())
- self.assertIn('--config-file', sys.stdout.getvalue())
+ self.assertIn('[--config-dir DIR]', sys.stdout.getvalue())
+ self.assertIn('[--config-file PATH]', sys.stdout.getvalue())
def test_version(self):
# In Python 3.4+, argparse prints the version on stdout; before 3.4, it