mirror of https://github.com/chriskiehl/Gooey.git
Chris
9 years ago
6 changed files with 91 additions and 81 deletions
Split View
Diff Options
-
2.gitignore
-
5gooey/python_bindings/config_generator.py
-
77gooey/tests/argparse_to_json_unittest.py
-
13gooey/tests/config_generator_unittest.py
-
67gooey/tests/conftest.py
-
8gooey/tests/image_repositoy_unittest.py
@ -0,0 +1,13 @@ |
|||
from gooey.python_bindings.config_generator import * |
|||
|
|||
|
|||
def test_create_from_parser(empty_parser): |
|||
build_spec = create_from_parser(empty_parser,'.') |
|||
assert build_spec['manual_start'] == True |
|||
|
|||
|
|||
def test_create_from_parser_show_config(empty_parser): |
|||
build_spec = create_from_parser(empty_parser, |
|||
'.', |
|||
show_config=True) |
|||
assert build_spec['program_description'] == 'description' |
@ -0,0 +1,67 @@ |
|||
import argparse |
|||
import pytest |
|||
|
|||
@pytest.fixture |
|||
def empty_parser(): |
|||
return argparse.ArgumentParser(description='description') |
|||
|
|||
|
|||
@pytest.fixture |
|||
def complete_parser(): |
|||
parser = argparse.ArgumentParser(description='description') |
|||
parser.add_argument("req1", help='filename help msg') # positional |
|||
parser.add_argument("req2", help="Name of the file where you'll save the output") # positional |
|||
parser.add_argument('-r', dest="req3", default=10, type=int, help='sets the time to count down from', required=True) |
|||
parser.add_argument('--req4', dest="req4", default=10, type=int, help='sets the time to count down from', required=True) |
|||
|
|||
parser.add_argument("-a", "--aa", action="store_true", help="aaa") |
|||
parser.add_argument("-b", "--bb", action="store_true", help="bbb") |
|||
parser.add_argument('-c', '--cc', action='count') |
|||
parser.add_argument("-d", "--dd", action="store_true", help="ddd") |
|||
parser.add_argument('-e', '--ee', choices=['yes', 'no'], help='eee') |
|||
parser.add_argument("-f", "--ff", default="0000", help="fff") |
|||
parser.add_argument("-g", "--gg", action="store_true", help="ggg") |
|||
verbosity = parser.add_mutually_exclusive_group() |
|||
verbosity.add_argument('-i', '--ii', action="store_true", help="iii") |
|||
verbosity.add_argument('-j', '--jj', action="store_true", help="hhh") |
|||
return parser |
|||
|
|||
|
|||
@pytest.fixture |
|||
def subparser(): |
|||
parser = argparse.ArgumentParser(description='qidev') |
|||
parser.add_argument('--verbose', help='be verbose', dest='verbose', action='store_true', default=False) |
|||
subs = parser.add_subparsers(help='commands', dest='command') |
|||
|
|||
config_parser = subs.add_parser('config', help='configure defaults for qidev') |
|||
config_parser.add_argument('field', help='the field to configure', type=str) |
|||
config_parser.add_argument('value', help='set field to value', type=str) |
|||
|
|||
# ######################################################## |
|||
connect_parser = subs.add_parser('connect', help='connect to a robot (ip/hostname)') |
|||
connect_parser.add_argument('hostname', help='hostname or IP address of the robot', type=str) |
|||
|
|||
# ######################################################## |
|||
install_parser = subs.add_parser('install', help='package and install a project directory on a robot') |
|||
install_parser.add_argument('path', help='path to the project directory (containing manifest.xml', type=str) |
|||
install_parser.add_argument('--ip', nargs='*', type=str, dest='ip', help='specify hostname(es)/IP address(es)') |
|||
return parser |
|||
|
|||
|
|||
@pytest.fixture |
|||
def exclusive_group(): |
|||
parser = argparse.ArgumentParser(description='description') |
|||
verbosity = parser.add_mutually_exclusive_group() |
|||
verbosity.add_argument('-i', dest="option1", action="store_true", help="iii") |
|||
verbosity.add_argument('-j', dest="option2", action="store_true", help="hhh") |
|||
|
|||
mutually_exclusive_group = [mutex_action |
|||
for group_actions in parser._mutually_exclusive_groups |
|||
for mutex_action in group_actions._group_actions] |
|||
return mutually_exclusive_group |
|||
|
|||
|
|||
@pytest.fixture |
|||
def expected_attrs(): |
|||
return ('program_icon', 'success_icon', 'running_icon', |
|||
'loading_icon', 'config_icon', 'error_icon') |
Write
Preview
Loading…
Cancel
Save