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
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'
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.'
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)
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)
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]
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
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)
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)
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
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)
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'
def test_convert_mode_init(argv): args = parser.parse_args(argv.split()) cm = ConvertMode(args) assert cm._kwargs.command == 'convert'
def test_str_representation(string): args = parser.parse_args(['convert', string]) cm = ConvertMode(args) assert str(cm) == 'convert 10kb'
def test_bad_execute(argv): args = parser.parse_args(argv.split()) cm = ConvertMode(args) assert isinstance(cm.execute(), InvalidResult)
def test_good_execute(string): args = parser.parse_args(['convert', string]) cm = ConvertMode(args) assert isinstance(cm.execute(), ValidResult)
def test_random_mode_str_representation(argv, expected): args = argv.split() parsed = parser.parse_args(args) rm = RandomMode(parsed) assert str(rm) == expected
def test_random_mode_init(): argv = 'random uuid' args = parser.parse_args(argv.split()) rm = RandomMode(args) assert rm._kwargs.type == 'uuid'
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
def test_timestamp_str_representation(args, expected): parsed = parser.parse_args(args) timestamp_mode = TimestampMode(parsed) assert str(timestamp_mode) == expected
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)
def test_thyme_init(): argv = 'date 12345656'.split() dt = Thyme(parser.parse_args(argv)) assert dt._kwargs
def test_thyme_run(): argv = 'date 12345656'.split() dt = Thyme(parser.parse_args(argv)) assert dt.run() is None
def test_str_represenation(argv, stringed): hm = HistoryMode(parser.parse_args(argv)) assert str(hm) == stringed
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()
def test_file_mode_cli(args): args = args.split(' ') try: parser.parse_args(args) except SystemExit: pytest.fail("Should not raise a SystemExit exception.")