1
1
mirror of https://github.com/dbcli/pgcli.git synced 2024-10-06 10:17:15 +03:00
pgcli/tests/test_rowlimit.py

55 lines
1.3 KiB
Python

from pgcli.main import PGCli
from mock import Mock
DEFAULT = PGCli().row_limit
LIMIT = DEFAULT + 1000
over_default = Mock()
over_default.configure_mock(rowcount=DEFAULT + 10)
over_limit = Mock()
over_limit.configure_mock(rowcount=LIMIT + 10)
low_count = Mock()
low_count.configure_mock(rowcount=1)
def test_default_row_limit():
cli = PGCli()
stmt = "SELECT * FROM students"
result = cli._should_show_limit_prompt(stmt, low_count)
assert result is False
result = cli._should_show_limit_prompt(stmt, over_default)
assert result is True
def test_set_row_limit():
cli = PGCli(row_limit=LIMIT)
stmt = "SELECT * FROM students"
result = cli._should_show_limit_prompt(stmt, over_default)
assert result is False
result = cli._should_show_limit_prompt(stmt, over_limit)
assert result is True
def test_no_limit():
cli = PGCli(row_limit=0)
stmt = "SELECT * FROM students"
result = cli._should_show_limit_prompt(stmt, over_limit)
assert result is False
def test_row_limit_on_non_select():
cli = PGCli()
stmt = "UPDATE students set name='Boby'"
result = cli._should_show_limit_prompt(stmt, None)
assert result is False
cli = PGCli(row_limit=0)
result = cli._should_show_limit_prompt(stmt, over_default)
assert result is False