diff --git a/.codegen.json b/.codegen.json index 79e96835..c233b0f5 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "41c28e1", "specHash": "1617aaf", "version": "4.3.0" } +{ "engineHash": "06ab9c3", "specHash": "425a724", "version": "4.3.0" } diff --git a/tests/sdk-gen/integrationMappings.test.ts b/tests/sdk-gen/integrationMappings.test.ts deleted file mode 100644 index d770edad..00000000 --- a/tests/sdk-gen/integrationMappings.test.ts +++ /dev/null @@ -1,215 +0,0 @@ -import { serializeFolderFull } from '@/schemas/folderFull'; -import { deserializeFolderFull } from '@/schemas/folderFull'; -import { serializeCreateFolderRequestBody } from '@/managers/folders'; -import { deserializeCreateFolderRequestBody } from '@/managers/folders'; -import { serializeCreateFolderRequestBodyParentField } from '@/managers/folders'; -import { deserializeCreateFolderRequestBodyParentField } from '@/managers/folders'; -import { serializeCreateCollaborationRequestBody } from '@/managers/userCollaborations'; -import { deserializeCreateCollaborationRequestBody } from '@/managers/userCollaborations'; -import { serializeCreateCollaborationRequestBodyItemField } from '@/managers/userCollaborations'; -import { deserializeCreateCollaborationRequestBodyItemField } from '@/managers/userCollaborations'; -import { serializeCreateCollaborationRequestBodyItemTypeField } from '@/managers/userCollaborations'; -import { deserializeCreateCollaborationRequestBodyItemTypeField } from '@/managers/userCollaborations'; -import { serializeCreateCollaborationRequestBodyAccessibleByField } from '@/managers/userCollaborations'; -import { deserializeCreateCollaborationRequestBodyAccessibleByField } from '@/managers/userCollaborations'; -import { serializeCreateCollaborationRequestBodyAccessibleByTypeField } from '@/managers/userCollaborations'; -import { deserializeCreateCollaborationRequestBodyAccessibleByTypeField } from '@/managers/userCollaborations'; -import { serializeCreateCollaborationRequestBodyRoleField } from '@/managers/userCollaborations'; -import { deserializeCreateCollaborationRequestBodyRoleField } from '@/managers/userCollaborations'; -import { serializeIntegrationMappings } from '@/schemas/integrationMappings'; -import { deserializeIntegrationMappings } from '@/schemas/integrationMappings'; -import { serializeIntegrationMappingSlackCreateRequest } from '@/schemas/integrationMappingSlackCreateRequest'; -import { deserializeIntegrationMappingSlackCreateRequest } from '@/schemas/integrationMappingSlackCreateRequest'; -import { serializeIntegrationMappingPartnerItemSlack } from '@/schemas/integrationMappingPartnerItemSlack'; -import { deserializeIntegrationMappingPartnerItemSlack } from '@/schemas/integrationMappingPartnerItemSlack'; -import { serializeIntegrationMappingBoxItemSlack } from '@/schemas/integrationMappingBoxItemSlack'; -import { deserializeIntegrationMappingBoxItemSlack } from '@/schemas/integrationMappingBoxItemSlack'; -import { serializeIntegrationMapping } from '@/schemas/integrationMapping'; -import { deserializeIntegrationMapping } from '@/schemas/integrationMapping'; -import { serializeUpdateSlackIntegrationMappingByIdRequestBody } from '@/managers/integrationMappings'; -import { deserializeUpdateSlackIntegrationMappingByIdRequestBody } from '@/managers/integrationMappings'; -import { serializeIntegrationMappingTeamsCreateRequest } from '@/schemas/integrationMappingTeamsCreateRequest'; -import { deserializeIntegrationMappingTeamsCreateRequest } from '@/schemas/integrationMappingTeamsCreateRequest'; -import { serializeIntegrationMappingPartnerItemTeamsCreateRequest } from '@/schemas/integrationMappingPartnerItemTeamsCreateRequest'; -import { deserializeIntegrationMappingPartnerItemTeamsCreateRequest } from '@/schemas/integrationMappingPartnerItemTeamsCreateRequest'; -import { serializeIntegrationMappingPartnerItemTeamsCreateRequestTypeField } from '@/schemas/integrationMappingPartnerItemTeamsCreateRequest'; -import { deserializeIntegrationMappingPartnerItemTeamsCreateRequestTypeField } from '@/schemas/integrationMappingPartnerItemTeamsCreateRequest'; -import { serializeFolderReference } from '@/schemas/folderReference'; -import { deserializeFolderReference } from '@/schemas/folderReference'; -import { serializeUpdateTeamsIntegrationMappingByIdRequestBody } from '@/managers/integrationMappings'; -import { deserializeUpdateTeamsIntegrationMappingByIdRequestBody } from '@/managers/integrationMappings'; -import { UpdateSlackIntegrationMappingByIdOptionalsInput } from '@/managers/integrationMappings'; -import { UpdateTeamsIntegrationMappingByIdOptionalsInput } from '@/managers/integrationMappings'; -import { UpdateSlackIntegrationMappingByIdOptionals } from '@/managers/integrationMappings'; -import { UpdateTeamsIntegrationMappingByIdOptionals } from '@/managers/integrationMappings'; -import { BoxClient } from '@/client'; -import { FolderFull } from '@/schemas/folderFull'; -import { CreateFolderRequestBody } from '@/managers/folders'; -import { CreateFolderRequestBodyParentField } from '@/managers/folders'; -import { CreateCollaborationRequestBody } from '@/managers/userCollaborations'; -import { CreateCollaborationRequestBodyItemField } from '@/managers/userCollaborations'; -import { CreateCollaborationRequestBodyItemTypeField } from '@/managers/userCollaborations'; -import { CreateCollaborationRequestBodyAccessibleByField } from '@/managers/userCollaborations'; -import { CreateCollaborationRequestBodyAccessibleByTypeField } from '@/managers/userCollaborations'; -import { CreateCollaborationRequestBodyRoleField } from '@/managers/userCollaborations'; -import { IntegrationMappings } from '@/schemas/integrationMappings'; -import { IntegrationMappingSlackCreateRequest } from '@/schemas/integrationMappingSlackCreateRequest'; -import { IntegrationMappingPartnerItemSlack } from '@/schemas/integrationMappingPartnerItemSlack'; -import { IntegrationMappingBoxItemSlack } from '@/schemas/integrationMappingBoxItemSlack'; -import { IntegrationMapping } from '@/schemas/integrationMapping'; -import { UpdateSlackIntegrationMappingByIdRequestBody } from '@/managers/integrationMappings'; -import { IntegrationMappingTeamsCreateRequest } from '@/schemas/integrationMappingTeamsCreateRequest'; -import { IntegrationMappingPartnerItemTeamsCreateRequest } from '@/schemas/integrationMappingPartnerItemTeamsCreateRequest'; -import { IntegrationMappingPartnerItemTeamsCreateRequestTypeField } from '@/schemas/integrationMappingPartnerItemTeamsCreateRequest'; -import { FolderReference } from '@/schemas/folderReference'; -import { UpdateTeamsIntegrationMappingByIdRequestBody } from '@/managers/integrationMappings'; -import { generateByteStream } from '@/internal/utils'; -import { getUuid } from '@/internal/utils'; -import { getEnvVar } from '@/internal/utils'; -import { toString } from '@/internal/utils'; -import { getDefaultClient } from './commons'; -import { getDefaultClientWithUserSubject } from './commons'; -import { sdToJson } from '@/serialization/json'; -import { SerializedData } from '@/serialization/json'; -import { sdIsEmpty } from '@/serialization/json'; -import { sdIsBoolean } from '@/serialization/json'; -import { sdIsNumber } from '@/serialization/json'; -import { sdIsString } from '@/serialization/json'; -import { sdIsList } from '@/serialization/json'; -import { sdIsMap } from '@/serialization/json'; -export const client: BoxClient = getDefaultClient(); -test('testSlackIntegrationMappings', async function testSlackIntegrationMappings(): Promise { - const userId: string = getEnvVar('USER_ID'); - const slackAutomationUserId: string = getEnvVar('SLACK_AUTOMATION_USER_ID'); - const slackOrgId: string = getEnvVar('SLACK_ORG_ID'); - const slackPartnerItemId: string = getEnvVar('SLACK_PARTNER_ITEM_ID'); - const userClient: BoxClient = getDefaultClientWithUserSubject(userId); - const folder: FolderFull = await userClient.folders.createFolder({ - name: getUuid(), - parent: { id: '0' } satisfies CreateFolderRequestBodyParentField, - } satisfies CreateFolderRequestBody); - await userClient.userCollaborations.createCollaboration({ - item: { - type: 'folder' as CreateCollaborationRequestBodyItemTypeField, - id: folder.id, - } satisfies CreateCollaborationRequestBodyItemField, - accessibleBy: { - type: 'user' as CreateCollaborationRequestBodyAccessibleByTypeField, - id: slackAutomationUserId, - } satisfies CreateCollaborationRequestBodyAccessibleByField, - role: 'co-owner' as CreateCollaborationRequestBodyRoleField, - } satisfies CreateCollaborationRequestBody); - const slackIntegrations: IntegrationMappings = - await userClient.integrationMappings.getSlackIntegrationMapping(); - if (slackIntegrations.entries!.length == 0) { - await userClient.integrationMappings.createSlackIntegrationMapping({ - partnerItem: new IntegrationMappingPartnerItemSlack({ - id: slackPartnerItemId, - slackOrgId: slackOrgId, - }), - boxItem: new IntegrationMappingBoxItemSlack({ id: folder.id }), - } satisfies IntegrationMappingSlackCreateRequest); - } - const slackMappings: IntegrationMappings = - await userClient.integrationMappings.getSlackIntegrationMapping(); - if (!(slackMappings.entries!.length >= 1)) { - throw new Error('Assertion failed'); - } - const slackIntegrationMapping: IntegrationMapping = slackMappings.entries![0]; - if ( - !((toString(slackIntegrationMapping.integrationType) as string) == 'slack') - ) { - throw new Error('Assertion failed'); - } - if ( - !( - (toString(slackIntegrationMapping.type) as string) == - 'integration_mapping' - ) - ) { - throw new Error('Assertion failed'); - } - if ( - !((toString(slackIntegrationMapping.boxItem.type) as string) == 'folder') - ) { - throw new Error('Assertion failed'); - } - if (!(slackIntegrationMapping.partnerItem.id == slackPartnerItemId)) { - throw new Error('Assertion failed'); - } - if (!(slackIntegrationMapping.partnerItem.slackWorkspaceId == slackOrgId)) { - throw new Error('Assertion failed'); - } - if ( - !( - (toString(slackIntegrationMapping.partnerItem.type) as string) == - 'channel' - ) - ) { - throw new Error('Assertion failed'); - } - const updatedSlackMapping: IntegrationMapping = - await userClient.integrationMappings.updateSlackIntegrationMappingById( - slackIntegrationMapping.id, - { - requestBody: { - boxItem: new IntegrationMappingBoxItemSlack({ id: folder.id }), - } satisfies UpdateSlackIntegrationMappingByIdRequestBody, - } satisfies UpdateSlackIntegrationMappingByIdOptionalsInput - ); - if (!((toString(updatedSlackMapping.boxItem.type) as string) == 'folder')) { - throw new Error('Assertion failed'); - } - if (!(updatedSlackMapping.boxItem.id == folder.id)) { - throw new Error('Assertion failed'); - } - if (slackMappings.entries!.length > 2) { - await userClient.integrationMappings.deleteSlackIntegrationMappingById( - slackIntegrationMapping.id - ); - } - await userClient.folders.deleteFolderById(folder.id); -}); -test('testTeamsIntegrationMappings', async function testTeamsIntegrationMappings(): Promise { - const folder: FolderFull = await client.folders.createFolder({ - name: getUuid(), - parent: { id: '0' } satisfies CreateFolderRequestBodyParentField, - } satisfies CreateFolderRequestBody); - const tenantId: string = '1'; - const teamId: string = '2'; - const partnerItemId: string = '3'; - const userId: string = getEnvVar('USER_ID'); - const userClient: BoxClient = getDefaultClientWithUserSubject(userId); - await expect(async () => { - await userClient.integrationMappings.createTeamsIntegrationMapping({ - partnerItem: { - type: 'channel' as IntegrationMappingPartnerItemTeamsCreateRequestTypeField, - id: partnerItemId, - tenantId: tenantId, - teamId: teamId, - } satisfies IntegrationMappingPartnerItemTeamsCreateRequest, - boxItem: new FolderReference({ id: folder.id }), - } satisfies IntegrationMappingTeamsCreateRequest); - }).rejects.toThrow(); - await expect(async () => { - await userClient.integrationMappings.getTeamsIntegrationMapping(); - }).rejects.toThrow(); - const integrationMappingId: string = '123456'; - await expect(async () => { - await userClient.integrationMappings.updateTeamsIntegrationMappingById( - integrationMappingId, - { - requestBody: { - boxItem: new FolderReference({ id: '1234567' }), - } satisfies UpdateTeamsIntegrationMappingByIdRequestBody, - } satisfies UpdateTeamsIntegrationMappingByIdOptionalsInput - ); - }).rejects.toThrow(); - await expect(async () => { - await userClient.integrationMappings.deleteTeamsIntegrationMappingById( - integrationMappingId - ); - }).rejects.toThrow(); - await client.folders.deleteFolderById(folder.id); -}); -export {};