Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/folderMetadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,9 @@ See the endpoint docs at
```ts
await client.folderMetadata.createFolderMetadataById(
folder.id,
'global' as CreateFolderMetadataByIdScopeArg,
'properties',
{ ['abc']: 'xyz' }
'enterprise' as CreateFolderMetadataByIdScopeArg,
templateKey,
data
);
```

Expand Down
46 changes: 41 additions & 5 deletions docs/metadataCascadePolicies.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,13 @@ This operation is performed by calling function `getMetadataCascadePolicies`.
See the endpoint docs at
[API Reference](https://developer.box.com/reference/get-metadata-cascade-policies/).

_Currently we don't have an example for calling `getMetadataCascadePolicies` in integration tests_
<!-- sample get_metadata_cascade_policies -->

```ts
await client.metadataCascadePolicies.getMetadataCascadePolicies({
folderId: folder.id,
} satisfies GetMetadataCascadePoliciesQueryParamsArg);
```

### Arguments

Expand Down Expand Up @@ -48,7 +54,15 @@ This operation is performed by calling function `createMetadataCascadePolicy`.
See the endpoint docs at
[API Reference](https://developer.box.com/reference/post-metadata-cascade-policies/).

_Currently we don't have an example for calling `createMetadataCascadePolicy` in integration tests_
<!-- sample post_metadata_cascade_policies -->

```ts
await client.metadataCascadePolicies.createMetadataCascadePolicy({
folderId: folder.id,
scope: 'enterprise' as CreateMetadataCascadePolicyRequestBodyArgScopeField,
templateKey: templateKey,
} satisfies CreateMetadataCascadePolicyRequestBodyArg);
```

### Arguments

Expand All @@ -74,7 +88,13 @@ This operation is performed by calling function `getMetadataCascadePolicyById`.
See the endpoint docs at
[API Reference](https://developer.box.com/reference/get-metadata-cascade-policies-id/).

_Currently we don't have an example for calling `getMetadataCascadePolicyById` in integration tests_
<!-- sample get_metadata_cascade_policies_id -->

```ts
await client.metadataCascadePolicies.getMetadataCascadePolicyById(
cascadePolicyId
);
```

### Arguments

Expand All @@ -100,7 +120,13 @@ This operation is performed by calling function `deleteMetadataCascadePolicyById
See the endpoint docs at
[API Reference](https://developer.box.com/reference/delete-metadata-cascade-policies-id/).

_Currently we don't have an example for calling `deleteMetadataCascadePolicyById` in integration tests_
<!-- sample delete_metadata_cascade_policies_id -->

```ts
await client.metadataCascadePolicies.deleteMetadataCascadePolicyById(
cascadePolicyId
);
```

### Arguments

Expand Down Expand Up @@ -130,7 +156,17 @@ This operation is performed by calling function `createMetadataCascadePolicyAppl
See the endpoint docs at
[API Reference](https://developer.box.com/reference/post-metadata-cascade-policies-id-apply/).

_Currently we don't have an example for calling `createMetadataCascadePolicyApply` in integration tests_
<!-- sample post_metadata_cascade_policies_id_apply -->

```ts
await client.metadataCascadePolicies.createMetadataCascadePolicyApply(
cascadePolicyId,
{
conflictResolution:
'overwrite' as CreateMetadataCascadePolicyApplyRequestBodyArgConflictResolutionField,
} satisfies CreateMetadataCascadePolicyApplyRequestBodyArg
);
```

### Arguments

Expand Down
52 changes: 47 additions & 5 deletions docs/shieldInformationBarrierSegments.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,13 @@ This operation is performed by calling function `getShieldInformationBarrierSegm
See the endpoint docs at
[API Reference](https://developer.box.com/reference/get-shield-information-barrier-segments-id/).

_Currently we don't have an example for calling `getShieldInformationBarrierSegmentById` in integration tests_
<!-- sample get_shield_information_barrier_segments_id -->

```ts
await client.shieldInformationBarrierSegments.getShieldInformationBarrierSegmentById(
segmentId
);
```

### Arguments

Expand All @@ -41,7 +47,16 @@ This operation is performed by calling function `updateShieldInformationBarrierS
See the endpoint docs at
[API Reference](https://developer.box.com/reference/put-shield-information-barrier-segments-id/).

_Currently we don't have an example for calling `updateShieldInformationBarrierSegmentById` in integration tests_
<!-- sample put_shield_information_barrier_segments_id -->

```ts
await client.shieldInformationBarrierSegments.updateShieldInformationBarrierSegmentById(
segmentId,
{
description: updatedSegmentDescription,
} satisfies UpdateShieldInformationBarrierSegmentByIdRequestBodyArg
);
```

### Arguments

Expand Down Expand Up @@ -70,7 +85,13 @@ This operation is performed by calling function `deleteShieldInformationBarrierS
See the endpoint docs at
[API Reference](https://developer.box.com/reference/delete-shield-information-barrier-segments-id/).

_Currently we don't have an example for calling `deleteShieldInformationBarrierSegmentById` in integration tests_
<!-- sample delete_shield_information_barrier_segments_id -->

```ts
await client.shieldInformationBarrierSegments.deleteShieldInformationBarrierSegmentById(
segmentId
);
```

### Arguments

Expand All @@ -97,7 +118,15 @@ This operation is performed by calling function `getShieldInformationBarrierSegm
See the endpoint docs at
[API Reference](https://developer.box.com/reference/get-shield-information-barrier-segments/).

_Currently we don't have an example for calling `getShieldInformationBarrierSegments` in integration tests_
<!-- sample get_shield_information_barrier_segments -->

```ts
await client.shieldInformationBarrierSegments.getShieldInformationBarrierSegments(
{
shieldInformationBarrierId: barrierId,
} satisfies GetShieldInformationBarrierSegmentsQueryParamsArg
);
```

### Arguments

Expand All @@ -123,7 +152,20 @@ This operation is performed by calling function `createShieldInformationBarrierS
See the endpoint docs at
[API Reference](https://developer.box.com/reference/post-shield-information-barrier-segments/).

_Currently we don't have an example for calling `createShieldInformationBarrierSegment` in integration tests_
<!-- sample post_shield_information_barrier_segments -->

```ts
await client.shieldInformationBarrierSegments.createShieldInformationBarrierSegment(
{
shieldInformationBarrier: {
id: barrierId,
type: 'shield_information_barrier' as ShieldInformationBarrierBaseTypeField,
} satisfies ShieldInformationBarrierBase,
name: segmentName,
description: segmentDescription,
} satisfies CreateShieldInformationBarrierSegmentRequestBodyArg
);
```

### Arguments

Expand Down
34 changes: 34 additions & 0 deletions src/test/commons.generated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,16 @@ import { serializeUploadFileRequestBodyArgAttributesField } from '../managers/up
import { deserializeUploadFileRequestBodyArgAttributesField } from '../managers/uploads.generated.js';
import { serializeUploadFileRequestBodyArgAttributesFieldParentField } from '../managers/uploads.generated.js';
import { deserializeUploadFileRequestBodyArgAttributesFieldParentField } from '../managers/uploads.generated.js';
import { serializeShieldInformationBarrier } from '../schemas.generated.js';
import { deserializeShieldInformationBarrier } from '../schemas.generated.js';
import { serializeShieldInformationBarriers } from '../schemas.generated.js';
import { deserializeShieldInformationBarriers } from '../schemas.generated.js';
import { serializeCreateShieldInformationBarrierRequestBodyArg } from '../managers/shieldInformationBarriers.generated.js';
import { deserializeCreateShieldInformationBarrierRequestBodyArg } from '../managers/shieldInformationBarriers.generated.js';
import { serializeEnterpriseBase } from '../schemas.generated.js';
import { deserializeEnterpriseBase } from '../schemas.generated.js';
import { serializeEnterpriseBaseTypeField } from '../schemas.generated.js';
import { deserializeEnterpriseBaseTypeField } from '../schemas.generated.js';
import { FolderFull } from '../schemas.generated.js';
import { CreateFolderRequestBodyArg } from '../managers/folders.generated.js';
import { CreateFolderRequestBodyArgParentField } from '../managers/folders.generated.js';
Expand All @@ -21,6 +31,11 @@ import { Files } from '../schemas.generated.js';
import { UploadFileRequestBodyArg } from '../managers/uploads.generated.js';
import { UploadFileRequestBodyArgAttributesField } from '../managers/uploads.generated.js';
import { UploadFileRequestBodyArgAttributesFieldParentField } from '../managers/uploads.generated.js';
import { ShieldInformationBarrier } from '../schemas.generated.js';
import { ShieldInformationBarriers } from '../schemas.generated.js';
import { CreateShieldInformationBarrierRequestBodyArg } from '../managers/shieldInformationBarriers.generated.js';
import { EnterpriseBase } from '../schemas.generated.js';
import { EnterpriseBaseTypeField } from '../schemas.generated.js';
import { decodeBase64 } from '../utils.js';
import { getEnvVar } from '../utils.js';
import { getUuid } from '../utils.js';
Expand Down Expand Up @@ -76,3 +91,22 @@ export async function uploadNewFile(): Promise<FileFull> {
} satisfies UploadFileRequestBodyArg);
return uploadedFiles.entries![0];
}
export async function getOrCreateShieldInformationBarrier(
client: BoxClient,
enterpriseId: string
): Promise<ShieldInformationBarrier> {
const barriers: ShieldInformationBarriers =
await client.shieldInformationBarriers.getShieldInformationBarriers();
const numberOfBarriers: number = barriers.entries!.length;
if (numberOfBarriers == 0) {
return await client.shieldInformationBarriers.createShieldInformationBarrier(
{
enterprise: {
id: enterpriseId,
type: 'enterprise' as EnterpriseBaseTypeField,
} satisfies EnterpriseBase,
} satisfies CreateShieldInformationBarrierRequestBodyArg
);
}
return barriers.entries![numberOfBarriers - 1];
}
158 changes: 158 additions & 0 deletions src/test/metadataCascadePolicies.generated.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
import { serializeCreateMetadataTemplateRequestBodyArg } from '../managers/metadataTemplates.generated.js';
import { deserializeCreateMetadataTemplateRequestBodyArg } from '../managers/metadataTemplates.generated.js';
import { serializeCreateMetadataTemplateRequestBodyArgFieldsField } from '../managers/metadataTemplates.generated.js';
import { deserializeCreateMetadataTemplateRequestBodyArgFieldsField } from '../managers/metadataTemplates.generated.js';
import { serializeCreateMetadataTemplateRequestBodyArgFieldsFieldTypeField } from '../managers/metadataTemplates.generated.js';
import { deserializeCreateMetadataTemplateRequestBodyArgFieldsFieldTypeField } from '../managers/metadataTemplates.generated.js';
import { serializeFolderFull } from '../schemas.generated.js';
import { deserializeFolderFull } from '../schemas.generated.js';
import { serializeMetadataCascadePolicy } from '../schemas.generated.js';
import { deserializeMetadataCascadePolicy } from '../schemas.generated.js';
import { serializeCreateMetadataCascadePolicyRequestBodyArg } from '../managers/metadataCascadePolicies.generated.js';
import { deserializeCreateMetadataCascadePolicyRequestBodyArg } from '../managers/metadataCascadePolicies.generated.js';
import { serializeCreateMetadataCascadePolicyRequestBodyArgScopeField } from '../managers/metadataCascadePolicies.generated.js';
import { deserializeCreateMetadataCascadePolicyRequestBodyArgScopeField } from '../managers/metadataCascadePolicies.generated.js';
import { serializeMetadataCascadePolicies } from '../schemas.generated.js';
import { deserializeMetadataCascadePolicies } from '../schemas.generated.js';
import { serializeCreateMetadataCascadePolicyApplyRequestBodyArg } from '../managers/metadataCascadePolicies.generated.js';
import { deserializeCreateMetadataCascadePolicyApplyRequestBodyArg } from '../managers/metadataCascadePolicies.generated.js';
import { serializeCreateMetadataCascadePolicyApplyRequestBodyArgConflictResolutionField } from '../managers/metadataCascadePolicies.generated.js';
import { deserializeCreateMetadataCascadePolicyApplyRequestBodyArgConflictResolutionField } from '../managers/metadataCascadePolicies.generated.js';
import { serializeCreateFolderMetadataByIdScopeArg } from '../managers/folderMetadata.generated.js';
import { deserializeCreateFolderMetadataByIdScopeArg } from '../managers/folderMetadata.generated.js';
import { BoxClient } from '../client.generated.js';
import { CreateMetadataTemplateRequestBodyArg } from '../managers/metadataTemplates.generated.js';
import { CreateMetadataTemplateRequestBodyArgFieldsField } from '../managers/metadataTemplates.generated.js';
import { CreateMetadataTemplateRequestBodyArgFieldsFieldTypeField } from '../managers/metadataTemplates.generated.js';
import { FolderFull } from '../schemas.generated.js';
import { MetadataCascadePolicy } from '../schemas.generated.js';
import { CreateMetadataCascadePolicyRequestBodyArg } from '../managers/metadataCascadePolicies.generated.js';
import { CreateMetadataCascadePolicyRequestBodyArgScopeField } from '../managers/metadataCascadePolicies.generated.js';
import { MetadataCascadePolicies } from '../schemas.generated.js';
import { GetMetadataCascadePoliciesQueryParamsArg } from '../managers/metadataCascadePolicies.generated.js';
import { CreateMetadataCascadePolicyApplyRequestBodyArg } from '../managers/metadataCascadePolicies.generated.js';
import { CreateMetadataCascadePolicyApplyRequestBodyArgConflictResolutionField } from '../managers/metadataCascadePolicies.generated.js';
import { CreateFolderMetadataByIdScopeArg } from '../managers/folderMetadata.generated.js';
import { getUuid } from '../utils.js';
import { getEnvVar } from '../utils.js';
import { toString } from '../utils.js';
import { getDefaultClient } from './commons.generated.js';
import { createNewFolder } from './commons.generated.js';
import { uploadNewFile } from './commons.generated.js';
import { sdToJson } from '../json.js';
import { SerializedData } from '../json.js';
import { sdIsEmpty } from '../json.js';
import { sdIsBoolean } from '../json.js';
import { sdIsNumber } from '../json.js';
import { sdIsString } from '../json.js';
import { sdIsList } from '../json.js';
import { sdIsMap } from '../json.js';
const client: BoxClient = getDefaultClient();
test('testMetadataCascadePolicies', async function testMetadataCascadePolicies(): Promise<any> {
const templateKey: string = ''.concat('key', getUuid()) as string;
await client.metadataTemplates.createMetadataTemplate({
scope: 'enterprise',
displayName: templateKey,
templateKey: templateKey,
fields: [
{
type: 'string' as CreateMetadataTemplateRequestBodyArgFieldsFieldTypeField,
key: 'testName',
displayName: 'testName',
} satisfies CreateMetadataTemplateRequestBodyArgFieldsField,
],
} satisfies CreateMetadataTemplateRequestBodyArg);
const folder: FolderFull = await createNewFolder();
const enterpriseId: string = getEnvVar('ENTERPRISE_ID');
const cascadePolicy: MetadataCascadePolicy =
await client.metadataCascadePolicies.createMetadataCascadePolicy({
folderId: folder.id,
scope:
'enterprise' as CreateMetadataCascadePolicyRequestBodyArgScopeField,
templateKey: templateKey,
} satisfies CreateMetadataCascadePolicyRequestBodyArg);
if (
!((toString(cascadePolicy.type) as string) == 'metadata_cascade_policy')
) {
throw 'Assertion failed';
}
if (
!(
(toString(cascadePolicy.ownerEnterprise!.type!) as string) == 'enterprise'
)
) {
throw 'Assertion failed';
}
if (
!((toString(cascadePolicy.ownerEnterprise!.id!) as string) == enterpriseId)
) {
throw 'Assertion failed';
}
if (!((toString(cascadePolicy.parent!.type!) as string) == 'folder')) {
throw 'Assertion failed';
}
if (!(cascadePolicy.parent!.id! == folder.id)) {
throw 'Assertion failed';
}
if (
!(
(toString(cascadePolicy.scope!) as string) ==
(''.concat('enterprise_', enterpriseId) as string)
)
) {
throw 'Assertion failed';
}
if (!(cascadePolicy.templateKey! == templateKey)) {
throw 'Assertion failed';
}
const cascadePolicyId: string = cascadePolicy.id;
const policyFromTheApi: MetadataCascadePolicy =
await client.metadataCascadePolicies.getMetadataCascadePolicyById(
cascadePolicyId
);
if (!(cascadePolicyId == policyFromTheApi.id)) {
throw 'Assertion failed';
}
const policies: MetadataCascadePolicies =
await client.metadataCascadePolicies.getMetadataCascadePolicies({
folderId: folder.id,
} satisfies GetMetadataCascadePoliciesQueryParamsArg);
if (!(policies.entries!.length == 1)) {
throw 'Assertion failed';
}
expect(async () => {
await client.metadataCascadePolicies.createMetadataCascadePolicyApply(
cascadePolicyId,
{
conflictResolution:
'overwrite' as CreateMetadataCascadePolicyApplyRequestBodyArgConflictResolutionField,
} satisfies CreateMetadataCascadePolicyApplyRequestBodyArg
);
}).rejects.toThrow();
const data: {
readonly [key: string]: string;
} = { ['testName']: 'xyz' };
await client.folderMetadata.createFolderMetadataById(
folder.id,
'enterprise' as CreateFolderMetadataByIdScopeArg,
templateKey,
data
);
await client.metadataCascadePolicies.createMetadataCascadePolicyApply(
cascadePolicyId,
{
conflictResolution:
'overwrite' as CreateMetadataCascadePolicyApplyRequestBodyArgConflictResolutionField,
} satisfies CreateMetadataCascadePolicyApplyRequestBodyArg
);
await client.metadataCascadePolicies.deleteMetadataCascadePolicyById(
cascadePolicyId
);
expect(async () => {
await client.metadataCascadePolicies.getMetadataCascadePolicyById(
cascadePolicyId
);
}).rejects.toThrow();
await client.folders.deleteFolderById(folder.id);
});
export {};
Loading