47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
from textwrap import dedent
|
|
|
|
from behave import then, when
|
|
|
|
import wrappers
|
|
from utils import parse_cli_args_to_dict
|
|
|
|
|
|
@when("we run dbcli with {arg}")
|
|
def step_run_cli_with_arg(context, arg):
|
|
wrappers.run_cli(context, run_args=parse_cli_args_to_dict(arg))
|
|
|
|
|
|
@when("we execute a small query")
|
|
def step_execute_small_query(context):
|
|
context.cli.sendline("select 1")
|
|
|
|
|
|
@when("we execute a large query")
|
|
def step_execute_large_query(context):
|
|
context.cli.sendline("select {}".format(",".join([str(n) for n in range(1, 50)])))
|
|
|
|
|
|
@then("we see small results in horizontal format")
|
|
def step_see_small_results(context):
|
|
wrappers.expect_pager(
|
|
context,
|
|
dedent("""\
|
|
+---+\r
|
|
| 1 |\r
|
|
+---+\r
|
|
| 1 |\r
|
|
+---+\r
|
|
\r
|
|
"""),
|
|
timeout=5,
|
|
)
|
|
wrappers.expect_exact(context, "1 row in set", timeout=2)
|
|
|
|
|
|
@then("we see large results in vertical format")
|
|
def step_see_large_results(context):
|
|
rows = ["{n:3}| {n}".format(n=str(n)) for n in range(1, 50)]
|
|
expected = "***************************[ 1. row ]" "***************************\r\n" + "{}\r\n".format("\r\n".join(rows) + "\r\n")
|
|
|
|
wrappers.expect_pager(context, expected, timeout=10)
|
|
wrappers.expect_exact(context, "1 row in set", timeout=2)
|