Exemple #1
0
def test_parse_args_write_and_files(ctxrc_cls, path_cls):
    ctxrc_cls.from_path.return_value = mock.MagicMock()
    path_cls.home.return_value = Path(HOME_PATH)
    args = mock.MagicMock()
    ap = mock.MagicMock()
    ap.parse_args.return_value = args
    args.type = 'some_type'
    args.write = True
    file = mock.MagicMock()
    file.name = 'not <stdin>'
    args.files = [file]

    parse_args(ap, ['ctx', 'argv'])
    ap.error.assert_called_once()
Exemple #2
0
def test_parse_args_arg_does_not_exist(ctxrc_cls, path_cls):
    type_arg = 'some_type_doesnt_exist'
    exception = TypeArgDoesNotExistException(missing_type=type_arg)
    ctxrc = mock.MagicMock()
    ctxrc.get_type_argv.side_effect = exception
    ctxrc_cls.from_path.return_value = ctxrc
    path_cls.home.return_value = Path(HOME_PATH)
    args = mock.MagicMock()
    args.write = False
    ap = mock.MagicMock()
    ap.parse_args.return_value = args
    args.type = type_arg

    parse_args(ap, ['ctx', 'argv'])

    ap.error.assert_called_once_with(str(exception))
Exemple #3
0
def test_parse_args_write_and_no_files(ctxrc_cls, path_cls):
    ctxrc = mock.MagicMock()
    ctxrc_cls.from_path.return_value = ctxrc
    path_cls.home.return_value = Path(HOME_PATH)
    args = mock.MagicMock()
    ap = mock.MagicMock()
    ap.parse_args.return_value = args
    args.type = 'some_type'
    args.write = True
    file = mock.MagicMock()
    file.name = '<stdin>'
    args.files = [file]

    parse_args(ap, ['ctx', 'argv'])
    ctxrc.add_type.assert_called_once_with('some_type', ['argv'])
    ctxrc.save.assert_called_once_with(Path(HOME_PATH) / '.ctxrc')
    ap.exit.assert_called_once_with(0)
Exemple #4
0
def test_parse_args_no_type():
    args = mock.MagicMock()
    ap = mock.MagicMock()
    ap.parse_args.return_value = args
    args.type = None

    result_args = parse_args(ap, ['ctx', 'argv'])
    assert result_args is args
Exemple #5
0
def test_parse_args_arg_exists(ctxrc_cls, path_cls):
    type_arg = 'some_arg'
    type_argv = ['some', 'argv']
    argv = ['ctx', 'something', 'else']
    ctxrc = mock.MagicMock()
    ctxrc.get_type_argv.return_value = type_argv
    ctxrc_cls.from_path.return_value = ctxrc
    path_cls.home.return_value = Path(HOME_PATH)
    args = mock.MagicMock()
    args.write = False
    args.files = [mock.MagicMock(), mock.MagicMock()]
    ap = mock.MagicMock()
    ap.parse_args.return_value = args
    args.type = type_arg

    new_args = parse_args(ap, argv)
    ap.parse_args.assert_called_with(type_argv + argv[1:])
    ap.parse_args.assert_called_with(['some', 'argv', 'something', 'else'])
    assert new_args.type is None
    assert new_args.write is False
    assert new_args.files is args.files