Skip to content

Commit

Permalink
test: Add test for metadata filters (box/box-codegen#454) (#92)
Browse files Browse the repository at this point in the history
  • Loading branch information
box-sdk-build authored Mar 21, 2024
1 parent d754c45 commit 8817a07
Show file tree
Hide file tree
Showing 5 changed files with 120 additions and 4 deletions.
2 changes: 1 addition & 1 deletion .codegen.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{ "engineHash": "3d3d072", "specHash": "d50ab5f", "version": "0.6.2" }
{ "engineHash": "4f27d7e", "specHash": "d50ab5f", "version": "0.6.2" }
2 changes: 1 addition & 1 deletion docs/file_metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ See the endpoint docs at
<!-- sample post_files_id_metadata_id_id -->

```python
client.file_metadata.create_file_metadata_by_id(file.id, CreateFileMetadataByIdScope.ENTERPRISE.value, template_key, {'testName': 1})
client.file_metadata.create_file_metadata_by_id(file.id, CreateFileMetadataByIdScope.ENTERPRISE.value, template_key, {'floatField': 10, 'stringField': 'stringValue', 'dateField': '2035-01-02T00:00:00Z', 'enumField': 'enumValue2', 'multiSelectField': ['multiSelectValue1', 'multiSelectValue2']})
```

### Arguments
Expand Down
2 changes: 1 addition & 1 deletion docs/metadata_templates.md
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ See the endpoint docs at
<!-- sample post_metadata_templates_schema -->

```python
client.metadata_templates.create_metadata_template('enterprise', template_key, template_key=template_key, fields=[CreateMetadataTemplateFields(type=CreateMetadataTemplateFieldsTypeField.FLOAT.value, key='testName', display_name='testName')])
client.metadata_templates.create_metadata_template('enterprise', template_key, template_key=template_key, fields=[CreateMetadataTemplateFields(type=CreateMetadataTemplateFieldsTypeField.FLOAT.value, key='floatField', display_name='floatField'), CreateMetadataTemplateFields(type=CreateMetadataTemplateFieldsTypeField.STRING.value, key='stringField', display_name='stringField'), CreateMetadataTemplateFields(type=CreateMetadataTemplateFieldsTypeField.DATE.value, key='dateField', display_name='dateField'), CreateMetadataTemplateFields(type=CreateMetadataTemplateFieldsTypeField.ENUM.value, key='enumField', display_name='enumField', options=[CreateMetadataTemplateFieldsOptionsField(key='enumValue1'), CreateMetadataTemplateFieldsOptionsField(key='enumValue2')]), CreateMetadataTemplateFields(type=CreateMetadataTemplateFieldsTypeField.MULTISELECT.value, key='multiSelectField', display_name='multiSelectField', options=[CreateMetadataTemplateFieldsOptionsField(key='multiSelectValue1'), CreateMetadataTemplateFieldsOptionsField(key='multiSelectValue2')])])
```

### Arguments
Expand Down
2 changes: 1 addition & 1 deletion docs/search.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ See the endpoint docs at
<!-- sample get_search -->

```python
client.search.search_for_content(query=keyword, ancestor_folder_ids=['0'], trash_content=SearchForContentTrashContent.NON_TRASHED_ONLY.value, include_recent_shared_links=True)
client.search.search_for_content(ancestor_folder_ids=['0'], mdfilters=[MetadataFilter(filters={'multiSelectField': ['multiSelectValue1', 'multiSelectValue2']}, scope=MetadataFilterScopeField.ENTERPRISE.value, template_key=template_key)])
```

### Arguments
Expand Down
116 changes: 116 additions & 0 deletions test/search.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,14 @@

from box_sdk_gen.managers.search import SearchForContentTrashContent

from box_sdk_gen.managers.metadata_templates import (
CreateMetadataTemplateFieldsOptionsField,
)

from box_sdk_gen.schemas import MetadataFilter

from box_sdk_gen.schemas import MetadataFilterScopeField

from box_sdk_gen.internal.utils import get_uuid

from box_sdk_gen.internal.utils import generate_byte_stream
Expand Down Expand Up @@ -105,3 +113,111 @@ def testGetSearch():
)
assert len(search_with_shared_link.entries) >= 0
assert to_string(search_with_shared_link.type) == 'search_results_with_shared_links'


