import { jest } from '@jest/globals' import { APIGatewayEvent, Context, DynamoDBStreamEvent, SQSEvent } from 'aws-lambda' import { z } from 'zod' import Transaction from '../src/BaseEvent/Transaction.js' import Globals from '../src/Globals.js' export const defaultHeaders = { 'Access-Control-Allow-Credentials': true, 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json', } export const defaultUrl = `localhost:${Globals.Listener_HTTP_DefaultPort}` export const SampleConfig = { PATH: { isLocal: true, required: true, }, PATH_FALSY: { isLocal: true, required: true, }, PATH123: { isLocal: true, required: false, }, TOKEN_SECRET: { isRemote: true, required: true, }, TOKEN_SECRET_FALSY: { isRemote: true, required: false, }, } as const export function observableContext(data?: any) { return ({ done: jest.fn(), fail: jest.fn(), succeed: jest.fn(), ...(data || {}), }) } export const privateKey = 'tMHOuszBQmF6XtwgrUpvqpk07rh3RATX' export const foreignToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' export const ViewSchema = z.object({ id: z.string(), content: z.string(), createdAt: z.date(), updatedAt: z.date(), }) export type View = z.infer export function emptyEvent(data?: any) { return (data || {}) } export function emptyQueueEvent(data?: any) { return (data || {}) } export function emptyDynamoDBEvent(data?: any) { return (data || {}) } export function observableTransaction() { const t = new Transaction(emptyEvent(), observableContext()) t.responseProxy = jest.fn() as any return t }