@api-client/core 0.21.1 → 0.21.2
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.
- package/CHANGELOG.md +7 -0
- package/build/src/sdk/SdkMock.d.ts +2 -0
- package/build/src/sdk/SdkMock.d.ts.map +1 -1
- package/build/src/sdk/SdkMock.js +2 -0
- package/build/src/sdk/SdkMock.js.map +1 -1
- package/build/src/sdk/SdkNetworkMock.d.ts +6 -0
- package/build/src/sdk/SdkNetworkMock.d.ts.map +1 -1
- package/build/src/sdk/SdkNetworkMock.js +70 -0
- package/build/src/sdk/SdkNetworkMock.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/sdk/SdkMock.ts +2 -0
- package/src/sdk/SdkNetworkMock.ts +76 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkNetworkMock.js","sourceRoot":"","sources":["../../../src/sdk/SdkNetworkMock.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n Network,\n NetworkRespondPayload,\n NetworkRespondDynamic,\n CapturedRequest,\n NetworkInterceptor,\n} from '@pawel-up/lupa/network'\nimport { RouteBuilder } from './RouteBuilder.js'\nimport { ModelingMock } from '../mocking/ModelingMock.js'\nimport { ResourceResponse } from './SdkBase.js'\nimport { ContextChangeRecord, ContextListResult, isAtomicFilter, QueryFilter } from '../events/BaseEvents.js'\nimport { DataCatalogSchema, DataCatalogStatus } from '../models/DataCatalog.js'\nimport { DataCatalogVersionSchema } from '../models/DataCatalogVersion.js'\nimport { nanoid } from '../nanoid.js'\nimport { ForeignDomainDependency } from '../modeling/types.js'\nimport { DataDomain, DataDomainSchema } from '../modeling/DataDomain.js'\nimport { AiSessionApp } from '../models/AiSession.js'\nimport { CreateDeploymentPayload, DeploymentLatestEnvironments } from './DeploymentsSdk.js'\nimport { DeploymentEnvironment, DeploymentSchema, DeploymentStatus } from '../models/store/Deployment.js'\n\nexport interface MockResourceInit {\n /**\n * Custom response generator for the mock intercept.\n */\n response?: NetworkRespondPayload\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 * Allows to override the base URI for the mock. It is useful when you want to mock a request\n * to a different base URI than the one set in the constructor.\n */\n baseUri?: string\n}\n\nexport interface MockListInit extends MockResourceInit {\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 * If string, the exact cursor value will be used.\n */\n cursor?: boolean | string\n}\n\n/**\n * A helper class for generating mock responses for the SDK.\n * Uses the Lupa Network for mocking.\n *\n * @example\n * ```typescript\n * import { SdkNetworkMock } from './SdkNetworkMock.js';\n * import { Network } from '@pawel-up/lupa/network';\n *\n * const network = new Network();\n * const mocker = new SdkNetworkMock();\n *\n * await mocker.dataCatalog.list(network);\n * ```\n */\nexport class SdkNetworkMock {\n gen = new ModelingMock()\n\n private readonly baseUrl?: string\n\n /**\n * @param baseUrl The base URI to be used to construct the URL.\n */\n public constructor(baseUrl?: string) {\n if (baseUrl) {\n this.baseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl\n }\n }\n\n protected createDefaultResponse(\n status: number,\n headers?: Record<string, string>,\n body?: (req: CapturedRequest) => string,\n userConfig?: MockResourceInit\n ): NetworkRespondPayload | NetworkRespondDynamic {\n let hasBodyGenerator = false\n if (!userConfig?.response?.body && userConfig?.forceBody && body) {\n // when body is missing and forceBody is set, generate the body\n hasBodyGenerator = true\n } else if (body && (!userConfig || !userConfig.response)) {\n // we set the body by default when the user config is missing\n hasBodyGenerator = true\n }\n\n if (hasBodyGenerator && body) {\n return (req: CapturedRequest) => ({ status, headers, body: body(req) })\n }\n\n let respond: NetworkRespondPayload\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 (userConfig?.response?.body) {\n // body is fixed.\n respond.body = userConfig.response.body\n }\n return respond\n }\n\n /**\n * Wraps a single resource in a standard API resource response structure and serializes it to a JSON string.\n *\n * @param resource - The resource object to wrap.\n * @returns A JSON string representation of the wrapped resource.\n */\n public wrapResource<T extends object>(resource: T): string {\n const wrapper: ResourceResponse<T> = {\n data: resource,\n }\n return JSON.stringify(wrapper)\n }\n\n /**\n * Wraps a list of items in a standard API list response structure, including an optional pagination cursor,\n * and serializes it to a JSON string.\n *\n * @param items - The array of items to wrap.\n * @param init - Optional configuration for the mock list result, such as cursor settings.\n * @returns A JSON string representation of the wrapped list.\n */\n public wrapList<T extends object>(items: (T | undefined)[], init?: MockListInit): string {\n const obj: ContextListResult<T | undefined> = {\n data: items,\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n }\n\n /**\n * Generates or determines the pagination cursor based on the provided mock initialization options.\n * If a cursor is explicitly provided, it is returned. If explicitly disabled, it returns undefined.\n * Otherwise, it randomly generates a mock JWT string to simulate a cursor.\n *\n * @param init - Configuration object detailing cursor behavior.\n * @returns The cursor string or undefined if no cursor should be present.\n */\n protected createCursorOption(init: MockListInit = {}): string | undefined {\n if (init.cursor === false) {\n return undefined\n }\n if (typeof init.cursor === 'string') {\n return init.cursor\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 /**\n * Builds a route by joining the base URL with the given path.\n * @param path - The path to join.\n * @returns The built route.\n */\n protected buildRoute(path: string, init?: MockListInit): string {\n const baseUrl = init?.baseUri ?? this.baseUrl\n if (!baseUrl) {\n return path\n }\n const relativePath = path.startsWith('/') ? path : '/' + path\n return `${baseUrl}${relativePath}`\n }\n\n /**\n * Organization API mocks.\n */\n organizations = {\n /**\n * Adds an intercept to mock the `organizations.list()` method.\n * @param network Lupa network instance\n * @param init Optional response configuration\n */\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.organization.organizations(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizations(), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Adds an intercept to mock the `organizations.create()` method.\n * @param network Lupa network instance\n * @param init Optional response configuration\n */\n create: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.organization.organization()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizations(), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n invitations: {\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.invitation.invitations(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.invitations(':oid'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n create: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.invitations(':oid'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n findByToken: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.findInvitation(), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n decline: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.declineInvitation(':oid', ':id'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.invitation(':oid', ':id'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n patch: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.invitation(':oid', ':id'), init),\n methods: ['PATCH'],\n },\n respond,\n })\n },\n resend: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.resendInvitation(':oid', ':id'), init),\n methods: ['PUT'],\n },\n respond,\n })\n },\n },\n\n users: {\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUsers(':oid'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n read: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.users.user()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUser(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n readBatch: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUserBatch(':oid'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n activate: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.users.user()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUserActivate(':oid', ':id'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n deactivate: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.users.user()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUserDeactivate(':oid', ':id'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUser(':oid', ':id'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n },\n\n slugs: {\n /**\n * Mocks the `slugs.validate()` method.\n * @param options Optional response customization.\n */\n validate: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.organization.organizationSlugValidateResponse()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.orgSlugValidate(), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `slugs.generate()` method.\n * @param options Optional response customization.\n */\n generate: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.organization.organizationSlugGenerateResponse()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.orgSlugGenerate(), init),\n methods: ['POST'],\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: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.group.groups(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.groups(':oid'), init),\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: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.group.group()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.groups(':oid'), init),\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: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.group.group()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.group(':oid', ':key'), init),\n methods: ['PUT'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `groups.delete()` method.\n * @param options Optional response customization.\n */\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.group(':oid', ':key'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `groups.addUsers()` method.\n */\n addUsers: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.group.group()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.groupUsers(':oid', ':key'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `groups.removeUsers()` method.\n */\n removeUsers: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.group.group()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.groupUsers(':oid', ':key'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n }\n\n ai = {\n sessions: {\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.ai.sessions('general', init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiSessions(':oid', ':app' as AiSessionApp), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n create: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiSessions(':oid', ':app' as AiSessionApp), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n read: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n update: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'), init),\n methods: ['PUT'],\n },\n respond,\n })\n },\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n },\n\n messages: {\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.ai.messages(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiMessages(':oid', ':sid'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n update: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.message()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiMessage(':oid', ':sid', ':mid'), init),\n methods: ['PUT'],\n },\n respond,\n })\n },\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiMessage(':oid', ':sid', ':mid'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n },\n\n modifyDomain: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n // Return a basic JSON response simulating the stream end state for simplicity if not overriding.\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'text/event-stream' },\n () => 'event: done\\ndata: {}\\n\\n',\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiModifyDomain(':oid', ':fid'), init),\n methods: ['POST'],\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: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.users.user()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.usersMe(), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n }\n\n /**\n * Files API mocks.\n */\n files = {\n /**\n * Mocks the `file.list()` method.\n */\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.files.files(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.files(':oid'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.createMeta()` method.\n */\n createMeta: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.files(':oid'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.createMedia()` method.\n */\n createMedia: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(200, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.fileMedia(':oid', ':id'), init),\n methods: ['PUT'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.create()` method.\n */\n create: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n await this.files.createMeta(network, 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 return this.files.createMedia(network, init)\n },\n\n /**\n * Mocks the `file.createFolder()` method.\n */\n createFolder: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.folder()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.files(':oid'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.read()` method.\n */\n read: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.file(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.readMedia()` method.\n */\n readMedia: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\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 () => this.gen.wrapResource({ data: this.gen.faker.lorem.sentences() }),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.fileMedia(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.readBulk()` method.\n */\n readBulk: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.files.files(init?.size ?? 5), { cursor: false }),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.filesBatch(':oid'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.patch()` method.\n */\n patch: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.file(':oid', ':id'), init),\n methods: ['PATCH'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.patchMedia()` method.\n */\n patchMedia: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.patch.mediaPatchRevision()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.fileMedia(':oid', ':id'), init),\n methods: ['PATCH'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.delete()` method.\n */\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.file(':oid', ':id'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.deleteBulk()` method.\n */\n deleteBulk: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.files(':oid'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.patchUsers()` method.\n */\n patchUsers: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.filesAccess(':oid', ':id'), init),\n methods: ['PATCH'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.addUser()` method.\n */\n addUser: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n return this.files.patchUsers(network, init)\n },\n\n /**\n * Mocks the `file.removeUser()` method.\n */\n removeUser: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n return this.files.patchUsers(network, init)\n },\n\n /**\n * Mocks the `file.listUsers()` method.\n */\n listUsers: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.fileUsers(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n /**\n * Mocks the `file.breadcrumbs()` method.\n */\n breadcrumbs: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.files.fileBreadcrumbs(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.fileBreadcrumbs(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n }\n\n /**\n * Shared API mocks.\n */\n shared = {\n list: async (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.files.files(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.shared(':oid'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n }\n\n /**\n * Trash API mocks.\n */\n trash = {\n list: async (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.trash.trashEntries(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.trash(':oid'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n delete: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.trashBatchDelete(':oid'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n restore: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.trashBatchRestore(':oid'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n empty: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.trashEmpty(':oid'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n }\n\n /**\n * Deployments API mocks.\n */\n deployments = {\n list: async (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const { query } = req\n const filter = this.decodeFilter(query.filter)\n const schema: Partial<DeploymentSchema> = {}\n if (isAtomicFilter(filter)) {\n if (filter.field === 'fid') {\n if (filter.operator === 'eq') {\n schema.apiId = filter.value as string\n }\n }\n if (['apiSlug', 'api_slug'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.apiSlug = filter.value as string\n }\n }\n if (['orgId', 'organization'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.orgId = filter.value as string\n }\n }\n if (['modelVersion', 'model_version'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.modelVersion = filter.value as string\n }\n }\n if (filter.field === 'version') {\n if (filter.operator === 'eq') {\n schema.version = filter.value as string\n }\n }\n if (filter.field === 'env') {\n if (filter.operator === 'eq') {\n schema.env = filter.value as DeploymentEnvironment\n }\n }\n }\n const limit = this.readQueryLimit(req, init)\n const data = this.gen.deployments.deployments(limit, schema)\n const { order = 'asc', sort } = req.query\n if (sort) {\n data.sort((a, b) => {\n const aValue = a[sort as keyof DeploymentSchema] ?? 0\n const bValue = b[sort as keyof DeploymentSchema] ?? 0\n if (order === 'asc') {\n return aValue < bValue ? -1 : aValue > bValue ? 1 : 0\n } else {\n return aValue > bValue ? -1 : aValue < bValue ? 1 : 0\n }\n })\n }\n return this.wrapList(data, init)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deployments(':oid'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n create: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 202,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const raw = req.body as string\n const payload = JSON.parse(raw) as CreateDeploymentPayload\n const obj = this.gen.deployments.deployment({\n orgId: req.params?.oid,\n apiId: payload.fid,\n modelVersion: payload.modelVersion,\n env: payload.env,\n ...(payload.env === DeploymentEnvironment.PROD ? { version: payload.version } : {}),\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deployments(':oid'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n read: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const obj = this.gen.deployments.deployment({\n key: req.params?.id,\n orgId: req.params?.oid,\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deployment(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n deactivate: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const obj = this.gen.deployments.deployment({\n key: req.params?.id,\n orgId: req.params?.oid,\n status: DeploymentStatus.Inactive,\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deployment(':oid', ':id'), init),\n methods: ['DELETE'],\n },\n respond,\n })\n },\n apis: {\n getLatestPerEnvironment: async (\n network: Network,\n init?: MockResourceInit & { prod?: boolean; staging?: boolean; dev?: boolean }\n ): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: DeploymentLatestEnvironments = {}\n const hasProd = init?.prod ?? this.gen.faker.datatype.boolean()\n const hasStaging = init?.staging ?? this.gen.faker.datatype.boolean()\n const hasDev = init?.dev ?? this.gen.faker.datatype.boolean()\n\n if (hasProd) {\n obj.prod = this.gen.deployments.deployment()\n }\n if (hasStaging) {\n obj.staging = this.gen.deployments.deployment()\n }\n if (hasDev) {\n obj.dev = this.gen.deployments.deployment()\n }\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deploymentsApisByEnvLatest(':oid', ':fileId'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n list: async (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.deployments.deploymentApis(init?.size ?? 5), { cursor: false }),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deploymentsApis(':oid'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n },\n }\n\n /**\n * Trash Data Catalog mocks.\n */\n dataCatalog = {\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.dataCatalog.dataCatalogsWithVersion(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalog(), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n listVersions: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.dataCatalog.versionInfos(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogEntryVersions(':id'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n publish: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalog(), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n read: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params?.id })\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogEntry(':id'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n deprecate: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogDeprecate(':id'), init),\n methods: ['PUT'],\n },\n respond,\n })\n },\n\n unpublish: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogUnpublish(':id'), init),\n methods: ['PUT'],\n },\n respond,\n })\n },\n\n publishVersion: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogEntryVersions(':id'), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n readVersion: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params?.vid, catalogKey: req.params?.id })\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogVersion(':id', ':vid'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n\n listDependencies: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const requirements = JSON.parse(req.body as string) as { items: ForeignDomainDependency[] }\n const data: 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 data.push(domain.toJSON())\n }\n return this.wrapList(data, { cursor: false })\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogDependencies(), init),\n methods: ['POST'],\n },\n respond,\n })\n },\n\n deprecateVersion: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogVersionDeprecate(':id', ':vid'), init),\n methods: ['PUT'],\n },\n respond,\n })\n },\n\n unpublishVersion: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogVersionUnpublish(':id', ':vid'), init),\n methods: ['PUT'],\n },\n respond,\n })\n },\n\n checkPublicationStatus: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\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 this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogStatus(':id'), init),\n methods: ['GET'],\n },\n respond,\n })\n },\n }\n\n //\n // Helpers\n //\n\n /**\n * Decodes the filter parameter from the query string.\n *\n * @param filter The filter parameter from the query string.\n * @returns The decoded filter or undefined if the filter is invalid.\n */\n decodeFilter(filter?: string | string[]): QueryFilter | undefined {\n if (typeof filter !== 'string' || !filter) {\n return undefined\n }\n try {\n return JSON.parse(atob(filter)) as QueryFilter\n } catch {\n return undefined\n }\n }\n\n readQueryLimit(req: CapturedRequest, init?: MockListInit): number {\n let limit = init?.size ?? 5\n if (req.query?.limit) {\n const l = Array.isArray(req.query.limit) ? req.query.limit[0] : req.query.limit\n const tmp = parseInt(l, 10)\n if (Number.isInteger(tmp) && tmp > 0) {\n limit = tmp\n }\n }\n return limit\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SdkNetworkMock.js","sourceRoot":"","sources":["../../../src/sdk/SdkNetworkMock.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n Network,\n NetworkRespondPayload,\n NetworkRespondDynamic,\n CapturedRequest,\n NetworkInterceptor,\n} from '@pawel-up/lupa/network'\nimport { RouteBuilder } from './RouteBuilder.js'\nimport { ModelingMock } from '../mocking/ModelingMock.js'\nimport { ResourceResponse } from './SdkBase.js'\nimport { ContextChangeRecord, ContextListResult, isAtomicFilter, QueryFilter } from '../events/BaseEvents.js'\nimport { DataCatalogSchema, DataCatalogStatus } from '../models/DataCatalog.js'\nimport { DataCatalogVersionSchema } from '../models/DataCatalogVersion.js'\nimport { nanoid } from '../nanoid.js'\nimport { ForeignDomainDependency } from '../modeling/types.js'\nimport { DataDomain, DataDomainSchema } from '../modeling/DataDomain.js'\nimport { AiSessionApp } from '../models/AiSession.js'\nimport { CreateDeploymentPayload, DeploymentLatestEnvironments } from './DeploymentsSdk.js'\nimport { DeploymentEnvironment, DeploymentSchema, DeploymentStatus } from '../models/store/Deployment.js'\n\nexport interface MockResourceInit {\n /**\n * Custom response generator for the mock intercept.\n */\n response?: NetworkRespondPayload\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 * Allows to override the base URI for the mock. It is useful when you want to mock a request\n * to a different base URI than the one set in the constructor.\n */\n baseUri?: string\n /**\n * Number of times the mock should be called. Passed directly to the Lupa Network interceptor.\n * By default the mock is valued until the end of the test (if initialized in a test context)\n * or a group (when initialized in a group setup())\n */\n times?: number\n}\n\nexport interface MockListInit extends MockResourceInit {\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 * If string, the exact cursor value will be used.\n */\n cursor?: boolean | string\n}\n\n/**\n * A helper class for generating mock responses for the SDK.\n * Uses the Lupa Network for mocking.\n *\n * @example\n * ```typescript\n * import { SdkNetworkMock } from './SdkNetworkMock.js';\n * import { Network } from '@pawel-up/lupa/network';\n *\n * const network = new Network();\n * const mocker = new SdkNetworkMock();\n *\n * await mocker.dataCatalog.list(network);\n * ```\n */\nexport class SdkNetworkMock {\n gen = new ModelingMock()\n\n private readonly baseUrl?: string\n\n /**\n * @param baseUrl The base URI to be used to construct the URL.\n */\n public constructor(baseUrl?: string) {\n if (baseUrl) {\n this.baseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl\n }\n }\n\n protected createDefaultResponse(\n status: number,\n headers?: Record<string, string>,\n body?: (req: CapturedRequest) => string,\n userConfig?: MockResourceInit\n ): NetworkRespondPayload | NetworkRespondDynamic {\n let hasBodyGenerator = false\n if (!userConfig?.response?.body && userConfig?.forceBody && body) {\n // when body is missing and forceBody is set, generate the body\n hasBodyGenerator = true\n } else if (body && (!userConfig || !userConfig.response)) {\n // we set the body by default when the user config is missing\n hasBodyGenerator = true\n }\n\n if (hasBodyGenerator && body) {\n return (req: CapturedRequest) => ({ status, headers, body: body(req) })\n }\n\n let respond: NetworkRespondPayload\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 (userConfig?.response?.body) {\n // body is fixed.\n respond.body = userConfig.response.body\n }\n return respond\n }\n\n /**\n * Wraps a single resource in a standard API resource response structure and serializes it to a JSON string.\n *\n * @param resource - The resource object to wrap.\n * @returns A JSON string representation of the wrapped resource.\n */\n public wrapResource<T extends object>(resource: T): string {\n const wrapper: ResourceResponse<T> = {\n data: resource,\n }\n return JSON.stringify(wrapper)\n }\n\n /**\n * Wraps a list of items in a standard API list response structure, including an optional pagination cursor,\n * and serializes it to a JSON string.\n *\n * @param items - The array of items to wrap.\n * @param init - Optional configuration for the mock list result, such as cursor settings.\n * @returns A JSON string representation of the wrapped list.\n */\n public wrapList<T extends object>(items: (T | undefined)[], init?: MockListInit): string {\n const obj: ContextListResult<T | undefined> = {\n data: items,\n cursor: this.createCursorOption(init),\n }\n return JSON.stringify(obj)\n }\n\n /**\n * Generates or determines the pagination cursor based on the provided mock initialization options.\n * If a cursor is explicitly provided, it is returned. If explicitly disabled, it returns undefined.\n * Otherwise, it randomly generates a mock JWT string to simulate a cursor.\n *\n * @param init - Configuration object detailing cursor behavior.\n * @returns The cursor string or undefined if no cursor should be present.\n */\n protected createCursorOption(init: MockListInit = {}): string | undefined {\n if (init.cursor === false) {\n return undefined\n }\n if (typeof init.cursor === 'string') {\n return init.cursor\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 /**\n * Builds a route by joining the base URL with the given path.\n * @param path - The path to join.\n * @returns The built route.\n */\n protected buildRoute(path: string, init?: MockListInit): string {\n const baseUrl = init?.baseUri ?? this.baseUrl\n if (!baseUrl) {\n return path\n }\n const relativePath = path.startsWith('/') ? path : '/' + path\n return `${baseUrl}${relativePath}`\n }\n\n /**\n * Organization API mocks.\n */\n organizations = {\n /**\n * Adds an intercept to mock the `organizations.list()` method.\n * @param network Lupa network instance\n * @param init Optional response configuration\n */\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.organization.organizations(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizations(), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Adds an intercept to mock the `organizations.create()` method.\n * @param network Lupa network instance\n * @param init Optional response configuration\n */\n create: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.organization.organization()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizations(), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n\n invitations: {\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.invitation.invitations(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.invitations(':oid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n create: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.invitations(':oid'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n findByToken: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.findInvitation(), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n decline: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.declineInvitation(':oid', ':id'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.invitation(':oid', ':id'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n patch: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.invitation(':oid', ':id'), init),\n methods: ['PATCH'],\n },\n respond,\n times: init?.times,\n })\n },\n resend: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.invitation.invitation()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.resendInvitation(':oid', ':id'), init),\n methods: ['PUT'],\n },\n respond,\n times: init?.times,\n })\n },\n },\n\n users: {\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUsers(':oid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n read: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.users.user()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUser(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n readBatch: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUserBatch(':oid'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n activate: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.users.user()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUserActivate(':oid', ':id'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n deactivate: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.users.user()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUserDeactivate(':oid', ':id'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.organizationUser(':oid', ':id'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n },\n\n slugs: {\n /**\n * Mocks the `slugs.validate()` method.\n * @param options Optional response customization.\n */\n validate: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.organization.organizationSlugValidateResponse()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.orgSlugValidate(), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `slugs.generate()` method.\n * @param options Optional response customization.\n */\n generate: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.organization.organizationSlugGenerateResponse()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.orgSlugGenerate(), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\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: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.group.groups(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.groups(':oid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `groups.create()` method.\n * @param options Optional response customization.\n */\n create: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.group.group()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.groups(':oid'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `groups.update()` method.\n * @param options Optional response customization.\n */\n update: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.group.group()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.group(':oid', ':key'), init),\n methods: ['PUT'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `groups.delete()` method.\n * @param options Optional response customization.\n */\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.group(':oid', ':key'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `groups.addUsers()` method.\n */\n addUsers: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.group.group()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.groupUsers(':oid', ':key'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `groups.removeUsers()` method.\n */\n removeUsers: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapResource(this.gen.group.group()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.groupUsers(':oid', ':key'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n }\n\n ai = {\n sessions: {\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.ai.sessions('general', init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiSessions(':oid', ':app' as AiSessionApp), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n create: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiSessions(':oid', ':app' as AiSessionApp), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n read: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n update: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'), init),\n methods: ['PUT'],\n },\n respond,\n times: init?.times,\n })\n },\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n },\n\n messages: {\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.ai.messages(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiMessages(':oid', ':sid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n update: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.message()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiMessage(':oid', ':sid', ':mid'), init),\n methods: ['PUT'],\n },\n respond,\n times: init?.times,\n })\n },\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiMessage(':oid', ':sid', ':mid'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n },\n\n modifyDomain: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n // Return a basic JSON response simulating the stream end state for simplicity if not overriding.\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'text/event-stream' },\n () => 'event: done\\ndata: {}\\n\\n',\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.aiModifyDomain(':oid', ':fid'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\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: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.users.user()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.usersMe(), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n }\n\n /**\n * Files API mocks.\n */\n files = {\n /**\n * Mocks the `file.list()` method.\n */\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.files.files(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.files(':oid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.createMeta()` method.\n */\n createMeta: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.files(':oid'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.createMedia()` method.\n */\n createMedia: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(200, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.fileMedia(':oid', ':id'), init),\n methods: ['PUT'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.create()` method.\n */\n create: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n await this.files.createMeta(network, 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 return this.files.createMedia(network, init)\n },\n\n /**\n * Mocks the `file.createFolder()` method.\n */\n createFolder: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.folder()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.files(':oid'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.read()` method.\n */\n read: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.file(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.readMedia()` method.\n */\n readMedia: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\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 () => this.gen.wrapResource({ data: this.gen.faker.lorem.sentences() }),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.fileMedia(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.readBulk()` method.\n */\n readBulk: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.files.files(init?.size ?? 5), { cursor: false }),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.filesBatch(':oid'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.patch()` method.\n */\n patch: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.file(':oid', ':id'), init),\n methods: ['PATCH'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.patchMedia()` method.\n */\n patchMedia: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.patch.mediaPatchRevision()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.fileMedia(':oid', ':id'), init),\n methods: ['PATCH'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.delete()` method.\n */\n delete: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.file(':oid', ':id'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.deleteBulk()` method.\n */\n deleteBulk: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.files(':oid'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.patchUsers()` method.\n */\n patchUsers: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.filesAccess(':oid', ':id'), init),\n methods: ['PATCH'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.addUser()` method.\n */\n addUser: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n return this.files.patchUsers(network, init)\n },\n\n /**\n * Mocks the `file.removeUser()` method.\n */\n removeUser: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n return this.files.patchUsers(network, init)\n },\n\n /**\n * Mocks the `file.listUsers()` method.\n */\n listUsers: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.fileUsers(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n\n /**\n * Mocks the `file.breadcrumbs()` method.\n */\n breadcrumbs: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.files.fileBreadcrumbs(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.fileBreadcrumbs(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n }\n\n /**\n * Shared API mocks.\n */\n shared = {\n list: async (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.files.files(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.shared(':oid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n }\n\n /**\n * Trash API mocks.\n */\n trash = {\n list: async (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.trash.trashEntries(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.trash(':oid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n delete: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.trashBatchDelete(':oid'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n restore: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.trashBatchRestore(':oid'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n empty: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.trashEmpty(':oid'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n }\n\n /**\n * Deployments API mocks.\n */\n deployments = {\n list: async (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const { query } = req\n const filter = this.decodeFilter(query.filter)\n const schema: Partial<DeploymentSchema> = {}\n if (isAtomicFilter(filter)) {\n if (filter.field === 'fid') {\n if (filter.operator === 'eq') {\n schema.apiId = filter.value as string\n }\n }\n if (['apiSlug', 'api_slug'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.apiSlug = filter.value as string\n }\n }\n if (['orgId', 'organization'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.orgId = filter.value as string\n }\n }\n if (['modelVersion', 'model_version'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.modelVersion = filter.value as string\n }\n }\n if (filter.field === 'version') {\n if (filter.operator === 'eq') {\n schema.version = filter.value as string\n }\n }\n if (filter.field === 'env') {\n if (filter.operator === 'eq') {\n schema.env = filter.value as DeploymentEnvironment\n }\n }\n }\n const limit = this.readQueryLimit(req, init)\n const data = this.gen.deployments.deployments(limit, schema)\n const { order = 'asc', sort } = req.query\n if (sort) {\n data.sort((a, b) => {\n const aValue = a[sort as keyof DeploymentSchema] ?? 0\n const bValue = b[sort as keyof DeploymentSchema] ?? 0\n if (order === 'asc') {\n return aValue < bValue ? -1 : aValue > bValue ? 1 : 0\n } else {\n return aValue > bValue ? -1 : aValue < bValue ? 1 : 0\n }\n })\n }\n return this.wrapList(data, init)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deployments(':oid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n create: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 202,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const raw = req.body as string\n const payload = JSON.parse(raw) as CreateDeploymentPayload\n const obj = this.gen.deployments.deployment({\n orgId: req.params?.oid,\n apiId: payload.fid,\n modelVersion: payload.modelVersion,\n env: payload.env,\n ...(payload.env === DeploymentEnvironment.PROD ? { version: payload.version } : {}),\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deployments(':oid'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n read: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const obj = this.gen.deployments.deployment({\n key: req.params?.id,\n orgId: req.params?.oid,\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deployment(':oid', ':id'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n deactivate: async (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const obj = this.gen.deployments.deployment({\n key: req.params?.id,\n orgId: req.params?.oid,\n status: DeploymentStatus.Inactive,\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deployment(':oid', ':id'), init),\n methods: ['DELETE'],\n },\n respond,\n times: init?.times,\n })\n },\n apis: {\n getLatestPerEnvironment: async (\n network: Network,\n init?: MockResourceInit & { prod?: boolean; staging?: boolean; dev?: boolean }\n ): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: DeploymentLatestEnvironments = {}\n const hasProd = init?.prod ?? this.gen.faker.datatype.boolean()\n const hasStaging = init?.staging ?? this.gen.faker.datatype.boolean()\n const hasDev = init?.dev ?? this.gen.faker.datatype.boolean()\n\n if (hasProd) {\n obj.prod = this.gen.deployments.deployment()\n }\n if (hasStaging) {\n obj.staging = this.gen.deployments.deployment()\n }\n if (hasDev) {\n obj.dev = this.gen.deployments.deployment()\n }\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deploymentsApisByEnvLatest(':oid', ':fileId'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n list: async (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.deployments.deploymentApis(init?.size ?? 5), { cursor: false }),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.deploymentsApis(':oid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n },\n }\n\n /**\n * Trash Data Catalog mocks.\n */\n dataCatalog = {\n list: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.dataCatalog.dataCatalogsWithVersion(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalog(), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n\n listVersions: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.wrapList(this.gen.dataCatalog.versionInfos(init?.size ?? 5), init),\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogEntryVersions(':id'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n\n publish: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalog(), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n\n read: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params?.id })\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogEntry(':id'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n\n deprecate: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogDeprecate(':id'), init),\n methods: ['PUT'],\n },\n respond,\n times: init?.times,\n })\n },\n\n unpublish: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogUnpublish(':id'), init),\n methods: ['PUT'],\n },\n respond,\n times: init?.times,\n })\n },\n\n publishVersion: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogEntryVersions(':id'), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n\n readVersion: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params?.vid, catalogKey: req.params?.id })\n return this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogVersion(':id', ':vid'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n\n listDependencies: (network: Network, init?: MockListInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\n const requirements = JSON.parse(req.body as string) as { items: ForeignDomainDependency[] }\n const data: 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 data.push(domain.toJSON())\n }\n return this.wrapList(data, { cursor: false })\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogDependencies(), init),\n methods: ['POST'],\n },\n respond,\n times: init?.times,\n })\n },\n\n deprecateVersion: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogVersionDeprecate(':id', ':vid'), init),\n methods: ['PUT'],\n },\n respond,\n times: init?.times,\n })\n },\n\n unpublishVersion: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: CapturedRequest) => {\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 this.gen.wrapResource(result)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogVersionUnpublish(':id', ':vid'), init),\n methods: ['PUT'],\n },\n respond,\n times: init?.times,\n })\n },\n\n checkPublicationStatus: (network: Network, init?: MockResourceInit): Promise<NetworkInterceptor> => {\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 this.gen.wrapResource(obj)\n },\n init\n )\n return network.mock({\n match: {\n uri: this.buildRoute(RouteBuilder.dataCatalogStatus(':id'), init),\n methods: ['GET'],\n },\n respond,\n times: init?.times,\n })\n },\n }\n\n //\n // Helpers\n //\n\n /**\n * Decodes the filter parameter from the query string.\n *\n * @param filter The filter parameter from the query string.\n * @returns The decoded filter or undefined if the filter is invalid.\n */\n decodeFilter(filter?: string | string[]): QueryFilter | undefined {\n if (typeof filter !== 'string' || !filter) {\n return undefined\n }\n try {\n return JSON.parse(atob(filter)) as QueryFilter\n } catch {\n return undefined\n }\n }\n\n readQueryLimit(req: CapturedRequest, init?: MockListInit): number {\n let limit = init?.size ?? 5\n if (req.query?.limit) {\n const l = Array.isArray(req.query.limit) ? req.query.limit[0] : req.query.limit\n const tmp = parseInt(l, 10)\n if (Number.isInteger(tmp) && tmp > 0) {\n limit = tmp\n }\n }\n return limit\n }\n}\n"]}
|