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
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
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
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)
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)
def mycli(): cli = MyCli() cli.connect(None, USER, PASSWORD, HOST, PORT, None) return cli
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('.')