예제 #1
0
def test_parse_args_run_operation_with_yaml_argument(two_item_yaml_file):
    argv = ['op-env', 'run', '-y', two_item_yaml_file, 'mycmd', '1', '2', '3']
    args = parse_argv(argv)
    assert args == {'command': ['mycmd', '1', '2', '3'],
                    'environment': ['VAR1', 'VAR2'],
                    'title': [],
                    'operation': 'run'}
예제 #2
0
def test_parse_args_run_operation_with_environment_arguments():
    argv = ['op-env', 'run', '-e', 'DUMMY', 'mycmd', '1', '2', '3']
    args = parse_argv(argv)
    assert args == {'command': ['mycmd', '1', '2', '3'],
                    'environment': ['DUMMY'],
                    'title': [],
                    'operation': 'run'}
예제 #3
0
def test_parse_args_run_operation_with_empty_file_text_argument(empty_file):
    argv = ['op-env', 'run', '-f', empty_file, 'mycmd', '1', '2', '3']
    args = parse_argv(argv)
    assert args == {'command': ['mycmd', '1', '2', '3'],
                    'environment': [],
                    'title': [],
                    'operation': 'run'}
예제 #4
0
def test_parse_args_run_operation_with_text_arguments_and_environment_arguments(two_item_text_file):
    argv = ['op-env', 'run', '-e', 'VAR0', '-f', two_item_text_file, 'mycmd', '1', '2', '3']
    args = parse_argv(argv)
    assert args == {'command': ['mycmd', '1', '2', '3'],
                    'environment': ['VAR0', 'TVAR1', 'TVAR2'],
                    'title': [],
                    'operation': 'run'}
예제 #5
0
def test_parse_args_run_operation_no_env_variables():
    argv = ['op-env', 'run', 'mycmd']
    args = parse_argv(argv)
    assert args == {'command': ['mycmd'],
                    'environment': [],
                    'title': [],
                    'operation': 'run'}
예제 #6
0
def test_parse_args_run_operation_with_long_env_variables():
    argv = ['op-env', 'run', '-e', 'DUMMY', '--environment', 'DUMMY2', 'mycmd']
    args = parse_argv(argv)
    assert args == {'command': ['mycmd'],
                    'environment': ['DUMMY', 'DUMMY2'],
                    'title': [],
                    'operation': 'run'}
예제 #7
0
def test_parse_args_run_operation_with_name_specified():
    argv = ['op-env', 'run', '-t', 'foo: bar', 'mycmd']
    args = parse_argv(argv)
    assert args == {'command': ['mycmd'],
                    'title': ['foo: bar'],
                    'environment': [],
                    'operation': 'run'}
예제 #8
0
def test_parse_args_run_operation_with_multiple_yaml_and_environment_arguments(one_item_yaml_file,
                                                                               two_item_yaml_file):
    argv = ['op-env', 'run', '-e', 'VAR_1', '-e', 'VAR0',
            '-y', two_item_yaml_file, '-y', one_item_yaml_file,
            'mycmd', '1', '2', '3']
    args = parse_argv(argv)
    assert args == {'command': ['mycmd', '1', '2', '3'],
                    'environment': ['VAR_1', 'VAR0', 'VAR1', 'VAR2', 'VARA'],
                    'title': [],
                    'operation': 'run'}
예제 #9
0
def test_parse_args_sh_simple():
    argv = ['op-env', 'sh', '-e', 'DUMMY']
    args = parse_argv(argv)
    assert args == {'environment': ['DUMMY'], 'operation': 'sh', 'title': []}
예제 #10
0
def test_parse_args_run_simple():
    argv = ['op-env', 'run', '-e', 'DUMMY', 'mycmd']
    args = parse_argv(argv)
    assert args == {'command': ['mycmd'], 'environment': ['DUMMY'], 'operation': 'run', 'title': []}
예제 #11
0
def test_parse_args_run_operation_with_invalid_file_yaml_argument(invalid_yaml_file):
    argv = ['op-env', 'run', '-y', invalid_yaml_file, 'mycmd', '1', '2', '3']
    with pytest.raises(yaml.scanner.ScannerError):
        parse_argv(argv)
예제 #12
0
def test_parse_args_run_operation_with_object_file_yaml_argument(object_yaml_file):
    argv = ['op-env', 'run', '-y', object_yaml_file, 'mycmd', '1', '2', '3']
    with pytest.raises(argparse.ArgumentTypeError, match='YAML file must be a list; found'):
        parse_argv(argv)
예제 #13
0
def test_list_of_numbers_yaml_argument(list_of_number_yaml_file):
    argv = ['op-env', 'run', '-y', list_of_number_yaml_file, 'mycmd', '1', '2', '3']
    with pytest.raises(argparse.ArgumentTypeError,
                       match='YAML file must contain a list of strings'):
        parse_argv(argv)
예제 #14
0
def test_parse_args_json_operation_no_env_variables():
    argv = ['op-env', 'json']
    args = parse_argv(argv)
    assert args == {'environment': [],
                    'title': [],
                    'operation': 'json'}