コード例 #1
0
ファイル: test_main.py プロジェクト: xubodreamsky/mycli
def test_reserved_space_is_integer():
    """Make sure that reserved space is returned as an integer."""
    def stub_terminal_size():
        return (5, 5)

    old_func = click.get_terminal_size

    click.get_terminal_size = stub_terminal_size
    mycli = MyCli()
    assert isinstance(mycli.get_reserved_space(), int)

    click.get_terminal_size = old_func
コード例 #2
0
ファイル: test_main.py プロジェクト: scrappysoft/mycli
def test_reserved_space_is_integer():
    """Make sure that reserved space is returned as an integer."""
    def stub_terminal_size():
        return (5, 5)

    old_func = click.get_terminal_size

    click.get_terminal_size = stub_terminal_size
    mycli = MyCli()
    assert isinstance(mycli.get_reserved_space(), int)

    click.get_terminal_size = old_func
コード例 #3
0
def run(executor, sql, join=False):
    """Return string output for the sql to be run."""
    result = []

    # TODO: this needs to go away. `run()` should not test formatted output.
    # It should test raw results.
    mycli = MyCli()
    for title, rows, headers, status in executor.run(sql):
        result.extend(
            mycli.format_output(title, rows, headers, status,
                                special.is_expanded_output()))

    if join:
        result = '\n'.join(result)
    return result
コード例 #4
0
ファイル: test_main.py プロジェクト: xubodreamsky/mycli
def output(monkeypatch, terminal_size, testdata, explicit_pager, expect_pager):
    global clickoutput
    clickoutput = ""
    m = MyCli()

    class TestOutput():
        def get_size(self):
            size = namedtuple('Size', 'rows columns')
            size.columns, size.rows = terminal_size
            return size

    class TestExecute():
        host = 'test'
        user = '******'
        dbname = 'test'
        port = 0

        def server_type(self):
            return ['test']

    class CommandLineInterface():
        output = TestOutput()

    m.cli = CommandLineInterface()
    m.sqlexecute = TestExecute()
    m.explicit_pager = explicit_pager

    def echo_via_pager(s):
        assert expect_pager
        global clickoutput
        clickoutput += s

    def secho(s):
        assert not expect_pager
        global clickoutput
        clickoutput += s + "\n"

    monkeypatch.setattr(click, 'echo_via_pager', echo_via_pager)
    monkeypatch.setattr(click, 'secho', secho)
    m.output(testdata)
    if clickoutput.endswith("\n"):
        clickoutput = clickoutput[:-1]
    assert clickoutput == "\n".join(testdata)
コード例 #5
0
ファイル: test_main.py プロジェクト: scrappysoft/mycli
def output(monkeypatch, terminal_size, testdata, explicit_pager, expect_pager):
    global clickoutput
    clickoutput = ""
    m = MyCli()

    class TestOutput():
        def get_size(self):
            size = namedtuple('Size', 'rows columns')
            size.columns, size.rows = terminal_size
            return size

    class TestExecute():
        host = 'test'
        user = '******'
        dbname = 'test'
        port = 0

        def server_type(self):
            return ['test']

    class CommandLineInterface():
        output = TestOutput()

    m.cli = CommandLineInterface()
    m.sqlexecute = TestExecute()
    m.explicit_pager = explicit_pager

    def echo_via_pager(s):
        assert expect_pager
        global clickoutput
        clickoutput += s

    def secho(s):
        assert not expect_pager
        global clickoutput
        clickoutput += s + "\n"

    monkeypatch.setattr(click, 'echo_via_pager', echo_via_pager)
    monkeypatch.setattr(click, 'secho', secho)
    m.output(testdata)
    if clickoutput.endswith("\n"):
        clickoutput = clickoutput[:-1]
    assert clickoutput == "\n".join(testdata)
コード例 #6
0
def mycli():
    cli = MyCli()
    cli.connect(None, USER, PASSWORD, HOST, PORT, None)
    return cli
コード例 #7
0
ファイル: test_main.py プロジェクト: xubodreamsky/mycli
def test_command_descriptions_end_with_periods():
    """Make sure that mycli commands' descriptions end with a period."""
    MyCli()
    for _, command in SPECIAL_COMMANDS.items():
        assert command[3].endswith('.')