1
0
mirror of https://github.com/nvbn/thefuck.git synced 2024-10-06 10:51:11 +01:00
thefuck/tests/rules/test_hostscli.py

66 lines
1.5 KiB
Python
Raw Normal View History

2017-02-05 09:20:36 +00:00
#! /usr/bin/env python
# -*- coding: utf-8 -*-
#
# vim: fenc=utf-8
# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
#
#
"""
File name: test_hostscli.py
Author: dhilipsiva <dhilipsiva@gmail.com>
Date created: 2017-02-05
"""
import pytest
from thefuck.rules.hostscli import no_command, need_sudo, no_website, \
match, get_new_command
from tests.utils import Command
no_command = '''
Usage: hostscli [OPTIONS] COMMAND [ARGS]...
%s "invalid".
''' % no_command
need_sudo = '''
%s:
"sudo" permissions are required to run this command.
Please run the last command again with sudo
''' % need_sudo
no_website = '''
%s:
No Domain list found for website: a_website_that_does_not_exist
Please raise a Issue here: https://github.com/dhilipsiva/hostscli/issues/new
if you think we should add domains for this website.
type `hostscli websites` to see a list of websites that you can block/unblock
''' % no_website
@pytest.mark.parametrize('command', [
Command('hostscli invalid', stderr=no_command)])
def test_match(command):
assert match(command)
@pytest.mark.parametrize('command, result', [
(Command(
'hostscli invalid', stderr=no_command), ['hostscli --help']),
(Command(
'hostscli block test', stderr=need_sudo),
['sudo hostscli block test']),
(Command(
'sudo hostscli block a_website_that_does_not_exist',
stderr=no_website),
['hostscli websites'])])
def test_get_new_command(command, result):
assert get_new_command(command) == result