1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
import pytest
from blessed import Terminal
from pgactivity import views
from pgactivity.config import Flag
from pgactivity.types import UI, QueryMode, SortKey
@pytest.fixture
def term() -> Terminal:
return Terminal()
@pytest.mark.parametrize(
"ui, width, expected",
[
(
UI.make(
query_mode=QueryMode.activities,
flag=Flag.PID | Flag.DATABASE,
sort_key=SortKey.cpu,
),
83,
"PID DATABASE state Query",
),
(
UI.make(
query_mode=QueryMode.activities, flag=Flag.CPU, sort_key=SortKey.cpu
),
None,
"CPU% state Query",
),
(
UI.make(
query_mode=QueryMode.activities, flag=Flag.MEM, sort_key=SortKey.cpu
),
None,
"MEM% state Query",
),
(
UI.make(
query_mode=QueryMode.blocking,
flag=Flag.PID
| Flag.DATABASE
| Flag.APPNAME
| Flag.RELATION
| Flag.CLIENT
| Flag.WAIT,
sort_key=SortKey.duration,
),
150,
"PID DATABASE APP CLIENT RELATION Waiting state Query",
),
],
ids=[
"pid+database; sort by cpu; activities",
"cpu; sort by cpu; activities",
"mem; sort by cpu; activities",
"many flags; sort by duration; blocking",
],
)
def test_columns_header(capsys, term, ui, width, expected):
views.columns_header(term, ui, width=width)
out = capsys.readouterr()[0]
assert out == expected + "\n"
|