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
2 changes: 1 addition & 1 deletion .codegen.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{ "engineHash": "c370934", "specHash": "a4bdc72", "version": "10.2.0" }
{ "engineHash": "41c28e1", "specHash": "1617aaf", "version": "10.2.0" }
4 changes: 4 additions & 0 deletions .github/workflows/build-and-test-daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ name: Build and Test daily
on:
schedule:
- cron: '20 2 * * 1-5'

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
Expand Down
19 changes: 6 additions & 13 deletions box_sdk_gen/managers/metadata_taxonomies.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from enum import Enum

from typing import Optional

from typing import Dict
Expand Down Expand Up @@ -49,11 +47,6 @@
from box_sdk_gen.serialization.json import sd_to_json


class GetMetadataTemplateFieldOptionsScope(str, Enum):
GLOBAL = 'global'
ENTERPRISE = 'enterprise'


class MetadataTaxonomiesManager:
def __init__(
self,
Expand Down Expand Up @@ -345,7 +338,7 @@ def create_metadata_taxonomy_level(
)
return deserialize(response.data, MetadataTaxonomyLevels)

def patch_metadata_taxonomies_id_id_levels_id(
def update_metadata_taxonomy_level_by_id(
self,
namespace: str,
taxonomy_key: str,
Expand Down Expand Up @@ -799,7 +792,7 @@ def delete_metadata_taxonomy_node(

def get_metadata_template_field_options(
self,
scope: GetMetadataTemplateFieldOptionsScope,
namespace: str,
template_key: str,
field_key: str,
*,
Expand All @@ -824,9 +817,9 @@ def get_metadata_template_field_options(

With a `query` parameter specified, results are sorted in order of relevance.

:param scope: The scope of the metadata template.
Example: "global"
:type scope: GetMetadataTemplateFieldOptionsScope
:param namespace: The namespace of the metadata taxonomy.
Example: "enterprise_123456"
:type namespace: str
:param template_key: The name of the metadata template.
Example: "properties"
:type template_key: str
Expand Down Expand Up @@ -882,7 +875,7 @@ def get_metadata_template_field_options(
[
self.network_session.base_urls.base_url,
'/2.0/metadata_templates/',
to_string(scope),
to_string(namespace),
'/',
to_string(template_key),
'/fields/',
Expand Down
26 changes: 21 additions & 5 deletions docs/metadata_taxonomies.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,12 +222,22 @@ Returns an array of all taxonomy levels.

Updates an existing metadata taxonomy level.

This operation is performed by calling function `patch_metadata_taxonomies_id_id_levels_id`.
This operation is performed by calling function `update_metadata_taxonomy_level_by_id`.

See the endpoint docs at
[API Reference](https://developer.box.com/reference/patch-metadata-taxonomies-id-id-levels-id/).

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

```python
client.metadata_taxonomies.update_metadata_taxonomy_level_by_id(
namespace,
taxonomy_key,
1,
"Continent UPDATED",
description="Continent Level UPDATED",
)
```

### Arguments

Expand Down Expand Up @@ -519,12 +529,18 @@ This operation is performed by calling function `get_metadata_template_field_opt
See the endpoint docs at
[API Reference](https://developer.box.com/reference/get-metadata-templates-id-id-fields-id-options/).

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

```python
client.metadata_taxonomies.get_metadata_template_field_options(
namespace, metadata_template_key, "taxonomy"
)
```

### Arguments

- scope `GetMetadataTemplateFieldOptionsScope`
- The scope of the metadata template. Example: "global"
- namespace `str`
- The namespace of the metadata taxonomy. Example: "enterprise_123456"
- template_key `str`
- The name of the metadata template. Example: "properties"
- field_key `str`
Expand Down
63 changes: 62 additions & 1 deletion test/metadata_taxonomies.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import pytest

from box_sdk_gen.internal.utils import to_string

from box_sdk_gen.client import BoxClient

from box_sdk_gen.schemas.metadata_taxonomy import MetadataTaxonomy
Expand All @@ -14,6 +16,20 @@

from box_sdk_gen.schemas.metadata_taxonomy_nodes import MetadataTaxonomyNodes

from box_sdk_gen.schemas.metadata_template import MetadataTemplate

from box_sdk_gen.managers.metadata_templates import CreateMetadataTemplateFields

from box_sdk_gen.managers.metadata_templates import (
CreateMetadataTemplateFieldsTypeField,
)

from box_sdk_gen.managers.metadata_templates import (
CreateMetadataTemplateFieldsOptionsRulesField,
)

from box_sdk_gen.managers.metadata_templates import DeleteMetadataTemplateScope

from box_sdk_gen.internal.utils import get_uuid

from box_sdk_gen.internal.utils import get_env_var
Expand Down Expand Up @@ -91,6 +107,18 @@ def testMetadataTaxonomiesNodes():
assert len(taxonomy_levels.entries) == 2
assert taxonomy_levels.entries[0].display_name == 'Continent'
assert taxonomy_levels.entries[1].display_name == 'Country'
updated_taxonomy_levels: MetadataTaxonomyLevel = (
client.metadata_taxonomies.update_metadata_taxonomy_level_by_id(
namespace,
taxonomy_key,
1,
'Continent UPDATED',
description='Continent Level UPDATED',
)
)
assert updated_taxonomy_levels.display_name == 'Continent UPDATED'
assert updated_taxonomy_levels.description == 'Continent Level UPDATED'
assert updated_taxonomy_levels.level == taxonomy_levels.entries[0].level
taxonomy_levels_after_addition: MetadataTaxonomyLevels = (
client.metadata_taxonomies.add_metadata_taxonomy_level(
namespace, taxonomy_key, 'Region', description='Region Description'
Expand All @@ -104,7 +132,7 @@ def testMetadataTaxonomiesNodes():
)
)
assert len(taxonomy_levels_after_deletion.entries) == 2
assert taxonomy_levels_after_deletion.entries[0].display_name == 'Continent'
assert taxonomy_levels_after_deletion.entries[0].display_name == 'Continent UPDATED'
assert taxonomy_levels_after_deletion.entries[1].display_name == 'Country'
continent_node: MetadataTaxonomyNode = (
client.metadata_taxonomies.create_metadata_taxonomy_node(
Expand Down Expand Up @@ -142,6 +170,39 @@ def testMetadataTaxonomiesNodes():
)
assert get_country_node.display_name == 'Poland UPDATED'
assert get_country_node.id == country_node.id
metadata_template_key: str = ''.join(['templateKey', get_uuid()])
metadata_template: MetadataTemplate = (
client.metadata_templates.create_metadata_template(
'enterprise',
metadata_template_key,
template_key=metadata_template_key,
fields=[
CreateMetadataTemplateFields(
type=CreateMetadataTemplateFieldsTypeField.TAXONOMY,
key='taxonomy',
display_name='taxonomy',
taxonomy_key=taxonomy_key,
namespace=namespace,
options_rules=CreateMetadataTemplateFieldsOptionsRulesField(
multi_select=True, selectable_levels=[1]
),
)
],
)
)
assert metadata_template.template_key == metadata_template_key
assert metadata_template.display_name == metadata_template_key
assert len(metadata_template.fields) == 1
assert to_string(metadata_template.fields[0].type) == 'taxonomy'
options: MetadataTaxonomyNodes = (
client.metadata_taxonomies.get_metadata_template_field_options(
namespace, metadata_template_key, 'taxonomy'
)
)
assert len(options.entries) == 1
client.metadata_templates.delete_metadata_template(
DeleteMetadataTemplateScope.ENTERPRISE, metadata_template_key
)
client.metadata_taxonomies.delete_metadata_taxonomy_node(
namespace, taxonomy_key, country_node.id
)
Expand Down