Ejemplo n.º 1
0
def test_thyme__get_mode():
    argv = 'date 12345656'.split()
    dt = Thyme(parser.parse_args(argv))
    assert dt._get_mode(dt._kwargs) == DatetimeMode

    argv = ['stamp', '10-10-2010']
    stamp = Thyme(parser.parse_args(argv))
    assert stamp._get_mode(stamp._kwargs) == TimestampMode
Ejemplo n.º 2
0
def test_history_mode_execute(mock_list, mock_search):
    argv = ['history']
    args = parser.parse_args(argv)
    hm = HistoryMode(args)
    assert hm.execute().result == 'boo\nbah\n'

    argv = ['history', 'boo']
    args = parser.parse_args(argv)
    hm = HistoryMode(args)
    assert hm.execute().result == 'boo'
Ejemplo n.º 3
0
def test_random_mode_invalid_limit():
    argv = 'random float -l-100000'
    args = parser.parse_args(argv.split())
    rm = RandomMode(args)
    res = rm.execute()
    assert isinstance(res, InvalidResult)
    assert res.errors[0] == 'Limit must be greater than 0.'

    argv = 'random float -l90.09'
    args = parser.parse_args(argv.split())
    rm = RandomMode(args)
    res = rm.execute()
    assert isinstance(res, InvalidResult)
    assert res.errors[0] == 'Limit must be an integer.'
Ejemplo n.º 4
0
def test_timestamp_mode_bad_kwargs():
    argv = 'stamp 34kjk3j4523k'.split()
    args = parser.parse_args(argv)

    timestamp_mode = TimestampMode(args)

    assert isinstance(timestamp_mode.execute(), InvalidResult)
Ejemplo n.º 5
0
def test_history_mode_init():
    argv = 'history'
    args = parser.parse_args(argv.split())
    hm = HistoryMode(args)

    assert hm._kwargs.search is None
    assert hm._kwargs.command == 'history'
    assert isinstance(hm.history, History)
Ejemplo n.º 6
0
def test_file_mode_init(args, expected):
    args = args.split(' ')
    args = parser.parse_args(args)
    fm = FileMode(args)

    assert fm.command == expected[0]
    assert fm._kwargs.filetype == expected[1]
    assert fm._kwargs.name == expected[2]
Ejemplo n.º 7
0
def test_timestamp_mode_good_kwargs():
    argv = ['stamp', 'feb 25 1990']
    args = parser.parse_args(argv)
    timestamp_mode = TimestampMode(args)

    assert isinstance(timestamp_mode.execute(), ValidResult)

    assert timestamp_mode.execute().result == return_stamp
Ejemplo n.º 8
0
def test_datetime_mode_bad_kwargs():
    argv = ['date', '89dsljklse12']
    args = parser.parse_args(argv)

    timestamp_mode = DatetimeMode(args)

    res = timestamp_mode.execute()
    assert isinstance(res, InvalidResult)
Ejemplo n.º 9
0
def test_random_mode_uuid():
    argv = 'random uuid'
    args = parser.parse_args(argv.split())
    rm = RandomMode(args)
    res = rm.execute()

    assert isinstance(res, ValidResult)
    assert len(str(res.result)) == 36
    assert '-' in str(res)
Ejemplo n.º 10
0
def test_random_mode_secret():
    argv = ['random', 'secret', '-l 100']
    args = parser.parse_args(argv)
    rm = RandomMode(args)
    res = rm.execute()

    assert isinstance(res, ValidResult)
    assert isinstance(res.result, str)
    assert len(res.result) == 100
Ejemplo n.º 11
0
def test_random_mode_float():
    argv = 'random float -l10000'
    args = parser.parse_args(argv.split())
    rm = RandomMode(args)
    res = rm.execute()

    assert isinstance(res, ValidResult)
    assert isinstance(res.result, float)
    assert res.result <= 10000
    assert '.' in str(res.result)
Ejemplo n.º 12
0
def test_datetime_mode_good_kwargs_w_format():
    argv = ['date', '-fYYYY MMM DD', '635904000']
    args = parser.parse_args(argv)

    timestamp_mode = DatetimeMode(args)

    res = timestamp_mode.execute()
    assert isinstance(res, ValidResult)

    assert timestamp_mode.execute().result == '1990 Feb 25'
Ejemplo n.º 13
0
def test_convert_mode_init(argv):
    args = parser.parse_args(argv.split())
    cm = ConvertMode(args)
    assert cm._kwargs.command == 'convert'
Ejemplo n.º 14
0
def test_str_representation(string):
    args = parser.parse_args(['convert', string])
    cm = ConvertMode(args)
    assert str(cm) == 'convert 10kb'
Ejemplo n.º 15
0
def test_bad_execute(argv):
    args = parser.parse_args(argv.split())
    cm = ConvertMode(args)
    assert isinstance(cm.execute(), InvalidResult)
Ejemplo n.º 16
0
def test_good_execute(string):
    args = parser.parse_args(['convert', string])
    cm = ConvertMode(args)
    assert isinstance(cm.execute(), ValidResult)
Ejemplo n.º 17
0
def test_random_mode_str_representation(argv, expected):
    args = argv.split()
    parsed = parser.parse_args(args)
    rm = RandomMode(parsed)
    assert str(rm) == expected
Ejemplo n.º 18
0
def test_random_mode_init():
    argv = 'random uuid'
    args = parser.parse_args(argv.split())
    rm = RandomMode(args)
    assert rm._kwargs.type == 'uuid'
Ejemplo n.º 19
0
def test_execute_returns_path(m, mock_cwd, args, fname):
    args = args.split(' ')
    args = parser.parse_args(args)
    fm = FileMode(args)
    res = fm.execute()
    assert os.path.join('/a/b/c', fname) in res.result
Ejemplo n.º 20
0
def test_timestamp_str_representation(args, expected):
    parsed = parser.parse_args(args)
    timestamp_mode = TimestampMode(parsed)
    assert str(timestamp_mode) == expected
Ejemplo n.º 21
0
def test_datetime_mode_invalid_format():
    argv = ['date', 'dsfasdfads']
    args = parser.parse_args(argv)
    timestamp_mode = DatetimeMode(args)
    res = timestamp_mode.execute()
    assert isinstance(res, InvalidResult)
Ejemplo n.º 22
0
def test_thyme_init():
    argv = 'date 12345656'.split()
    dt = Thyme(parser.parse_args(argv))
    assert dt._kwargs
Ejemplo n.º 23
0
def test_thyme_run():
    argv = 'date 12345656'.split()
    dt = Thyme(parser.parse_args(argv))
    assert dt.run() is None
Ejemplo n.º 24
0
def test_str_represenation(argv, stringed):
    hm = HistoryMode(parser.parse_args(argv))
    assert str(hm) == stringed
Ejemplo n.º 25
0
def test_datetime_mode_invalid_input():
    argv = 'date 567890 --format=dsfd'.split()
    args = parser.parse_args(argv)
    dtm = DatetimeMode(args)
    with pytest.raises(ValueError):
        assert dtm._execute()
Ejemplo n.º 26
0
def test_file_mode_cli(args):
    args = args.split(' ')
    try:
        parser.parse_args(args)
    except SystemExit:
        pytest.fail("Should not raise a SystemExit exception.")