diff options
author | Gauvain Pocentek <gauvain@pocentek.net> | 2018-03-05 17:35:41 +0100 |
---|---|---|
committer | Gauvain Pocentek <gauvain@pocentek.net> | 2018-03-05 17:35:41 +0100 |
commit | 748d57ee64036305a84301db7211b713c1995391 (patch) | |
tree | 1ecb834a0db215a1bbb784f3e8d45ad2ab80f183 /gitlab/tests/test_cli.py | |
parent | c7b3f969fc3fcf9d057a23638d121f51513bb13c (diff) | |
download | gitlab-748d57ee64036305a84301db7211b713c1995391.tar.gz |
[cli] Allow to read args from files
With the @/file/path syntax (similar to curl) user can provide values
from attributes in files.
Fixes #448
Diffstat (limited to 'gitlab/tests/test_cli.py')
-rw-r--r-- | gitlab/tests/test_cli.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gitlab/tests/test_cli.py b/gitlab/tests/test_cli.py index e6e290a..b8062b3 100644 --- a/gitlab/tests/test_cli.py +++ b/gitlab/tests/test_cli.py @@ -20,6 +20,8 @@ from __future__ import print_function from __future__ import absolute_import import argparse +import os +import tempfile import six try: @@ -52,6 +54,29 @@ class TestCLI(unittest.TestCase): self.assertEqual(test.exception.code, 1) + def test_parse_value(self): + ret = cli._parse_value('foobar') + self.assertEqual(ret, 'foobar') + + ret = cli._parse_value(True) + self.assertEqual(ret, True) + + ret = cli._parse_value(1) + self.assertEqual(ret, 1) + + ret = cli._parse_value(None) + self.assertEqual(ret, None) + + fd, temp_path = tempfile.mkstemp() + os.write(fd, b'content') + os.close(fd) + ret = cli._parse_value('@%s' % temp_path) + self.assertEqual(ret, 'content') + os.unlink(temp_path) + + with self.assertRaises(SystemExit): + cli._parse_value('@/thisfileprobablydoesntexist') + def test_base_parser(self): parser = cli._get_base_parser() args = parser.parse_args(['-v', '-g', 'gl_id', |