diff --git a/web/database/queries/metadata-queries.test.js b/web/database/queries/metadata-queries.test.js
--- a/web/database/queries/metadata-queries.test.js
+++ b/web/database/queries/metadata-queries.test.js
@@ -1,70 +1,62 @@
 // @flow
 
-import initSqlJs from 'sql.js';
+import { getDatabaseModule } from '../db-module.js';
+import { clearSensitiveData } from '../utils/db-utils.js';
 
-import { setupSQLiteDB } from './db-queries.js';
-import { clearMetadata, getMetadata, setMetadata } from './metadata-queries.js';
+const FILE_PATH = 'test.sqlite';
 
 const TEST_USER_ID_KEY = 'current_user_id';
 const TEST_USER_ID_VAL = 'qwerty1234';
 
 describe('Metadata queries', () => {
-  let db;
+  let queryExecutor;
+  let dbModule;
 
   beforeAll(async () => {
-    const SQL = await initSqlJs();
-    db = new SQL.Database();
+    dbModule = getDatabaseModule();
   });
 
   beforeEach(() => {
-    setupSQLiteDB(db);
-    const query = `
-      INSERT INTO metadata (name, data)
-      VALUES ($name, $val)
-    `;
-    const values = {
-      $name: TEST_USER_ID_KEY,
-      $val: TEST_USER_ID_VAL,
-    };
-    db.exec(query, values);
+    queryExecutor = new dbModule.SQLiteQueryExecutor(FILE_PATH);
+    queryExecutor.setMetadata(TEST_USER_ID_KEY, TEST_USER_ID_VAL);
   });
 
   afterEach(() => {
-    db.exec(`DELETE FROM metadata`);
+    clearSensitiveData(dbModule, FILE_PATH, queryExecutor);
   });
 
   it('should return the data of an existing name', () => {
-    expect(getMetadata(db, TEST_USER_ID_KEY)).toBe(TEST_USER_ID_VAL);
+    expect(queryExecutor.getMetadata(TEST_USER_ID_KEY)).toBe(TEST_USER_ID_VAL);
   });
 
   it('should return undefined for a non-existing name', () => {
     const nonExistingName = 'non_existing_name';
-    expect(getMetadata(db, nonExistingName)).toBeUndefined();
+    expect(queryExecutor.getMetadata(nonExistingName)).toBe('');
   });
 
   it('should set the data of an existing name', () => {
     const newUserID = 'newID123';
-    setMetadata(db, TEST_USER_ID_KEY, newUserID);
-    expect(getMetadata(db, TEST_USER_ID_KEY)).toBe(newUserID);
+    queryExecutor.setMetadata(TEST_USER_ID_KEY, newUserID);
+    expect(queryExecutor.getMetadata(TEST_USER_ID_KEY)).toBe(newUserID);
   });
 
   it('should set the data of a non-existing name', () => {
     const newEntry = 'testEntry';
     const newData = 'testData';
-    setMetadata(db, newEntry, newData);
-    expect(getMetadata(db, newEntry)).toBe(newData);
-    expect(getMetadata(db, TEST_USER_ID_KEY)).toBe(TEST_USER_ID_VAL);
+    queryExecutor.setMetadata(newEntry, newData);
+    expect(queryExecutor.getMetadata(newEntry)).toBe(newData);
+    expect(queryExecutor.getMetadata(TEST_USER_ID_KEY)).toBe(TEST_USER_ID_VAL);
   });
 
   it('should clear an existing entry', () => {
-    clearMetadata(db, TEST_USER_ID_KEY);
-    expect(getMetadata(db, TEST_USER_ID_KEY)).toBeUndefined();
+    queryExecutor.clearMetadata(TEST_USER_ID_KEY);
+    expect(queryExecutor.getMetadata(TEST_USER_ID_KEY)).toBe('');
   });
 
   it('should do nothing when clearing a non-existing entry', () => {
     const nonExistingName = 'non_existing_name';
-    clearMetadata(db, nonExistingName);
-    expect(getMetadata(db, nonExistingName)).toBeUndefined();
-    expect(getMetadata(db, TEST_USER_ID_KEY)).toBe(TEST_USER_ID_VAL);
+    queryExecutor.clearMetadata(nonExistingName);
+    expect(queryExecutor.getMetadata(nonExistingName)).toBe('');
+    expect(queryExecutor.getMetadata(TEST_USER_ID_KEY)).toBe(TEST_USER_ID_VAL);
   });
 });