mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2025-12-24 12:19:41 +00:00
Rename files
This commit is contained in:
164
ts/test-node/sql/migration_1280_test.node.ts
Normal file
164
ts/test-node/sql/migration_1280_test.node.ts
Normal file
@@ -0,0 +1,164 @@
|
||||
// Copyright 2025 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { assert } from 'chai';
|
||||
|
||||
import { type WritableDB } from '../../sql/Interface.std.js';
|
||||
import { Migrations as Proto } from '../../protobuf/index.std.js';
|
||||
import { generateAci } from '../../types/ServiceId.std.js';
|
||||
import {
|
||||
createDB,
|
||||
updateToVersion,
|
||||
insertData,
|
||||
getTableData,
|
||||
} from './helpers.node.js';
|
||||
|
||||
describe('SQL/updateToSchemaVersion1280', () => {
|
||||
let db: WritableDB;
|
||||
|
||||
const OUR_ACI = generateAci();
|
||||
const THEIR_ACI = generateAci();
|
||||
|
||||
afterEach(() => {
|
||||
db.close();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
db = createDB();
|
||||
updateToVersion(db, 1270);
|
||||
|
||||
insertData(db, 'items', [
|
||||
{
|
||||
id: 'uuid_id',
|
||||
json: {
|
||||
id: 'uuid_id',
|
||||
value: `${OUR_ACI}.2`,
|
||||
},
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
it('drops v1 envelopes', () => {
|
||||
insertData(db, 'unprocessed', [
|
||||
{
|
||||
id: 'old',
|
||||
},
|
||||
]);
|
||||
updateToVersion(db, 1280);
|
||||
|
||||
assert.deepStrictEqual(getTableData(db, 'unprocessed'), []);
|
||||
});
|
||||
|
||||
it('does not drop v2 envelopes', () => {
|
||||
insertData(db, 'unprocessed', [
|
||||
{
|
||||
id: 'new',
|
||||
version: 2,
|
||||
|
||||
receivedAtCounter: 1,
|
||||
story: 1,
|
||||
urgent: 1,
|
||||
timestamp: 4,
|
||||
attempts: 5,
|
||||
envelope: Buffer.from(
|
||||
Proto.Envelope.encode({
|
||||
destinationServiceId: THEIR_ACI,
|
||||
content: Buffer.from('encrypted1'),
|
||||
reportSpamToken: Buffer.from('token'),
|
||||
}).finish()
|
||||
).toString('base64'),
|
||||
serverTimestamp: 6,
|
||||
serverGuid: 'guid1',
|
||||
},
|
||||
{
|
||||
id: 'new-2',
|
||||
version: 2,
|
||||
|
||||
receivedAtCounter: 2,
|
||||
story: 1,
|
||||
urgent: 1,
|
||||
timestamp: 4,
|
||||
attempts: 5,
|
||||
envelope: Buffer.from(
|
||||
Proto.Envelope.encode({
|
||||
type: 3,
|
||||
content: Buffer.from('encrypted2'),
|
||||
}).finish()
|
||||
).toString('base64'),
|
||||
serverTimestamp: 7,
|
||||
serverGuid: 'guid2',
|
||||
},
|
||||
{
|
||||
id: 'new-3',
|
||||
version: 2,
|
||||
|
||||
receivedAtCounter: 3,
|
||||
story: 0,
|
||||
urgent: 0,
|
||||
timestamp: 5,
|
||||
attempts: 6,
|
||||
envelope: Buffer.from(
|
||||
Proto.Envelope.encode({
|
||||
content: Buffer.from('unused'),
|
||||
}).finish()
|
||||
).toString('base64'),
|
||||
decrypted: 'CAFE',
|
||||
serverTimestamp: 8,
|
||||
serverGuid: 'guid3',
|
||||
},
|
||||
]);
|
||||
updateToVersion(db, 1280);
|
||||
|
||||
assert.deepStrictEqual(getTableData(db, 'unprocessed'), [
|
||||
{
|
||||
id: 'new',
|
||||
|
||||
type: 0,
|
||||
receivedAtCounter: 1,
|
||||
story: 1,
|
||||
urgent: 1,
|
||||
messageAgeSec: 0,
|
||||
timestamp: 4,
|
||||
attempts: 5,
|
||||
destinationServiceId: THEIR_ACI,
|
||||
content: '656e6372797074656431',
|
||||
isEncrypted: 1,
|
||||
serverTimestamp: 6,
|
||||
serverGuid: 'guid1',
|
||||
reportingToken: '746f6b656e',
|
||||
},
|
||||
{
|
||||
id: 'new-2',
|
||||
|
||||
receivedAtCounter: 2,
|
||||
story: 1,
|
||||
urgent: 1,
|
||||
timestamp: 4,
|
||||
messageAgeSec: 0,
|
||||
attempts: 5,
|
||||
destinationServiceId: OUR_ACI,
|
||||
content: '656e6372797074656432',
|
||||
isEncrypted: 1,
|
||||
type: 3,
|
||||
serverTimestamp: 7,
|
||||
serverGuid: 'guid2',
|
||||
},
|
||||
{
|
||||
id: 'new-3',
|
||||
|
||||
receivedAtCounter: 3,
|
||||
urgent: 0,
|
||||
story: 0,
|
||||
timestamp: 5,
|
||||
messageAgeSec: 0,
|
||||
attempts: 6,
|
||||
destinationServiceId: OUR_ACI,
|
||||
content: '080144',
|
||||
isEncrypted: 0,
|
||||
type: 0,
|
||||
serverTimestamp: 8,
|
||||
serverGuid: 'guid3',
|
||||
},
|
||||
]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user