Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import pytest
|
||||
|
||||
from hermes_state import SessionDB
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def db(tmp_path):
|
||||
database = SessionDB(tmp_path / "state.db")
|
||||
try:
|
||||
yield database
|
||||
finally:
|
||||
database.close()
|
||||
|
||||
|
||||
def test_hidden_excluded_by_default_included_on_request(db):
|
||||
db.create_session("visible", source="cli")
|
||||
db.create_session("secret", source="cli")
|
||||
# Give both a message so the default min_message_count filter keeps them.
|
||||
for sid in ("visible", "secret"):
|
||||
db._conn.execute(
|
||||
"UPDATE sessions SET message_count = 1 WHERE id = ?", (sid,)
|
||||
)
|
||||
db._conn.commit()
|
||||
|
||||
# Flip the hidden flag on one session.
|
||||
assert db.set_session_hidden("secret", True) is True
|
||||
assert db.get_session("secret")["hidden"] == 1
|
||||
assert db.get_session("visible")["hidden"] == 0
|
||||
|
||||
# Default listing drops the hidden row; include_hidden=True surfaces it.
|
||||
default_ids = {s["id"] for s in db.list_sessions_rich(min_message_count=1)}
|
||||
assert default_ids == {"visible"}
|
||||
|
||||
all_ids = {
|
||||
s["id"]
|
||||
for s in db.list_sessions_rich(min_message_count=1, include_hidden=True)
|
||||
}
|
||||
assert all_ids == {"visible", "secret"}
|
||||
|
||||
# Unhiding brings it back into the default listing.
|
||||
assert db.set_session_hidden("secret", False) is True
|
||||
assert db.get_session("secret")["hidden"] == 0
|
||||
unhidden_ids = {s["id"] for s in db.list_sessions_rich(min_message_count=1)}
|
||||
assert unhidden_ids == {"visible", "secret"}
|
||||
Reference in New Issue
Block a user