@api-client/core 0.18.39 → 0.18.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"SdkMock.js","sourceRoot":"","sources":["../../../src/sdk/SdkMock.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ResponseGenerator, setupWorker, type MockHandler, type SetupWorkerOptions } from '@jarrodek/amw'\nimport type { IOrganization } from '../models/store/Organization.js'\nimport type { GroupSchema } from '../models/store/Group.js'\nimport type { IUser } from '../models/store/User.js'\nimport type { InvitationSchema } from '../models/store/Invitation.js'\nimport { type IFile, type FileBreadcrumb } from '../models/store/File.js'\nimport type { ContextListResult, IBulkOperationResult } from '../events/BaseEvents.js'\nimport type { TrashEntry } from '../models/TrashEntry.js'\nimport { RouteBuilder } from './RouteBuilder.js'\nimport { ModelingMock } from '../mocking/ModelingMock.js'\n\nexport interface MockResult {\n /**\n * Custom response generator for the mock intercept.\n */\n response?: ResponseGenerator\n /**\n * If true, the request body will be generated using the body generator.\n * It is useful when only setting up response headers or status code, but\n * the request body should still be generated, even when missing in the `response` option.\n */\n forceBody?: boolean\n}\n\nexport interface MockListResult extends MockResult {\n /**\n * Number of items to generate in the list response.\n */\n size?: number\n /**\n * If true, the response will include a cursor for pagination.\n * If false, the response will not include a cursor.\n * If not set, a random choice will be made.\n */\n cursor?: boolean\n}\n\n/**\n * SDK mocking utility for testing. Uses Service Workers to intercept HTTP requests\n * and provide mock responses for API calls.\n *\n * This class uses the `@jarrodek/amw` library to set up a Service Worker that intercepts\n * fetch requests matching the configured routes. Each method adds an intercept for a specific\n * API endpoint, returning either random generated data or custom responses.\n *\n * @example\n * ```typescript\n * import { SdkMock } from '@api-client/core/sdk/SdkMock.js';\n * import { StoreSdk } from '@api-client/core/sdk/StoreSdkWeb.js';\n *\n * const sdk = new StoreSdk('http://localhost:8080');\n * const mocker = new SdkMock({\n * swPath: '/mockServiceWorker.js', // Path to the Service Worker script\n * base: 'http://localhost:8080' // Base URL matching the SDK\n * });\n *\n * // Initialize the Service Worker\n * await mocker.setup();\n *\n * // Add intercept - returns random organizations\n * await mocker.organizations.list();\n *\n * // Custom response with specific data\n * await mocker.organizations.create({\n * response: {\n * status: 201,\n * headers: { 'Content-Type': 'application/json', 'X-Custom-Header': 'value' },\n * body: JSON.stringify({ key: 'custom-id', name: 'Custom Org' })\n * }\n * });\n *\n * // Control pagination in list responses\n * await mocker.groups.list({\n * size: 10, // Number of items to generate\n * cursor: true // Include pagination cursor\n * });\n *\n * // Error simulation\n * await mocker.users.me({\n * response: {\n * status: 404,\n * headers: { 'Content-Type': 'application/json' },\n * body: JSON.stringify({ error: 'Not found' })\n * }\n * });\n *\n * // Remove all intercepts (keep Service Worker active)\n * await mocker.reset();\n *\n * // Stop and remove the Service Worker\n * await mocker.teardown();\n * ```\n */\nexport class SdkMock {\n handler?: MockHandler\n gen = new ModelingMock()\n\n constructor(public options?: SetupWorkerOptions) {}\n\n /**\n * Initializes the mock handler. It uses options provided in the constructor.\n * It has to be called before using any of the mock methods.\n */\n async setup(): Promise<void> {\n this.handler = await setupWorker(this.options)\n }\n\n /**\n * Removes the mock worker and all intercepts.\n */\n async teardown(): Promise<void> {\n await this.mock.stop()\n }\n\n /**\n * Removes all added intercepts.\n */\n async reset(): Promise<void> {\n await this.mock.reset()\n }\n\n get mock(): MockHandler {\n if (!this.handler) {\n throw new Error('Mock handler not initialized. Call setup() first.')\n }\n return this.handler\n }\n\n protected createCursorOption(init: MockListResult = {}): string | undefined {\n if (init.cursor === false) {\n return undefined\n }\n const hasCursor = init.cursor === true ? true : this.gen.faker.datatype.boolean()\n if (!hasCursor) {\n return undefined\n }\n return this.gen.faker.internet.jwt()\n }\n\n protected createDefaultResponse(\n status: number,\n headers?: Record<string, string>,\n body?: () => string,\n userConfig?: MockResult\n ): ResponseGenerator {\n let respond: ResponseGenerator\n if (userConfig?.response) {\n // user config takes precedence\n respond = userConfig.response\n } else {\n respond = {}\n }\n // Set defaults if not provided in user config\n if (!respond.status) {\n respond.status = status\n }\n // only set headers if the user didn't configure the response only.\n // The user may want to remove default headers.\n if (!userConfig || !userConfig.response) {\n respond.headers = headers\n }\n if (!respond.body && userConfig?.forceBody && body) {\n // when body is missing and forceBody is set, generate the body\n respond.body = body()\n } else if (body && (!userConfig || !userConfig.response)) {\n // we set the body by default when the user config is missing\n respond.body = body()\n }\n return respond\n }\n\n /**\n * Organization API mocks.\n */\n organizations = {\n /**\n * Adds an intercept to mock the `organizations.list()` method.\n * @param options Optional response configuration\n */\n list: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.organization.organizations(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<IOrganization>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () =>\n JSON.stringify({\n items: this.gen.organization.organizations(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n } as ContextListResult<IOrganization>),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.organizations(),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Adds an intercept to mock the `organizations.create()` method.\n * @param options Optional response configuration\n */\n create: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.organization.organization()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.organization.organization()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.organizations(),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n invitations: {\n list: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.invitation.invitations(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<InvitationSchema>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<InvitationSchema> = {\n items: this.gen.invitation.invitations(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.invitations(':oid'),\n methods: ['GET'],\n },\n respond,\n })\n },\n create: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.invitations(':oid'),\n methods: ['POST'],\n },\n respond,\n })\n },\n findByToken: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add({\n match: {\n uri: RouteBuilder.findInvitation(),\n methods: ['GET'],\n },\n respond,\n })\n },\n decline: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add({\n match: {\n uri: RouteBuilder.declineInvitation(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n })\n },\n delete: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add({\n match: {\n uri: RouteBuilder.invitation(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n patch: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.invitation(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n })\n },\n resend: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add({\n match: {\n uri: RouteBuilder.resendInvitation(':oid', ':id'),\n methods: ['PUT'],\n },\n respond,\n })\n },\n },\n\n users: {\n list: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.user.users(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<IUser>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<IUser> = {\n items: this.gen.user.users(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.organizationUsers(':oid'),\n methods: ['GET'],\n },\n respond,\n })\n },\n read: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.user.user()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.user.user()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.organizationUser(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n })\n },\n readBatch: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n const path = RouteBuilder.organizationUserBatch(':oid')\n const respond = init?.response ?? {\n status: 200,\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({\n items: this.gen.user.users(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n } as ContextListResult<IUser>),\n }\n await mock.add({\n match: {\n uri: path,\n methods: ['POST'],\n },\n respond,\n })\n },\n activate: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.user.user()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.user.user()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.organizationUserActivate(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n })\n },\n deactivate: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.user.user()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.user.user()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.organizationUserDeactivate(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n })\n },\n delete: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add({\n match: {\n uri: RouteBuilder.organizationUser(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n },\n }\n\n /**\n * Group API mocks.\n */\n groups = {\n /**\n * Mocks the `groups.list()` method.\n * @param options Optional response customization.\n */\n list: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.group.groups(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<GroupSchema>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<GroupSchema> = {\n items: this.gen.group.groups(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.groups(':oid'),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `groups.create()` method.\n * @param options Optional response customization.\n */\n create: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 201,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.group.group()),\n // }\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.group.group()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.groups(':oid'),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `groups.update()` method.\n * @param options Optional response customization.\n */\n update: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.group.group()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.group.group()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.group(':oid', ':key'),\n methods: ['PATCH'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `groups.delete()` method.\n * @param options Optional response customization.\n */\n delete: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add({\n match: {\n uri: RouteBuilder.group(':oid', ':key'),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `groups.addUsers()` method.\n */\n addUsers: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.group.group()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.group.group()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.groupUsers(':oid', ':key'),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `groups.removeUsers()` method.\n */\n removeUsers: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.group.group()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.group.group()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.groupUsers(':oid', ':key'),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n }\n\n /**\n * User API mocks.\n */\n users = {\n /**\n * Mocks the `user.me()` method.\n * @param options Optional response customization.\n */\n me: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.user.user()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.user.user()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.usersMe(),\n methods: ['GET'],\n },\n respond,\n })\n },\n }\n\n /**\n * Files API mocks.\n */\n file = {\n /**\n * Mocks the `file.list()` method.\n */\n list: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.file.files(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<IFile>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<IFile> = {\n items: this.gen.file.files(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.createMeta()` method.\n */\n createMeta: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 201,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.file.file()),\n // }\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.file.file()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.createMedia()` method.\n */\n createMedia: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // }\n const respond = this.createDefaultResponse(200, undefined, undefined, init)\n await mock.add({\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['PUT'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.create()` method.\n */\n create: async (init?: MockResult): Promise<void> => {\n await this.file.createMeta(init)\n // When SDK's file.create() is called, it responds with\n // what the result of file.createMeta() would be.\n // Because of that, we don't need to configure the media request.\n await this.file.createMedia()\n },\n\n /**\n * Mocks the `file.createFolder()` method.\n */\n createFolder: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 201,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.file.folder()),\n // }\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.file.folder()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.read()` method.\n */\n read: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.file.file()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.file.file()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.readMedia()` method.\n */\n readMedia: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: {\n // 'content-type': 'application/json',\n // 'x-version': `${this.gen.faker.number.int({ min: 1, max: 100 })}`,\n // },\n // body: JSON.stringify({ data: this.gen.faker.lorem.sentences() }),\n // }\n const respond = this.createDefaultResponse(\n 200,\n {\n 'content-type': 'application/json',\n 'x-version': `${this.gen.faker.number.int({ min: 1, max: 100 })}`,\n },\n () => JSON.stringify({ data: this.gen.faker.lorem.sentences() }),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.readBulk()` method.\n */\n readBulk: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.file.files(init?.size ?? 5),\n // } as IBulkOperationResult<IFile>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: IBulkOperationResult<IFile> = {\n items: this.gen.file.files(init?.size ?? 5),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.filesBatch(':oid'),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.patch()` method.\n */\n patch: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.file.file()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.file.file()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.patchMedia()` method.\n */\n patchMedia: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.patch.mediaPatchRevision()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.patch.mediaPatchRevision()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.delete()` method.\n */\n delete: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add({\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.deleteBulk()` method.\n */\n deleteBulk: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add({\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.patchUsers()` method.\n */\n patchUsers: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.file.file()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.file.file()),\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.filesAccess(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.addUser()` method.\n */\n addUser: async (init?: MockResult): Promise<void> => {\n await this.file.patchUsers(init)\n },\n\n /**\n * Mocks the `file.removeUser()` method.\n */\n removeUser: async (init?: MockResult): Promise<void> => {\n await this.file.patchUsers(init)\n },\n\n /**\n * Mocks the `file.listUsers()` method.\n */\n listUsers: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.user.users(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<IUser>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<IUser> = {\n items: this.gen.user.users(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.fileUsers(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.breadcrumbs()` method.\n */\n breadcrumbs: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.file.fileBreadcrumbs(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<FileBreadcrumb>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<FileBreadcrumb> = {\n items: this.gen.file.fileBreadcrumbs(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.fileBreadcrumbs(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n })\n },\n }\n\n /**\n * Shared API mocks.\n */\n shared = {\n list: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.file.files(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<IFile>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<IFile> = {\n items: this.gen.file.files(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.shared(':oid'),\n methods: ['GET'],\n },\n respond,\n })\n },\n }\n\n /**\n * Trash API mocks.\n */\n trash = {\n list: async (init?: MockListResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.trash.trashEntries(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<TrashEntry>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<TrashEntry> = {\n items: this.gen.trash.trashEntries(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add({\n match: {\n uri: RouteBuilder.trash(':oid'),\n methods: ['GET'],\n },\n respond,\n })\n },\n delete: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add({\n match: {\n uri: RouteBuilder.trashBatchDelete(':oid'),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n restore: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add({\n match: {\n uri: RouteBuilder.trashBatchRestore(':oid'),\n methods: ['POST'],\n },\n respond,\n })\n },\n empty: async (init?: MockResult): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add({\n match: {\n uri: RouteBuilder.trashEmpty(':oid'),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n }\n}\n"]}
1
+ {"version":3,"file":"SdkMock.js","sourceRoot":"","sources":["../../../src/sdk/SdkMock.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type ResponseGenerator,\n setupWorker,\n type MockHandler,\n type SetupWorkerOptions,\n type InterceptOptions,\n type SerializedRequest,\n} from '@jarrodek/amw'\nimport type { IOrganization } from '../models/store/Organization.js'\nimport type { GroupSchema } from '../models/store/Group.js'\nimport type { IUser } from '../models/store/User.js'\nimport type { InvitationSchema } from '../models/store/Invitation.js'\nimport { type IFile, type FileBreadcrumb } from '../models/store/File.js'\nimport type { ContextChangeRecord, ContextListResult, IBulkOperationResult } from '../events/BaseEvents.js'\nimport type { TrashEntry } from '../models/TrashEntry.js'\nimport { RouteBuilder } from './RouteBuilder.js'\nimport { ModelingMock } from '../mocking/ModelingMock.js'\nimport type {\n DataCatalogSchema,\n DataCatalogSchemaWithVersion,\n DataCatalogStatus,\n DataCatalogVersionInfo,\n} from '../models/DataCatalog.js'\nimport type { DataCatalogVersionSchema } from '../models/DataCatalogVersion.js'\nimport { DataDomain, type DataDomainSchema } from '../modeling/DataDomain.js'\nimport type { ForeignDomainDependency } from '../modeling/types.js'\nimport { nanoid } from '../nanoid.js'\n\nexport interface MockResult {\n /**\n * Custom response generator for the mock intercept.\n */\n response?: ResponseGenerator\n /**\n * If true, the request body will be generated using the body generator.\n * It is useful when only setting up response headers or status code, but\n * the request body should still be generated, even when missing in the `response` option.\n */\n forceBody?: boolean\n}\n\nexport interface MockListResult extends MockResult {\n /**\n * Number of items to generate in the list response.\n */\n size?: number\n /**\n * If true, the response will include a cursor for pagination.\n * If false, the response will not include a cursor.\n * If not set, a random choice will be made.\n */\n cursor?: boolean\n}\n\n/**\n * SDK mocking utility for testing. Uses Service Workers to intercept HTTP requests\n * and provide mock responses for API calls.\n *\n * This class uses the `@jarrodek/amw` library to set up a Service Worker that intercepts\n * fetch requests matching the configured routes. Each method adds an intercept for a specific\n * API endpoint, returning either random generated data or custom responses.\n *\n * @example\n * ```typescript\n * import { SdkMock } from '@api-client/core/sdk/SdkMock.js';\n * import { StoreSdk } from '@api-client/core/sdk/StoreSdkWeb.js';\n *\n * const sdk = new StoreSdk('http://localhost:8080');\n * const mocker = new SdkMock({\n * swPath: '/mockServiceWorker.js', // Path to the Service Worker script\n * base: 'http://localhost:8080' // Base URL matching the SDK\n * });\n *\n * // Initialize the Service Worker\n * await mocker.setup();\n *\n * // Add intercept - returns random organizations\n * await mocker.organizations.list();\n *\n * // Custom response with specific data\n * await mocker.organizations.create({\n * response: {\n * status: 201,\n * headers: { 'Content-Type': 'application/json', 'X-Custom-Header': 'value' },\n * body: JSON.stringify({ key: 'custom-id', name: 'Custom Org' })\n * }\n * });\n *\n * // Control pagination in list responses\n * await mocker.groups.list({\n * size: 10, // Number of items to generate\n * cursor: true // Include pagination cursor\n * });\n *\n * // Error simulation\n * await mocker.users.me({\n * response: {\n * status: 404,\n * headers: { 'Content-Type': 'application/json' },\n * body: JSON.stringify({ error: 'Not found' })\n * }\n * });\n *\n * // Remove all intercepts (keep Service Worker active)\n * await mocker.reset();\n *\n * // Stop and remove the Service Worker\n * await mocker.teardown();\n * ```\n *\n * @TODO: Add a in-memory state store so that mocks can maintain state across requests.\n * This way, operations like create, update, delete can affect subsequent list/read calls\n * and we can mimic the API behavior more closely.\n */\nexport class SdkMock {\n handler?: MockHandler\n gen = new ModelingMock()\n\n constructor(public options?: SetupWorkerOptions) {}\n\n /**\n * Initializes the mock handler. It uses options provided in the constructor.\n * It has to be called before using any of the mock methods.\n */\n async setup(): Promise<void> {\n this.handler = await setupWorker(this.options)\n }\n\n /**\n * Removes the mock worker and all intercepts.\n */\n async teardown(): Promise<void> {\n await this.mock.stop()\n }\n\n /**\n * Removes all added intercepts.\n */\n async reset(): Promise<void> {\n await this.mock.reset()\n }\n\n get mock(): MockHandler {\n if (!this.handler) {\n throw new Error('Mock handler not initialized. Call setup() first.')\n }\n return this.handler\n }\n\n protected createCursorOption(init: MockListResult = {}): string | undefined {\n if (init.cursor === false) {\n return undefined\n }\n const hasCursor = init.cursor === true ? true : this.gen.faker.datatype.boolean()\n if (!hasCursor) {\n return undefined\n }\n return this.gen.faker.internet.jwt()\n }\n\n protected createDefaultResponse(\n status: number,\n headers?: Record<string, string>,\n body?: (req: SerializedRequest) => string,\n userConfig?: MockResult\n ): ResponseGenerator {\n let respond: ResponseGenerator\n if (userConfig?.response) {\n // user config takes precedence\n respond = userConfig.response\n } else {\n respond = {}\n }\n // Set defaults if not provided in user config\n if (!respond.status) {\n respond.status = status\n }\n // only set headers if the user didn't configure the response only.\n // The user may want to remove default headers.\n if (!userConfig || !userConfig.response) {\n respond.headers = headers\n }\n if (!respond.body && userConfig?.forceBody && body) {\n // when body is missing and forceBody is set, generate the body\n respond.body = (req: SerializedRequest) => body(req)\n } else if (body && (!userConfig || !userConfig.response)) {\n // we set the body by default when the user config is missing\n respond.body = (req: SerializedRequest) => body(req)\n }\n return respond\n }\n\n /**\n * Organization API mocks.\n */\n organizations = {\n /**\n * Adds an intercept to mock the `organizations.list()` method.\n * @param options Optional response configuration\n */\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.organization.organizations(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<IOrganization>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () =>\n JSON.stringify({\n items: this.gen.organization.organizations(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n } as ContextListResult<IOrganization>),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizations(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Adds an intercept to mock the `organizations.create()` method.\n * @param options Optional response configuration\n */\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.organization.organization()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.organization.organization()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizations(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n invitations: {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.invitation.invitations(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<InvitationSchema>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<InvitationSchema> = {\n items: this.gen.invitation.invitations(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitations(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitations(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n findByToken: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.findInvitation(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n decline: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.declineInvitation(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitation(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n patch: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitation(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n resend: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.invitation.invitation()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.resendInvitation(':oid', ':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n },\n\n users: {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.user.users(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<IUser>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<IUser> = {\n items: this.gen.user.users(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUsers(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.user.user()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.user.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUser(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n readBatch: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const path = RouteBuilder.organizationUserBatch(':oid')\n const respond = init?.response ?? {\n status: 200,\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({\n items: this.gen.user.users(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n } as ContextListResult<IUser>),\n }\n await mock.add(\n {\n match: {\n uri: path,\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n activate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.user.user()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.user.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUserActivate(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n deactivate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.user.user()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.user.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUserDeactivate(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUser(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n },\n }\n\n /**\n * Group API mocks.\n */\n groups = {\n /**\n * Mocks the `groups.list()` method.\n * @param options Optional response customization.\n */\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.group.groups(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<GroupSchema>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<GroupSchema> = {\n items: this.gen.group.groups(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groups(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.create()` method.\n * @param options Optional response customization.\n */\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 201,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.group.group()),\n // }\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groups(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.update()` method.\n * @param options Optional response customization.\n */\n update: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.group.group()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.group(':oid', ':key'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.delete()` method.\n * @param options Optional response customization.\n */\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.group(':oid', ':key'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.addUsers()` method.\n */\n addUsers: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.group.group()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groupUsers(':oid', ':key'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.removeUsers()` method.\n */\n removeUsers: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.group.group()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groupUsers(':oid', ':key'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * User API mocks.\n */\n users = {\n /**\n * Mocks the `user.me()` method.\n * @param options Optional response customization.\n */\n me: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.user.user()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.user.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.usersMe(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * Files API mocks.\n */\n file = {\n /**\n * Mocks the `file.list()` method.\n */\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.file.files(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<IFile>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<IFile> = {\n items: this.gen.file.files(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.createMeta()` method.\n */\n createMeta: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 201,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.file.file()),\n // }\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.file.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.createMedia()` method.\n */\n createMedia: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // }\n const respond = this.createDefaultResponse(200, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.create()` method.\n */\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n await this.file.createMeta(init, options)\n // When SDK's file.create() is called, it responds with\n // what the result of file.createMeta() would be.\n // Because of that, we don't need to configure the media request.\n await this.file.createMedia(undefined, options)\n },\n\n /**\n * Mocks the `file.createFolder()` method.\n */\n createFolder: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 201,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.file.folder()),\n // }\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.file.folder()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.read()` method.\n */\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.file.file()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.file.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.readMedia()` method.\n */\n readMedia: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: {\n // 'content-type': 'application/json',\n // 'x-version': `${this.gen.faker.number.int({ min: 1, max: 100 })}`,\n // },\n // body: JSON.stringify({ data: this.gen.faker.lorem.sentences() }),\n // }\n const respond = this.createDefaultResponse(\n 200,\n {\n 'content-type': 'application/json',\n 'x-version': `${this.gen.faker.number.int({ min: 1, max: 100 })}`,\n },\n () => JSON.stringify({ data: this.gen.faker.lorem.sentences() }),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.readBulk()` method.\n */\n readBulk: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.file.files(init?.size ?? 5),\n // } as IBulkOperationResult<IFile>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: IBulkOperationResult<IFile> = {\n items: this.gen.file.files(init?.size ?? 5),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.filesBatch(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.patch()` method.\n */\n patch: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.file.file()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.file.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.patchMedia()` method.\n */\n patchMedia: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.patch.mediaPatchRevision()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.patch.mediaPatchRevision()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.delete()` method.\n */\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.deleteBulk()` method.\n */\n deleteBulk: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.patchUsers()` method.\n */\n patchUsers: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify(this.gen.file.file()),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => JSON.stringify(this.gen.file.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.filesAccess(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.addUser()` method.\n */\n addUser: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n await this.file.patchUsers(init, options)\n },\n\n /**\n * Mocks the `file.removeUser()` method.\n */\n removeUser: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n await this.file.patchUsers(init, options)\n },\n\n /**\n * Mocks the `file.listUsers()` method.\n */\n listUsers: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.user.users(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<IUser>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<IUser> = {\n items: this.gen.user.users(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileUsers(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.breadcrumbs()` method.\n */\n breadcrumbs: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.file.fileBreadcrumbs(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<FileBreadcrumb>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<FileBreadcrumb> = {\n items: this.gen.file.fileBreadcrumbs(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileBreadcrumbs(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * Shared API mocks.\n */\n shared = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.file.files(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<IFile>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<IFile> = {\n items: this.gen.file.files(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.shared(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * Trash API mocks.\n */\n trash = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 200,\n // headers: { 'content-type': 'application/json' },\n // body: JSON.stringify({\n // items: this.gen.trash.trashEntries(init?.size ?? 5),\n // cursor: this.createCursorOption(init),\n // } as ContextListResult<TrashEntry>),\n // }\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<TrashEntry> = {\n items: this.gen.trash.trashEntries(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trash(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trashBatchDelete(':oid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n restore: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trashBatchRestore(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n empty: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // const respond = init?.response ?? {\n // status: 204,\n // }\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trashEmpty(':oid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * Trash Data Catalog mocks.\n */\n dataCatalog = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<DataCatalogSchemaWithVersion> = {\n items: this.gen.dataCatalog.dataCatalogsWithVersion(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalog(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n listVersions: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: ContextListResult<DataCatalogVersionInfo> = {\n items: this.gen.dataCatalog.versionInfos(init?.size ?? 5),\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogEntryVersions(':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n publish: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj = this.gen.dataCatalog.dataCatalog()\n const result: ContextChangeRecord<DataCatalogSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return JSON.stringify(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalog(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params.id })\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogEntry(':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n deprecate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params.id })\n const result: ContextChangeRecord<DataCatalogSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return JSON.stringify(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogDeprecate(':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n unpublish: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params.id })\n const result: ContextChangeRecord<DataCatalogSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return JSON.stringify(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogUnpublish(':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n publishVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const raw = req.body as string\n const body = JSON.parse(raw) as DataCatalogVersionSchema\n\n const result: ContextChangeRecord<DataCatalogVersionSchema> = {\n key: body.key,\n item: body,\n kind: body.kind,\n }\n return JSON.stringify(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogEntryVersions(':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n readVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params.vid, catalogKey: req.params.id })\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogVersion(':id', ':vid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n listDependencies: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const requirements = JSON.parse(req.body as string) as { items: ForeignDomainDependency[] }\n const items: DataDomainSchema[] = []\n for (const item of requirements.items) {\n const domain = new DataDomain({\n key: item.key,\n info: { name: `Domain ${item.key}`, version: item.version },\n })\n items.push(domain.toJSON())\n }\n const obj: ContextListResult<DataDomainSchema> = {\n items: items,\n }\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogDependencies(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n deprecateVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params.vid, catalogKey: req.params.id })\n obj.deprecated = true\n obj.deprecatedAt = this.gen.faker.date.past().getTime()\n obj.deprecatedBy = nanoid()\n const info = JSON.parse(req.body as string) as { reason: string }\n obj.deprecationReason = info.reason\n const result: ContextChangeRecord<DataCatalogVersionSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return JSON.stringify(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogVersionDeprecate(':id', ':vid'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n unpublishVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params.vid, catalogKey: req.params.id })\n obj.unpublishedAt = this.gen.faker.date.past().getTime()\n obj.scope = 'private'\n const result: ContextChangeRecord<DataCatalogVersionSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return JSON.stringify(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogVersionUnpublish(':id', ':vid'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n checkPublicationStatus: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj = this.gen.dataCatalog.dataCatalog() as DataCatalogStatus\n obj.versions = this.gen.dataCatalog.versionInfos(1)\n return JSON.stringify(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogStatus(':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n}\n"]}