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'}
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'}
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'}
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'}
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'}
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'}
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'}
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'}
def test_parse_args_sh_simple(): argv = ['op-env', 'sh', '-e', 'DUMMY'] args = parse_argv(argv) assert args == {'environment': ['DUMMY'], 'operation': 'sh', 'title': []}
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': []}
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)
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)
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)
def test_parse_args_json_operation_no_env_variables(): argv = ['op-env', 'json'] args = parse_argv(argv) assert args == {'environment': [], 'title': [], 'operation': 'json'}