Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
it('can map a ping wrapped inside an external message', async () => {
let external_message = undefined;
const genericMessage = new GenericMessage({
knock: new Knock({hotKnock: false}),
messageId: createRandomUuid(),
});
const encryptedAsset = await encryptAesAsset(GenericMessage.encode(genericMessage).finish());
const keyBytes = new Uint8Array(encryptedAsset.keyBytes);
const sha256 = new Uint8Array(encryptedAsset.sha256);
event.data.data = await arrayToBase64(encryptedAsset.cipherText);
external_message = new GenericMessage({
external: new External({otrKey: keyBytes, sha256}),
messageId: createRandomUuid(),
});
const event_json = await mapper.mapGenericMessage(external_message, event);
expect(isObject(event_json)).toBeTruthy();
expect(event_json.type).toBe(ClientEvent.CONVERSATION.KNOCK);
it('maps legal hold states for ping messages', async () => {
const expectedLegalHoldStatus = LegalHoldStatus.DISABLED;
const optimisticEvent = {
conversation: 'ecf815e4-ef9d-494c-827b-85214b9d694e',
data: {},
from: '90f56eae-ef65-4b49-9efb-2d6502721965',
status: 1,
time: '2019-07-10T15:08:24.751Z',
type: 'conversation.message-add',
};
const protoKnock = new Knock({
[PROTO_MESSAGE_TYPE.EXPECTS_READ_CONFIRMATION]: false,
[PROTO_MESSAGE_TYPE.LEGAL_HOLD_STATUS]: expectedLegalHoldStatus,
hotKnock: false,
});
const genericMessage = new GenericMessage({
[GENERIC_MESSAGE_TYPE.KNOCK]: protoKnock,
messageId: createRandomUuid(),
});
const mappedEvent = await mapper.mapGenericMessage(genericMessage, optimisticEvent);
expect(mappedEvent.data.legal_hold_status).toBe(expectedLegalHoldStatus);
});