38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
"""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()
|