test/database.c

changeset 24
df671b62538e
parent 23
b26390e77237
child 25
0bb91d1f9bba
--- a/test/database.c	Tue Dec 09 12:13:43 2025 +0100
+++ b/test/database.c	Tue Dec 09 14:33:26 2025 +0100
@@ -194,3 +194,35 @@
         
     }
 }
+
+CX_TEST(testSqlExec) {
+    CX_TEST_DO {
+        CX_TEST_ASSERT(conn);
+        
+        DBUResult *r = dbuSqlExec(conn, NULL, "select email from person where name = 'alice';");
+        CX_TEST_ASSERT(r);
+        cxmutstr value;
+        CX_TEST_ASSERT(dbuResultAsValue(r, &value) == 0);
+        CX_TEST_ASSERT(!cx_strcmp(value, "alice@example.com"));
+        free(value.ptr);
+    }
+}
+
+CX_TEST(testSqlExecParam) {
+    CX_TEST_DO {
+        CX_TEST_ASSERT(conn);
+        
+        DBUResult *r = dbuSqlExecParam(conn, NULL, "select email from person where name = ?;", "alice");
+        CX_TEST_ASSERT(r);
+        cxmutstr value;
+        CX_TEST_ASSERT(dbuResultAsValue(r, &value) == 0);
+        CX_TEST_ASSERT(!cx_strcmp(value, "alice@example.com"));
+        free(value.ptr);
+        
+        r = dbuSqlExecParam(conn, NULL, "select name from person where hash = ?;", 987654321);
+        CX_TEST_ASSERT(r);
+        CX_TEST_ASSERT(dbuResultAsValue(r, &value) == 0);
+        CX_TEST_ASSERT(!cx_strcmp(value, "bob"));
+        free(value.ptr);
+    }
+}

mercurial