KeyHunter parser v10 + 18 scanners + tests (synthetic fixtures only, no keys/db/tokens)

This commit is contained in:
2026-10-20 07:50:07 +00:00
commit a5008d837b
178 changed files with 36909 additions and 0 deletions

37
tests/test_gh_realtime.py Normal file
View File

@@ -0,0 +1,37 @@
"""Fixtures for gh_realtime_eternal: diff scanning, junk filter, db dedupe."""
import os
import sys
import tempfile
os.environ["KF_DB"] = os.path.join(tempfile.mkdtemp(prefix="kf_smoke_ghrt_"), "keys.db")
HERE = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, HERE)
import gh_realtime_eternal as G
DS = "sk-3f9a1c7e5b2d8460a1c3e5f7091b2d4c"
DIFF = f"""diff --git a/.env b/.env
index 111..222 100644
--- a/.env
+++ b/.env
@@ -1,2 +1,3 @@
-OLD=1
+DASHSCOPE_API_KEY={DS}
+JUNK=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
"""
def main():
n = G.scan_diff(DIFF, "owner/repo")
assert n >= 1, f"expected >=1 key inserted, got {n}"
rows = G.conn.execute("SELECT val, prov, found, repo FROM keys").fetchall()
assert any(r[0] == DS and r[2] == "ghrealtime" and r[3] == "owner/repo" for r in rows), rows
assert not any("xxxx" in r[0] for r in rows), "junk leaked"
# dedupe: rescan same diff -> 0 new (rowcount 0 on conflict-no-update)
n2 = G.scan_diff(DIFF, "owner/repo")
assert n2 == 0, f"dedupe failed: {n2}"
# only added lines scanned: '-' removals must not yield keys
rem = f"--- a/x\n+++ b/x\n@@ -1 +1 @@\n-{DS}\n+nothing=1\n"
assert G.scan_diff(rem, "o/r2") == 0, "scanned removed lines"
print(f"PASS: scan_diff found {n}, dedupe ok, junk filtered, removals ignored")
if __name__ == "__main__":
main()