118 lines
2.9 KiB
Python
118 lines
2.9 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.
|
|
|
|
"""
|
|
|
|
import wrappers
|
|
from behave import when, then
|
|
from textwrap import dedent
|
|
|
|
|
|
@when("we create table")
|
|
def step_create_table(context):
|
|
"""Send create table."""
|
|
context.cli.sendline("create table a(x text);")
|
|
|
|
|
|
@when("we insert into table")
|
|
def step_insert_into_table(context):
|
|
"""Send insert into table."""
|
|
context.cli.sendline("""insert into a(x) values('xxx');""")
|
|
|
|
|
|
@when("we update table")
|
|
def step_update_table(context):
|
|
"""Send insert into table."""
|
|
context.cli.sendline("""update a set x = 'yyy' where x = 'xxx';""")
|
|
|
|
|
|
@when("we select from table")
|
|
def step_select_from_table(context):
|
|
"""Send select from table."""
|
|
context.cli.sendline("select * from a;")
|
|
|
|
|
|
@when("we delete from table")
|
|
def step_delete_from_table(context):
|
|
"""Send deete from table."""
|
|
context.cli.sendline("""delete from a where x = 'yyy';""")
|
|
|
|
|
|
@when("we drop table")
|
|
def step_drop_table(context):
|
|
"""Send drop table."""
|
|
context.cli.sendline("drop table a;")
|
|
|
|
|
|
@then("we see table created")
|
|
def step_see_table_created(context):
|
|
"""Wait to see create table output."""
|
|
wrappers.expect_exact(context, "Query OK, 0 rows affected", timeout=2)
|
|
|
|
|
|
@then("we see record inserted")
|
|
def step_see_record_inserted(context):
|
|
"""Wait to see insert output."""
|
|
wrappers.expect_exact(context, "Query OK, 1 row affected", timeout=2)
|
|
|
|
|
|
@then("we see record updated")
|
|
def step_see_record_updated(context):
|
|
"""Wait to see update output."""
|
|
wrappers.expect_exact(context, "Query OK, 1 row affected", timeout=2)
|
|
|
|
|
|
@then("we see data selected")
|
|
def step_see_data_selected(context):
|
|
"""Wait to see select output."""
|
|
wrappers.expect_pager(
|
|
context,
|
|
dedent("""\
|
|
+-----+\r
|
|
| x |\r
|
|
+-----+\r
|
|
| yyy |\r
|
|
+-----+\r
|
|
\r
|
|
"""),
|
|
timeout=2,
|
|
)
|
|
wrappers.expect_exact(context, "1 row in set", timeout=2)
|
|
|
|
|
|
@then("we see record deleted")
|
|
def step_see_data_deleted(context):
|
|
"""Wait to see delete output."""
|
|
wrappers.expect_exact(context, "Query OK, 1 row affected", timeout=2)
|
|
|
|
|
|
@then("we see table dropped")
|
|
def step_see_table_dropped(context):
|
|
"""Wait to see drop output."""
|
|
wrappers.expect_exact(context, "Query OK, 0 rows affected", timeout=2)
|
|
|
|
|
|
@when("we select null")
|
|
def step_select_null(context):
|
|
"""Send select null."""
|
|
context.cli.sendline("select null;")
|
|
|
|
|
|
@then("we see null selected")
|
|
def step_see_null_selected(context):
|
|
"""Wait to see null output."""
|
|
wrappers.expect_pager(
|
|
context,
|
|
dedent("""\
|
|
+--------+\r
|
|
| NULL |\r
|
|
+--------+\r
|
|
| <null> |\r
|
|
+--------+\r
|
|
\r
|
|
"""),
|
|
timeout=2,
|
|
)
|
|
wrappers.expect_exact(context, "1 row in set", timeout=2)
|