70 lines
2 KiB
Python
70 lines
2 KiB
Python
"""Steps for behavioral style tests are defined in this module.
|
|
|
|
Each step is defined by the string decorating it. This string is used
|
|
to call the step in "*.feature" file.
|
|
|
|
"""
|
|
|
|
from behave import when, then
|
|
from textwrap import dedent
|
|
import wrappers
|
|
|
|
|
|
@when("we prepare the test data")
|
|
def step_prepare_data(context):
|
|
"""Create table, insert a record."""
|
|
context.cli.sendline("drop table if exists a;")
|
|
wrappers.expect_exact(
|
|
context,
|
|
"You're about to run a destructive command.\r\nDo you want to proceed? [y/N]:",
|
|
timeout=2,
|
|
)
|
|
context.cli.sendline("y")
|
|
|
|
wrappers.wait_prompt(context)
|
|
context.cli.sendline("create table a(x integer, y real, z numeric(10, 4));")
|
|
wrappers.expect_pager(context, "CREATE TABLE\r\n", timeout=2)
|
|
context.cli.sendline("""insert into a(x, y, z) values(1, 1.0, 1.0);""")
|
|
wrappers.expect_pager(context, "INSERT 0 1\r\n", timeout=2)
|
|
|
|
|
|
@when("we set expanded {mode}")
|
|
def step_set_expanded(context, mode):
|
|
"""Set expanded to mode."""
|
|
context.cli.sendline("\\" + f"x {mode}")
|
|
wrappers.expect_exact(context, "Expanded display is", timeout=2)
|
|
wrappers.wait_prompt(context)
|
|
|
|
|
|
@then("we see {which} data selected")
|
|
def step_see_data(context, which):
|
|
"""Select data from expanded test table."""
|
|
if which == "expanded":
|
|
wrappers.expect_pager(
|
|
context,
|
|
dedent(
|
|
"""\
|
|
-[ RECORD 1 ]-------------------------\r
|
|
x | 1\r
|
|
y | 1.0\r
|
|
z | 1.0000\r
|
|
SELECT 1\r
|
|
"""
|
|
),
|
|
timeout=1,
|
|
)
|
|
else:
|
|
wrappers.expect_pager(
|
|
context,
|
|
dedent(
|
|
"""\
|
|
+---+-----+--------+\r
|
|
| x | y | z |\r
|
|
|---+-----+--------|\r
|
|
| 1 | 1.0 | 1.0000 |\r
|
|
+---+-----+--------+\r
|
|
SELECT 1\r
|
|
"""
|
|
),
|
|
timeout=1,
|
|
)
|