/*! * @license * Copyright Squiz Australia Pty Ltd. All Rights Reserved. */ import { faker } from '@faker-js/faker/locale/en'; import { ENTITY_TYPES } from '../../constants/Repository.constants'; import { LEGACY_RUNTIME_IMAGE } from '../../constants/RuntimeImage.constants'; import { JobManifest } from '../JobManifestTypes'; export const createMockJobManifest = (partialRecord: Partial = {}): JobManifest => { const version = Array.from({ length: 3 }) .map(() => faker.number.int()) .join('.'); const input = {}; return { concurrency: faker.number.int(), entryFile: faker.system.fileName(), entryFunction: { name: faker.lorem.word(), entry: faker.system.filePath(), input, }, name: faker.lorem.word(), version, timeoutSeconds: faker.number.int({ max: 28800, min: 5 }), image: LEGACY_RUNTIME_IMAGE, autoRetry: false, type: ENTITY_TYPES.manifest, ...partialRecord, }; }; export const createMockJobManifests = (size?: number): Array => { const randomSize = size ?? faker.number.int({ max: 3, min: 1 }); return Array.from({ length: randomSize }).map(() => createMockJobManifest()); };