You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			117 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			TypeScript
		
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			TypeScript
		
	
| import { v4 as uuid } from 'uuid';
 | |
| import { generateFakePubKey } from './pubkey';
 | |
| import { ClosedGroupVisibleMessage } from '../../../session/messages/outgoing/visibleMessage/ClosedGroupVisibleMessage';
 | |
| import { VisibleMessage } from '../../../session/messages/outgoing/visibleMessage/VisibleMessage';
 | |
| import { OpenGroupMessageV2 } from '../../../session/apis/open_group_api/opengroupV2/OpenGroupMessageV2';
 | |
| import { TestUtils } from '..';
 | |
| import { OpenGroupRequestCommonType } from '../../../session/apis/open_group_api/opengroupV2/ApiUtil';
 | |
| import { OpenGroupVisibleMessage } from '../../../session/messages/outgoing/visibleMessage/OpenGroupVisibleMessage';
 | |
| import { MessageModel } from '../../../models/message';
 | |
| import {
 | |
|   OpenGroupMessageV4,
 | |
|   OpenGroupReactionMessageV4,
 | |
| } from '../../../session/apis/open_group_api/opengroupV2/OpenGroupServerPoller';
 | |
| import { OpenGroupReaction } from '../../../types/Reaction';
 | |
| 
 | |
| export function generateVisibleMessage({
 | |
|   identifier,
 | |
|   timestamp,
 | |
| }: {
 | |
|   identifier?: string;
 | |
|   timestamp?: number;
 | |
| } = {}): VisibleMessage {
 | |
|   return new VisibleMessage({
 | |
|     body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit',
 | |
|     identifier: identifier ?? uuid(),
 | |
|     timestamp: timestamp || Date.now(),
 | |
|     attachments: undefined,
 | |
|     quote: undefined,
 | |
|     expireTimer: undefined,
 | |
|     lokiProfile: undefined,
 | |
|     preview: undefined,
 | |
|   });
 | |
| }
 | |
| 
 | |
| export function generateOpenGroupMessageV2(): OpenGroupMessageV2 {
 | |
|   return new OpenGroupMessageV2({
 | |
|     sentTimestamp: Date.now(),
 | |
|     sender: TestUtils.generateFakePubKey().key,
 | |
|     base64EncodedData: 'whatever',
 | |
|   });
 | |
| }
 | |
| export function generateOpenGroupMessageV4(): OpenGroupMessageV4 {
 | |
|   return {
 | |
|     posted: Date.now(),
 | |
|     reactions: {},
 | |
|     seqno: 0,
 | |
|     session_id: TestUtils.generateFakePubKey().key,
 | |
| 
 | |
|     id: Math.floor(Math.random() * 100000),
 | |
|     data: 'whatever',
 | |
|   };
 | |
| }
 | |
| 
 | |
| // this is for test purposes only
 | |
| type OpenGroupMessageV2WithServerId = Omit<OpenGroupMessageV2, 'sender' | 'serverId'> & {
 | |
|   sender: string;
 | |
|   serverId: number;
 | |
| };
 | |
| 
 | |
| export function generateOpenGroupMessageV2WithServerId(
 | |
|   serverId: number
 | |
| ): OpenGroupMessageV2WithServerId {
 | |
|   return new OpenGroupMessageV2({
 | |
|     serverId,
 | |
|     sentTimestamp: Date.now(),
 | |
|     sender: TestUtils.generateFakePubKey().key,
 | |
|     base64EncodedData: 'whatever',
 | |
|   }) as OpenGroupMessageV2WithServerId;
 | |
| }
 | |
| 
 | |
| export function generateOpenGroupVisibleMessage(): OpenGroupVisibleMessage {
 | |
|   return new OpenGroupVisibleMessage({
 | |
|     timestamp: Date.now(),
 | |
|   });
 | |
| }
 | |
| 
 | |
| export function generateOpenGroupV2RoomInfos(): OpenGroupRequestCommonType {
 | |
|   return { roomId: 'main', serverUrl: 'http://open.getsession.org' };
 | |
| }
 | |
| 
 | |
| export function generateClosedGroupMessage(groupId?: string): ClosedGroupVisibleMessage {
 | |
|   return new ClosedGroupVisibleMessage({
 | |
|     identifier: uuid(),
 | |
|     groupId: groupId ?? generateFakePubKey().key,
 | |
|     chatMessage: generateVisibleMessage(),
 | |
|   });
 | |
| }
 | |
| 
 | |
| export function generateFakeIncomingPrivateMessage(): MessageModel {
 | |
|   const convoId = TestUtils.generateFakePubKeyStr();
 | |
|   return new MessageModel({
 | |
|     conversationId: convoId,
 | |
|     source: convoId,
 | |
|     type: 'incoming',
 | |
|   });
 | |
| }
 | |
| 
 | |
| export function generateFakeIncomingOpenGroupMessageV4({
 | |
|   id,
 | |
|   reactions,
 | |
|   seqno,
 | |
| }: {
 | |
|   id: number;
 | |
|   seqno?: number;
 | |
|   reactions?: Record<string, OpenGroupReaction>;
 | |
| }): OpenGroupMessageV4 | OpenGroupReactionMessageV4 {
 | |
|   return {
 | |
|     id, // serverId
 | |
|     seqno: seqno ?? undefined,
 | |
|     /** base64 */
 | |
|     signature: 'whatever',
 | |
|     /** timestamp number with decimal */
 | |
|     posted: Date.now(),
 | |
|     reactions: reactions ?? {},
 | |
|   };
 | |
| }
 |