feat: Add comprehensive test suite and cleanup step

- Split validation into 4 granular CI steps (Config, Timescale, Vector, Hybrid)
- Added cleanup step for Docker images in CI
- Created SQL test scripts in tests/ for robustness
This commit is contained in:
2025-12-19 12:51:17 +01:00
parent 4ea4132653
commit f7b98d2c02
5 changed files with 137 additions and 23 deletions

40
tests/test-4-hybrid.sql Normal file
View File

@@ -0,0 +1,40 @@
-- Test 4: Hybrid (Timescale + Vector)
\set ON_ERROR_STOP on
DROP TABLE IF EXISTS hybrid_logs;
CREATE TABLE hybrid_logs (
time TIMESTAMPTZ NOT NULL,
msg TEXT,
vec vector(2)
);
SELECT create_hypertable('hybrid_logs', 'time');
INSERT INTO hybrid_logs (time, msg, vec) VALUES
(NOW(), 'log1', '[0,0]'),
(NOW() - INTERVAL '1 day', 'old_log', '[1,1]');
-- Index
CREATE INDEX ON hybrid_logs USING vchordrq (vec vector_l2_ops);
-- Hybrid Query
DO $$
DECLARE
res_count int;
BEGIN
-- Recent logs similar to [0.1, 0.1]
SELECT count(*) INTO res_count
FROM (
SELECT * FROM hybrid_logs
WHERE time > NOW() - INTERVAL '1 hour'
ORDER BY vec <-> '[0.1, 0.1]'
LIMIT 1
) sub;
IF res_count != 1 THEN
RAISE EXCEPTION 'Hybrid query failed';
END IF;
RAISE NOTICE 'Hybrid Check: OK';
END
$$;