Changeset - e82ee8e024f4
[Not reviewed]
0 3 0
Branko Majic (branko) - 6 years ago 2018-02-26 23:31:37
branko@majic.rs
GC-11: Expanded help to include some more information on tool usage.
3 files changed with 31 insertions and 0 deletions:
0 comments (0 inline, 0 general)
functional_tests/test_help.py
Show inline comments
 
@@ -54,6 +54,29 @@ def test_usage_help_shown():
 
    stdout, stderr = stdout.decode(), stderr.decode()
 

	
 
    # John is presented with short usage instructions.
 
    assert "usage: gimmecert [-h]" in stdout
 
    assert stderr == ''
 
    assert process.returncode == 0
 

	
 

	
 
def test_extended_help_shown():
 
    # John is still not quite sure how the tool works. Therefore he
 
    # decides to try out the -h flag to the command.
 
    process = subprocess.Popen(["gimmecert", "-h"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 
    stdout, stderr = process.communicate()
 
    stdout, stderr = stdout.decode(), stderr.decode()
 

	
 
    # In doing so, John is presented with much more extensive
 
    # instructions that provide him with better idea on how to use the
 
    # tool.
 
    assert stderr == ''
 
    assert process.returncode == 0
 
    assert "usage: gimmecert [-h]" in stdout
 
    assert "Examples:" in stdout
 
    assert "optional arguments" in stdout
 
    # @TODO: Can't really test this without producing errors, but
 
    # possibly not needed.
 
    # assert "positional arguments" in stdout
 
    # @TODO: Can't test at the moment, should be added once the first
 
    # commands is implemented.
 
    # assert "command1|command2" in stdout
gimmecert/cli.py
Show inline comments
 
@@ -22,12 +22,14 @@
 
import argparse
 

	
 

	
 
DESCRIPTION = """\
 
Issues server and client X.509 certificates using a local CA
 
hierarchy.
 

	
 
Examples:
 
"""
 

	
 

	
 
def get_parser():
 
    """
 
    Sets-up and returns a CLI argument parser.
tests/test_cli.py
Show inline comments
 
@@ -79,6 +79,12 @@ def test_main_invokes_parser_function(mock_get_parser):
 
    mock_parser.parse_args.return_value = mock_args
 
    mock_get_parser.return_value = mock_parser
 

	
 
    gimmecert.cli.main()
 

	
 
    mock_args.func.assert_called_once_with(mock_args)
 

	
 

	
 
def test_parser_help_contains_examples():
 
    parser = gimmecert.cli.get_parser()
 

	
 
    assert 'Examples' in parser.description
0 comments (0 inline, 0 general)