File
Blob: src/workerd/api/node/tests/sqlite-nodejs-test.js
| 1 | // Copyright (c) 2025 Cloudflare, Inc. |
| 2 | // Licensed under the Apache 2.0 license found in the LICENSE file or at: |
| 3 | // https://opensource.org/licenses/Apache-2.0 |
| 4 | import sqlite from 'node:sqlite'; |
| 5 | import { deepStrictEqual, notStrictEqual, throws } from 'node:assert'; |
| 6 | |
| 7 | export const testExports = { |
| 8 | async test() { |
| 9 | notStrictEqual(sqlite.DatabaseSync, undefined); |
| 10 | notStrictEqual(sqlite.StatementSync, undefined); |
| 11 | notStrictEqual(sqlite.backup, undefined); |
| 12 | notStrictEqual(sqlite.constants, undefined); |
| 13 | |
| 14 | deepStrictEqual(sqlite.constants, { |
| 15 | SQLITE_CHANGESET_OMIT: 0, |
| 16 | SQLITE_CHANGESET_REPLACE: 1, |
| 17 | SQLITE_CHANGESET_ABORT: 2, |
| 18 | SQLITE_CHANGESET_DATA: 1, |
| 19 | SQLITE_CHANGESET_NOTFOUND: 2, |
| 20 | SQLITE_CHANGESET_CONFLICT: 3, |
| 21 | SQLITE_CHANGESET_CONSTRAINT: 4, |
| 22 | SQLITE_CHANGESET_FOREIGN_KEY: 5, |
| 23 | // Authorization action codes |
| 24 | SQLITE_OK: 0, |
| 25 | SQLITE_DENY: 1, |
| 26 | SQLITE_IGNORE: 2, |
| 27 | SQLITE_CREATE_INDEX: 1, |
| 28 | SQLITE_CREATE_TABLE: 2, |
| 29 | SQLITE_CREATE_TEMP_INDEX: 3, |
| 30 | SQLITE_CREATE_TEMP_TABLE: 4, |
| 31 | SQLITE_CREATE_TEMP_TRIGGER: 5, |
| 32 | SQLITE_CREATE_TEMP_VIEW: 6, |
| 33 | SQLITE_CREATE_TRIGGER: 7, |
| 34 | SQLITE_CREATE_VIEW: 8, |
| 35 | SQLITE_DELETE: 9, |
| 36 | SQLITE_DROP_INDEX: 10, |
| 37 | SQLITE_DROP_TABLE: 11, |
| 38 | SQLITE_DROP_TEMP_INDEX: 12, |
| 39 | SQLITE_DROP_TEMP_TABLE: 13, |
| 40 | SQLITE_DROP_TEMP_TRIGGER: 14, |
| 41 | SQLITE_DROP_TEMP_VIEW: 15, |
| 42 | SQLITE_DROP_TRIGGER: 16, |
| 43 | SQLITE_DROP_VIEW: 17, |
| 44 | SQLITE_INSERT: 18, |
| 45 | SQLITE_PRAGMA: 19, |
| 46 | SQLITE_READ: 20, |
| 47 | SQLITE_SELECT: 21, |
| 48 | SQLITE_TRANSACTION: 22, |
| 49 | SQLITE_UPDATE: 23, |
| 50 | SQLITE_ATTACH: 24, |
| 51 | SQLITE_DETACH: 25, |
| 52 | SQLITE_ALTER_TABLE: 26, |
| 53 | SQLITE_REINDEX: 27, |
| 54 | SQLITE_ANALYZE: 28, |
| 55 | SQLITE_CREATE_VTABLE: 29, |
| 56 | SQLITE_DROP_VTABLE: 30, |
| 57 | SQLITE_FUNCTION: 31, |
| 58 | SQLITE_SAVEPOINT: 32, |
| 59 | SQLITE_COPY: 0, |
| 60 | SQLITE_RECURSIVE: 33, |
| 61 | }); |
| 62 | |
| 63 | throws(() => sqlite.backup(), { |
| 64 | message: /is not implemented/, |
| 65 | }); |
| 66 | |
| 67 | throws(() => new sqlite.DatabaseSync(), { |
| 68 | message: /Illegal constructor/, |
| 69 | }); |
| 70 | |
| 71 | throws(() => new sqlite.StatementSync(), { |
| 72 | message: /Illegal constructor/, |
| 73 | }); |
| 74 | }, |
| 75 | }; |