debug(ci): keep only Row-Level Security onwards in test_all.nim
This commit is contained in:
@@ -55,90 +55,6 @@ import barabadb/protocol/scram
|
||||
import barabadb/protocol/ratelimit
|
||||
import barabadb/schema/schema as schema
|
||||
|
||||
suite "TLS/SSL":
|
||||
test "Create TLS config":
|
||||
let config = newTLSConfig("cert.pem", "key.pem", "ca.pem", verifyPeer = true)
|
||||
check config.certFile == "cert.pem"
|
||||
check config.verifyPeer == true
|
||||
|
||||
test "Validate cert — missing file":
|
||||
let errors = validateCert("nonexistent.pem")
|
||||
check errors.len > 0
|
||||
|
||||
test "Certificate info parsing":
|
||||
# Write a dummy PEM cert
|
||||
let testCert = "/tmp/baradb_test_cert.pem"
|
||||
writeFile(testCert, "Subject: CN=localhost\nIssuer: CN=localhost\n")
|
||||
let info = parseCertInfo(testCert)
|
||||
check info.subject.len > 0
|
||||
check info.isSelfSigned # subject == issuer
|
||||
|
||||
test "TLS context creation with missing cert raises":
|
||||
var raised = false
|
||||
try:
|
||||
discard newTLSContext(newTLSConfig("nonexistent.pem", "nonexistent.key"))
|
||||
except IOError:
|
||||
raised = true
|
||||
check raised
|
||||
|
||||
test "Generate self-signed cert":
|
||||
let (certPath, keyPath) = generateSelfSignedCert("/tmp/baradb_test_tls", "test.local")
|
||||
# May fail if openssl not installed
|
||||
if certPath.len > 0:
|
||||
check fileExists(certPath)
|
||||
check fileExists(keyPath)
|
||||
# Should be able to create TLS context from generated cert
|
||||
let ctx = newTLSContext(newTLSConfig(certPath, keyPath))
|
||||
check ctx != nil
|
||||
|
||||
test "Server with TLS config":
|
||||
var cfg = defaultConfig()
|
||||
cfg.tlsEnabled = true
|
||||
let (certPath, keyPath) = generateSelfSignedCert("/tmp/baradb_test_tls2", "test.local")
|
||||
if certPath.len > 0:
|
||||
cfg.certFile = certPath
|
||||
cfg.keyFile = keyPath
|
||||
var srv = newServer(cfg)
|
||||
check srv != nil
|
||||
check srv.tls != nil
|
||||
|
||||
suite "Triggers":
|
||||
test "Parse CREATE TRIGGER":
|
||||
let ast = parse("CREATE TRIGGER log_insert BEFORE INSERT ON users AS INSERT INTO audit_log VALUES ('insert', 'users')")
|
||||
check ast.stmts.len == 1
|
||||
check ast.stmts[0].kind == nkCreateTrigger
|
||||
check ast.stmts[0].trigName == "log_insert"
|
||||
check ast.stmts[0].trigTable == "users"
|
||||
check ast.stmts[0].trigTiming == "before"
|
||||
check ast.stmts[0].trigEvent == "INSERT"
|
||||
check ast.stmts[0].trigAction.strVal.contains("INSERT")
|
||||
check ast.stmts[0].trigAction.strVal.contains("audit_log")
|
||||
|
||||
test "Parse CREATE TRIGGER AFTER UPDATE":
|
||||
let ast = parse("CREATE TRIGGER audit_update AFTER UPDATE ON orders AS INSERT INTO audit VALUES ('updated')")
|
||||
check ast.stmts[0].kind == nkCreateTrigger
|
||||
check ast.stmts[0].trigTiming == "after"
|
||||
check ast.stmts[0].trigEvent == "UPDATE"
|
||||
|
||||
test "Parse CREATE TRIGGER INSTEAD OF DELETE":
|
||||
let ast = parse("CREATE TRIGGER soft_delete INSTEAD OF DELETE ON users AS UPDATE users SET deleted = true WHERE id = OLD.id")
|
||||
check ast.stmts[0].kind == nkCreateTrigger
|
||||
check ast.stmts[0].trigTiming == "instead of"
|
||||
check ast.stmts[0].trigEvent == "DELETE"
|
||||
|
||||
test "Parse DROP TRIGGER":
|
||||
let ast = parse("DROP TRIGGER log_insert")
|
||||
check ast.stmts.len == 1
|
||||
check ast.stmts[0].kind == nkDropTrigger
|
||||
check ast.stmts[0].trigDropName == "log_insert"
|
||||
check ast.stmts[0].trigDropIfExists == false
|
||||
|
||||
test "Parse DROP TRIGGER IF EXISTS":
|
||||
let ast = parse("DROP TRIGGER IF EXISTS old_trigger")
|
||||
check ast.stmts[0].kind == nkDropTrigger
|
||||
check ast.stmts[0].trigDropName == "old_trigger"
|
||||
check ast.stmts[0].trigDropIfExists == true
|
||||
|
||||
suite "Row-Level Security":
|
||||
test "Parse CREATE USER":
|
||||
let ast = parse("CREATE USER admin WITH PASSWORD 'secret' SUPERUSER")
|
||||
|
||||
Reference in New Issue
Block a user