diff --git a/docs/folder_metadata.md b/docs/folder_metadata.md index 949cc4b..9f51edd 100644 --- a/docs/folder_metadata.md +++ b/docs/folder_metadata.md @@ -93,7 +93,7 @@ See the endpoint docs at ```python -client.folder_metadata.create_folder_metadata_by_id(folder_id=folder.id, scope=CreateFolderMetadataByIdScopeArg.GLOBAL.value, template_key='properties', request_body={'abc': 'xyz'}) +client.folder_metadata.create_folder_metadata_by_id(folder_id=folder.id, scope=CreateFolderMetadataByIdScopeArg.ENTERPRISE.value, template_key=template_key, request_body=data) ``` ### Arguments diff --git a/docs/metadata_cascade_policies.md b/docs/metadata_cascade_policies.md index 0740bdc..cc42593 100644 --- a/docs/metadata_cascade_policies.md +++ b/docs/metadata_cascade_policies.md @@ -17,7 +17,11 @@ This operation is performed by calling function `get_metadata_cascade_policies`. 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 `get_metadata_cascade_policies` in integration tests_ + + +```python +client.metadata_cascade_policies.get_metadata_cascade_policies(folder_id=folder.id) +``` ### Arguments @@ -52,7 +56,11 @@ This operation is performed by calling function `create_metadata_cascade_policy` 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 `create_metadata_cascade_policy` in integration tests_ + + +```python +client.metadata_cascade_policies.create_metadata_cascade_policy(folder_id=folder.id, scope=CreateMetadataCascadePolicyScopeArg.ENTERPRISE.value, template_key=template_key) +``` ### Arguments @@ -80,7 +88,11 @@ This operation is performed by calling function `get_metadata_cascade_policy_by_ 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 `get_metadata_cascade_policy_by_id` in integration tests_ + + +```python +client.metadata_cascade_policies.get_metadata_cascade_policy_by_id(metadata_cascade_policy_id=cascade_policy_id) +``` ### Arguments @@ -104,7 +116,11 @@ This operation is performed by calling function `delete_metadata_cascade_policy_ 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 `delete_metadata_cascade_policy_by_id` in integration tests_ + + +```python +client.metadata_cascade_policies.delete_metadata_cascade_policy_by_id(metadata_cascade_policy_id=cascade_policy_id) +``` ### Arguments @@ -132,7 +148,11 @@ This operation is performed by calling function `create_metadata_cascade_policy_ 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 `create_metadata_cascade_policy_apply` in integration tests_ + + +```python +client.metadata_cascade_policies.create_metadata_cascade_policy_apply(metadata_cascade_policy_id=cascade_policy_id, conflict_resolution=CreateMetadataCascadePolicyApplyConflictResolutionArg.OVERWRITE.value) +``` ### Arguments diff --git a/docs/shield_information_barrier_segments.md b/docs/shield_information_barrier_segments.md index 9b984ef..0a9324a 100644 --- a/docs/shield_information_barrier_segments.md +++ b/docs/shield_information_barrier_segments.md @@ -15,7 +15,11 @@ This operation is performed by calling function `get_shield_information_barrier_ 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 `get_shield_information_barrier_segment_by_id` in integration tests_ + + +```python +client.shield_information_barrier_segments.get_shield_information_barrier_segment_by_id(shield_information_barrier_segment_id=segment_id) +``` ### Arguments @@ -39,7 +43,11 @@ This operation is performed by calling function `update_shield_information_barri 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 `update_shield_information_barrier_segment_by_id` in integration tests_ + + +```python +client.shield_information_barrier_segments.update_shield_information_barrier_segment_by_id(shield_information_barrier_segment_id=segment_id, description=updated_segment_description) +``` ### Arguments @@ -68,7 +76,11 @@ This operation is performed by calling function `delete_shield_information_barri 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 `delete_shield_information_barrier_segment_by_id` in integration tests_ + + +```python +client.shield_information_barrier_segments.delete_shield_information_barrier_segment_by_id(shield_information_barrier_segment_id=segment_id) +``` ### Arguments @@ -93,7 +105,11 @@ This operation is performed by calling function `get_shield_information_barrier_ 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 `get_shield_information_barrier_segments` in integration tests_ + + +```python +client.shield_information_barrier_segments.get_shield_information_barrier_segments(shield_information_barrier_id=barrier_id) +``` ### Arguments @@ -121,7 +137,11 @@ This operation is performed by calling function `create_shield_information_barri 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 `create_shield_information_barrier_segment` in integration tests_ + + +```python +client.shield_information_barrier_segments.create_shield_information_barrier_segment(shield_information_barrier=ShieldInformationBarrierBase(id=barrier_id, type=ShieldInformationBarrierBaseTypeField.SHIELD_INFORMATION_BARRIER.value), name=segment_name, description=segment_description) +``` ### Arguments diff --git a/test/commons.py b/test/commons.py index af0611f..f6bce8d 100644 --- a/test/commons.py +++ b/test/commons.py @@ -12,6 +12,14 @@ from box_sdk_gen.managers.uploads import UploadFileAttributesArgParentField +from box_sdk_gen.schemas import ShieldInformationBarrier + +from box_sdk_gen.schemas import ShieldInformationBarriers + +from box_sdk_gen.schemas import EnterpriseBase + +from box_sdk_gen.schemas import EnterpriseBaseTypeField + from box_sdk_gen.utils import decode_base_64 from box_sdk_gen.utils import get_env_var @@ -65,3 +73,19 @@ def upload_new_file() -> FileFull: file=file_content_stream, ) return uploaded_files.entries[0] + + +def get_or_create_shield_information_barrier( + client: BoxClient, enterprise_id: str +) -> ShieldInformationBarrier: + barriers: ShieldInformationBarriers = ( + client.shield_information_barriers.get_shield_information_barriers() + ) + number_of_barriers: int = len(barriers.entries) + if number_of_barriers == 0: + return client.shield_information_barriers.create_shield_information_barrier( + enterprise=EnterpriseBase( + id=enterprise_id, type=EnterpriseBaseTypeField.ENTERPRISE.value + ) + ) + return barriers.entries[number_of_barriers - 1] diff --git a/test/metadata_cascade_policies.py b/test/metadata_cascade_policies.py new file mode 100644 index 0000000..6d64896 --- /dev/null +++ b/test/metadata_cascade_policies.py @@ -0,0 +1,112 @@ +from box_sdk_gen.utils import to_string + +import pytest + +from typing import Dict + +from box_sdk_gen.client import BoxClient + +from box_sdk_gen.managers.metadata_templates import CreateMetadataTemplateFieldsArg + +from box_sdk_gen.managers.metadata_templates import ( + CreateMetadataTemplateFieldsArgTypeField, +) + +from box_sdk_gen.schemas import FolderFull + +from box_sdk_gen.schemas import MetadataCascadePolicy + +from box_sdk_gen.managers.metadata_cascade_policies import ( + CreateMetadataCascadePolicyScopeArg, +) + +from box_sdk_gen.schemas import MetadataCascadePolicies + +from box_sdk_gen.managers.metadata_cascade_policies import ( + CreateMetadataCascadePolicyApplyConflictResolutionArg, +) + +from box_sdk_gen.managers.folder_metadata import CreateFolderMetadataByIdScopeArg + +from box_sdk_gen.utils import get_uuid + +from box_sdk_gen.utils import get_env_var + +from box_sdk_gen.utils import to_string + +from test.commons import get_default_client + +from test.commons import create_new_folder + +from test.commons import upload_new_file + +client: BoxClient = get_default_client() + + +def testMetadataCascadePolicies(): + template_key: str = ''.join(['key', get_uuid()]) + client.metadata_templates.create_metadata_template( + scope='enterprise', + template_key=template_key, + display_name=template_key, + fields=[ + CreateMetadataTemplateFieldsArg( + type=CreateMetadataTemplateFieldsArgTypeField.STRING.value, + key='testName', + display_name='testName', + ) + ], + ) + folder: FolderFull = create_new_folder() + enterprise_id: str = get_env_var('ENTERPRISE_ID') + cascade_policy: MetadataCascadePolicy = ( + client.metadata_cascade_policies.create_metadata_cascade_policy( + folder_id=folder.id, + scope=CreateMetadataCascadePolicyScopeArg.ENTERPRISE.value, + template_key=template_key, + ) + ) + assert to_string(cascade_policy.type) == 'metadata_cascade_policy' + assert to_string(cascade_policy.owner_enterprise.type) == 'enterprise' + assert to_string(cascade_policy.owner_enterprise.id) == enterprise_id + assert to_string(cascade_policy.parent.type) == 'folder' + assert cascade_policy.parent.id == folder.id + assert to_string(cascade_policy.scope) == ''.join(['enterprise_', enterprise_id]) + assert cascade_policy.template_key == template_key + cascade_policy_id: str = cascade_policy.id + policy_from_the_api: MetadataCascadePolicy = ( + client.metadata_cascade_policies.get_metadata_cascade_policy_by_id( + metadata_cascade_policy_id=cascade_policy_id + ) + ) + assert cascade_policy_id == policy_from_the_api.id + policies: MetadataCascadePolicies = ( + client.metadata_cascade_policies.get_metadata_cascade_policies( + folder_id=folder.id + ) + ) + assert len(policies.entries) == 1 + with pytest.raises(Exception): + client.metadata_cascade_policies.create_metadata_cascade_policy_apply( + metadata_cascade_policy_id=cascade_policy_id, + conflict_resolution=CreateMetadataCascadePolicyApplyConflictResolutionArg.OVERWRITE.value, + ) + data: Dict[str, str] = {'testName': 'xyz'} + client.folder_metadata.create_folder_metadata_by_id( + folder_id=folder.id, + scope=CreateFolderMetadataByIdScopeArg.ENTERPRISE.value, + template_key=template_key, + request_body=data, + ) + client.metadata_cascade_policies.create_metadata_cascade_policy_apply( + metadata_cascade_policy_id=cascade_policy_id, + conflict_resolution=CreateMetadataCascadePolicyApplyConflictResolutionArg.OVERWRITE.value, + ) + client.metadata_cascade_policies.delete_metadata_cascade_policy_by_id( + metadata_cascade_policy_id=cascade_policy_id + ) + with pytest.raises(Exception): + client.metadata_cascade_policies.get_metadata_cascade_policy_by_id( + metadata_cascade_policy_id=cascade_policy_id + ) + client.folders.delete_folder_by_id(folder_id=folder.id) diff --git a/test/shield_information_barrier_segments.py b/test/shield_information_barrier_segments.py new file mode 100644 index 0000000..91b24d8 --- /dev/null +++ b/test/shield_information_barrier_segments.py @@ -0,0 +1,77 @@ +from box_sdk_gen.utils import to_string + +import pytest + +from box_sdk_gen.client import BoxClient + +from box_sdk_gen.schemas import ShieldInformationBarrier + +from box_sdk_gen.schemas import ShieldInformationBarrierSegment + +from box_sdk_gen.schemas import ShieldInformationBarrierBase + +from box_sdk_gen.schemas import ShieldInformationBarrierBaseTypeField + +from box_sdk_gen.schemas import ShieldInformationBarrierSegments + +from box_sdk_gen.utils import get_env_var + +from box_sdk_gen.utils import get_uuid + +from test.commons import get_default_client_as_user + +from test.commons import get_or_create_shield_information_barrier + + +def testShieldInformationBarrierSegments(): + client: BoxClient = get_default_client_as_user(get_env_var('USER_ID')) + enterprise_id: str = get_env_var('ENTERPRISE_ID') + barrier: ShieldInformationBarrier = get_or_create_shield_information_barrier( + client, enterprise_id + ) + barrier_id: str = barrier.id + segment_name: str = get_uuid() + segment_description: str = 'barrier segment description' + segment: ShieldInformationBarrierSegment = ( + client.shield_information_barrier_segments.create_shield_information_barrier_segment( + shield_information_barrier=ShieldInformationBarrierBase( + id=barrier_id, + type=ShieldInformationBarrierBaseTypeField.SHIELD_INFORMATION_BARRIER.value, + ), + name=segment_name, + description=segment_description, + ) + ) + assert segment.name == segment_name + segments: ShieldInformationBarrierSegments = ( + client.shield_information_barrier_segments.get_shield_information_barrier_segments( + shield_information_barrier_id=barrier_id + ) + ) + assert len(segments.entries) > 0 + segment_id: str = segment.id + segment_from_api: ShieldInformationBarrierSegment = ( + client.shield_information_barrier_segments.get_shield_information_barrier_segment_by_id( + shield_information_barrier_segment_id=segment_id + ) + ) + assert to_string(segment_from_api.type) == 'shield_information_barrier_segment' + assert segment_from_api.id == segment_id + assert segment_from_api.name == segment_name + assert segment_from_api.description == segment_description + assert segment_from_api.shield_information_barrier.id == barrier_id + updated_segment_description: str = 'updated barrier segment description' + updated_segment: ShieldInformationBarrierSegment = ( + client.shield_information_barrier_segments.update_shield_information_barrier_segment_by_id( + shield_information_barrier_segment_id=segment_id, + description=updated_segment_description, + ) + ) + assert updated_segment.description == updated_segment_description + client.shield_information_barrier_segments.delete_shield_information_barrier_segment_by_id( + shield_information_barrier_segment_id=segment_id + ) + with pytest.raises(Exception): + client.shield_information_barrier_segments.get_shield_information_barrier_segment_by_id( + shield_information_barrier_segment_id=segment_id + ) diff --git a/test/shield_information_barriers.py b/test/shield_information_barriers.py index ec68099..62f8a7b 100644 --- a/test/shield_information_barriers.py +++ b/test/shield_information_barriers.py @@ -2,11 +2,11 @@ import pytest -from box_sdk_gen.schemas import ShieldInformationBarriers +from box_sdk_gen.client import BoxClient -from box_sdk_gen.schemas import EnterpriseBase +from box_sdk_gen.schemas import ShieldInformationBarrier -from box_sdk_gen.schemas import EnterpriseBaseTypeField +from box_sdk_gen.schemas import ShieldInformationBarriers from box_sdk_gen.managers.shield_information_barriers import ( CreateShieldInformationBarrierChangeStatusStatusArg, @@ -16,25 +16,7 @@ from test.commons import get_default_client_as_user -from box_sdk_gen.schemas import ShieldInformationBarrier - -from box_sdk_gen.client import BoxClient - - -def get_or_create_shield_information_barrier( - client: BoxClient, enterprise_id: str -) -> ShieldInformationBarrier: - barriers: ShieldInformationBarriers = ( - client.shield_information_barriers.get_shield_information_barriers() - ) - number_of_barriers: int = len(barriers.entries) - if number_of_barriers == 0: - return client.shield_information_barriers.create_shield_information_barrier( - enterprise=EnterpriseBase( - id=enterprise_id, type=EnterpriseBaseTypeField.ENTERPRISE.value - ) - ) - return barriers.entries[number_of_barriers - 1] +from test.commons import get_or_create_shield_information_barrier def testShieldInformationBarriers():