KeyHunter parser v10 + 18 scanners + tests (synthetic fixtures only, no keys/db/tokens)
This commit is contained in:
37
tests/test_gh_realtime.py
Normal file
37
tests/test_gh_realtime.py
Normal 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()
|
||||
Reference in New Issue
Block a user