def testMetadataFilters():
template_key: str = ''.join(['key', get_uuid()])
template: MetadataTemplate = client.metadata_templates.create_metadata_template(
'enterprise',
template_key,
template_key=template_key,
fields=[
CreateMetadataTemplateFields(
type=CreateMetadataTemplateFieldsTypeField.FLOAT.value,
key='floatField',
display_name='floatField',
),
CreateMetadataTemplateFields(
type=CreateMetadataTemplateFieldsTypeField.STRING.value,
key='stringField',
display_name='stringField',
),
CreateMetadataTemplateFields(
type=CreateMetadataTemplateFieldsTypeField.DATE.value,
key='dateField',
display_name='dateField',
),
CreateMetadataTemplateFields(
type=CreateMetadataTemplateFieldsTypeField.ENUM.value,
key='enumField',
display_name='enumField',
options=[
CreateMetadataTemplateFieldsOptionsField(key='enumValue1'),
CreateMetadataTemplateFieldsOptionsField(key='enumValue2'),
],
),
CreateMetadataTemplateFields(
type=CreateMetadataTemplateFieldsTypeField.MULTISELECT.value,
key='multiSelectField',
display_name='multiSelectField',
options=[
CreateMetadataTemplateFieldsOptionsField(key='multiSelectValue1'),
CreateMetadataTemplateFieldsOptionsField(key='multiSelectValue2'),
],
),
],
)
files: Files = client.uploads.upload_file(
UploadFileAttributes(
name=get_uuid(), parent=UploadFileAttributesParentField(id='0')
),
generate_byte_stream(10),
)
file: FileFull = files.entries[0]
metadata: MetadataFull = client.file_metadata.create_file_metadata_by_id(
file.id,
CreateFileMetadataByIdScope.ENTERPRISE.value,
template_key,
{
'floatField': 10,
'stringField': 'stringValue',
'dateField': '2035-01-02T00:00:00Z',
'enumField': 'enumValue2',
'multiSelectField': ['multiSelectValue1', 'multiSelectValue2'],
},
)
string_query: Union[SearchResults, SearchResultsWithSharedLinks] = (
client.search.search_for_content(
ancestor_folder_ids=['0'],
mdfilters=[
MetadataFilter(
filters={'stringField': 'stringValue'},
scope=MetadataFilterScopeField.ENTERPRISE.value,
template_key=template_key,
)
],
)
)
assert len(string_query.entries) >= 0
enum_query: Union[SearchResults, SearchResultsWithSharedLinks] = (
client.search.search_for_content(
ancestor_folder_ids=['0'],
mdfilters=[
MetadataFilter(
filters={'enumField': 'enumValue2'},
scope=MetadataFilterScopeField.ENTERPRISE.value,
template_key=template_key,
)
],
)
)
assert len(enum_query.entries) >= 0
multi_select_query: Union[SearchResults, SearchResultsWithSharedLinks] = (
client.search.search_for_content(
ancestor_folder_ids=['0'],
mdfilters=[
MetadataFilter(
filters={
'multiSelectField': ['multiSelectValue1', 'multiSelectValue2']
},
scope=MetadataFilterScopeField.ENTERPRISE.value,
template_key=template_key,
)
],
)
)
assert len(multi_select_query.entries) >= 0
client.metadata_templates.delete_metadata_template(
DeleteMetadataTemplateScope.ENTERPRISE.value, template.template_key
)
client.files.delete_file_by_id(file.id)

0 comments on commit 8817a07

Please sign in to comment.