75 lines
1.4 KiB
TypeScript
75 lines
1.4 KiB
TypeScript
// Copyright 2025 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
import { assert } from 'chai';
|
|
|
|
import { type WritableDB } from '../../sql/Interface';
|
|
import { createDB, updateToVersion, insertData, getTableData } from './helpers';
|
|
|
|
const DEFAULTS = {
|
|
id: 'id',
|
|
type: 0,
|
|
timestamp: 1,
|
|
attempts: 2,
|
|
receivedAtCounter: 3,
|
|
urgent: 1,
|
|
story: 1,
|
|
serverGuid: 'guid',
|
|
serverTimestamp: 1,
|
|
isEncrypted: 0,
|
|
content: Buffer.from('68656c6c6f', 'hex'),
|
|
messageAgeSec: 1,
|
|
destinationServiceId: 'dest',
|
|
};
|
|
|
|
describe('SQL/updateToSchemaVersion1290', () => {
|
|
let db: WritableDB;
|
|
|
|
afterEach(() => {
|
|
db.close();
|
|
});
|
|
|
|
beforeEach(() => {
|
|
db = createDB();
|
|
updateToVersion(db, 1280);
|
|
});
|
|
|
|
it('transitions null sourceDevice', () => {
|
|
insertData(db, 'unprocessed', [
|
|
{
|
|
...DEFAULTS,
|
|
|
|
sourceDevice: null,
|
|
},
|
|
]);
|
|
updateToVersion(db, 1290);
|
|
|
|
assert.deepStrictEqual(getTableData(db, 'unprocessed'), [
|
|
{
|
|
...DEFAULTS,
|
|
|
|
content: '68656c6c6f',
|
|
},
|
|
]);
|
|
});
|
|
|
|
it('transitions number sourceDevice', () => {
|
|
insertData(db, 'unprocessed', [
|
|
{
|
|
...DEFAULTS,
|
|
|
|
sourceDevice: '123',
|
|
},
|
|
]);
|
|
updateToVersion(db, 1290);
|
|
|
|
assert.deepStrictEqual(getTableData(db, 'unprocessed'), [
|
|
{
|
|
...DEFAULTS,
|
|
|
|
content: '68656c6c6f',
|
|
sourceDevice: 123,
|
|
},
|
|
]);
|
|
});
|
|
});
|