Skip to content

Commit 7d434d2

Browse files
committed
chore: Add combined flag and adjust for Python (box/box-codegen#836)
1 parent 5e58466 commit 7d434d2

File tree

82 files changed

+9006
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+9006
-1
lines changed

.codegen.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{ "engineHash": "0271743", "specHash": "1ed059a", "version": "0.1.0" }
1+
{ "engineHash": "cedd6e8", "specHash": "1ed059a", "version": "0.1.0" }

test/box_sdk_gen/__init__.py

Whitespace-only changes.

test/box_sdk_gen/test/__init__.py

Whitespace-only changes.

test/box_sdk_gen/test/ai.py

Lines changed: 429 additions & 0 deletions
Large diffs are not rendered by default.

test/box_sdk_gen/test/ai_studio.py

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
from box_sdk_gen.internal.utils import to_string
2+
3+
from typing import Optional
4+
5+
from box_sdk_gen.schemas.ai_single_agent_response_full import AiSingleAgentResponseFull
6+
7+
from box_sdk_gen.schemas.ai_studio_agent_ask import AiStudioAgentAsk
8+
9+
from box_sdk_gen.schemas.ai_multiple_agent_response import AiMultipleAgentResponse
10+
11+
from box_sdk_gen.schemas.file_full import FileFull
12+
13+
from box_sdk_gen.schemas.ai_response_full import AiResponseFull
14+
15+
from box_sdk_gen.managers.ai import CreateAiAskMode
16+
17+
from box_sdk_gen.schemas.ai_item_ask import AiItemAsk
18+
19+
from box_sdk_gen.schemas.ai_item_ask import AiItemAskTypeField
20+
21+
from box_sdk_gen.box.developer_token_auth import BoxDeveloperTokenAuth
22+
23+
from box_sdk_gen.client import BoxClient
24+
25+
from test.box_sdk_gen.test.commons import get_default_client
26+
27+
from test.box_sdk_gen.test.commons import upload_new_file
28+
29+
from box_sdk_gen.internal.utils import get_uuid
30+
31+
from box_sdk_gen.schemas.ai_agent_reference import AiAgentReference
32+
33+
client: BoxClient = get_default_client()
34+
35+
36+
def testAiStudioCRUD():
37+
agent_name: str = get_uuid()
38+
created_agent: AiSingleAgentResponseFull = client.ai_studio.create_ai_agent(
39+
agent_name,
40+
'enabled',
41+
ask=AiStudioAgentAsk(access_state='enabled', description='desc1'),
42+
)
43+
assert created_agent.name == agent_name
44+
agents: AiMultipleAgentResponse = client.ai_studio.get_ai_agents()
45+
num_agents: int = len(agents.entries)
46+
assert to_string(agents.entries[0].type) == 'ai_agent'
47+
retrieved_agent: AiSingleAgentResponseFull = client.ai_studio.get_ai_agent_by_id(
48+
created_agent.id, fields=['ask']
49+
)
50+
assert retrieved_agent.name == agent_name
51+
assert to_string(retrieved_agent.access_state) == 'enabled'
52+
assert to_string(retrieved_agent.ask.access_state) == 'enabled'
53+
assert retrieved_agent.ask.description == 'desc1'
54+
updated_agent: AiSingleAgentResponseFull = client.ai_studio.update_ai_agent_by_id(
55+
created_agent.id,
56+
agent_name,
57+
'enabled',
58+
ask=AiStudioAgentAsk(access_state='disabled', description='desc2'),
59+
)
60+
assert to_string(updated_agent.access_state) == 'enabled'
61+
assert to_string(updated_agent.ask.access_state) == 'disabled'
62+
assert updated_agent.ask.description == 'desc2'
63+
client.ai_studio.delete_ai_agent_by_id(created_agent.id)
64+
agents_after_delete: AiMultipleAgentResponse = client.ai_studio.get_ai_agents()
65+
assert len(agents_after_delete.entries) == num_agents - 1
66+
67+
68+
def testUseAIAgentReferenceInAIAsk():
69+
agent_name: str = get_uuid()
70+
created_agent: AiSingleAgentResponseFull = client.ai_studio.create_ai_agent(
71+
agent_name,
72+
'enabled',
73+
ask=AiStudioAgentAsk(access_state='enabled', description='desc1'),
74+
)
75+
file_to_ask: FileFull = upload_new_file()
76+
response: Optional[AiResponseFull] = client.ai.create_ai_ask(
77+
CreateAiAskMode.SINGLE_ITEM_QA,
78+
'which direction sun rises',
79+
[
80+
AiItemAsk(
81+
id=file_to_ask.id,
82+
type=AiItemAskTypeField.FILE,
83+
content='Sun rises in the East',
84+
)
85+
],
86+
ai_agent=AiAgentReference(id=created_agent.id),
87+
)
88+
assert 'East' in response.answer
89+
assert response.completion_reason == 'done'
90+
assert len(response.ai_agent_info.models) > 0
91+
client.files.delete_file_by_id(file_to_ask.id)
92+
client.ai_studio.delete_ai_agent_by_id(created_agent.id)
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
from box_sdk_gen.internal.utils import to_string
2+
3+
from box_sdk_gen.client import BoxClient
4+
5+
from box_sdk_gen.schemas.app_item_associations import AppItemAssociations
6+
7+
from box_sdk_gen.schemas.app_item_association import AppItemAssociation
8+
9+
from box_sdk_gen.schemas.file_full import FileFull
10+
11+
from box_sdk_gen.schemas.folder_full import FolderFull
12+
13+
from box_sdk_gen.internal.utils import get_uuid
14+
15+
from box_sdk_gen.internal.utils import get_env_var
16+
17+
from test.box_sdk_gen.test.commons import get_default_client_with_user_subject
18+
19+
20+
def testListFileAppItemAssocations():
21+
client: BoxClient = get_default_client_with_user_subject(get_env_var('USER_ID'))
22+
file_id: str = get_env_var('APP_ITEM_ASSOCIATION_FILE_ID')
23+
file_app_item_associations: AppItemAssociations = (
24+
client.app_item_associations.get_file_app_item_associations(file_id)
25+
)
26+
assert len(file_app_item_associations.entries) == 1
27+
association: AppItemAssociation = file_app_item_associations.entries[0]
28+
assert not association.id == ''
29+
assert to_string(association.app_item.application_type) == 'hubs'
30+
assert to_string(association.app_item.type) == 'app_item'
31+
assert to_string(association.item.type) == 'file'
32+
assert association.item.id == file_id
33+
file: FileFull = client.files.get_file_by_id(
34+
file_id, fields=['is_associated_with_app_item']
35+
)
36+
assert file.is_associated_with_app_item == True
37+
38+
39+
def testListFolderAppItemAssocations():
40+
client: BoxClient = get_default_client_with_user_subject(get_env_var('USER_ID'))
41+
folder_id: str = get_env_var('APP_ITEM_ASSOCIATION_FOLDER_ID')
42+
folder_app_item_associations: AppItemAssociations = (
43+
client.app_item_associations.get_folder_app_item_associations(folder_id)
44+
)
45+
assert len(folder_app_item_associations.entries) == 1
46+
association: AppItemAssociation = folder_app_item_associations.entries[0]
47+
assert not association.id == ''
48+
assert to_string(association.app_item.application_type) == 'hubs'
49+
assert to_string(association.app_item.type) == 'app_item'
50+
assert to_string(association.item.type) == 'folder'
51+
assert association.item.id == folder_id
52+
folder: FolderFull = client.folders.get_folder_by_id(
53+
folder_id, fields=['is_associated_with_app_item']
54+
)
55+
assert folder.is_associated_with_app_item == True

test/box_sdk_gen/test/archives.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from box_sdk_gen.internal.utils import to_string
2+
3+
import pytest
4+
5+
from box_sdk_gen.client import BoxClient
6+
7+
from box_sdk_gen.schemas.v2025_r0.archive_v2025_r0 import ArchiveV2025R0
8+
9+
from box_sdk_gen.schemas.v2025_r0.archives_v2025_r0 import ArchivesV2025R0
10+
11+
from box_sdk_gen.internal.utils import get_uuid
12+
13+
from box_sdk_gen.internal.utils import get_env_var
14+
15+
from test.box_sdk_gen.test.commons import get_default_client_with_user_subject
16+
17+
user_id: str = get_env_var('USER_ID')
18+
19+
client: BoxClient = get_default_client_with_user_subject(user_id)
20+
21+
22+
def testArchivesCreateListDelete():
23+
archive_name: str = get_uuid()
24+
archive: ArchiveV2025R0 = client.archives.create_archive_v2025_r0(archive_name)
25+
assert to_string(archive.type) == 'archive'
26+
assert archive.name == archive_name
27+
archives: ArchivesV2025R0 = client.archives.get_archives_v2025_r0(limit=100)
28+
assert len(archives.entries) > 0
29+
client.archives.delete_archive_by_id_v2025_r0(archive.id)
30+
with pytest.raises(Exception):
31+
client.archives.delete_archive_by_id_v2025_r0(archive.id)

0 commit comments

Comments
 (0)