Skip to content

Commit 6573565

Browse files
authored
update runner & tos (#158)
1 parent c9dc4e4 commit 6573565

File tree

3 files changed

+240
-264
lines changed

3 files changed

+240
-264
lines changed

tests/test_runner.py

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,30 @@
2020
from veadk.runner import Runner
2121

2222

23+
# Import the standalone function instead of accessing as class method
24+
from veadk.runner import _convert_messages
25+
26+
2327
def _test_convert_messages(runner):
28+
"""Test message conversion logic using standalone _convert_messages function"""
29+
# Test single text message conversion
2430
message = "test message"
2531
expected_message = [
2632
types.Content(
2733
parts=[types.Part(text=message)],
2834
role="user",
2935
)
3036
]
31-
actual_message = runner._convert_messages(
32-
message, session_id="test_session_id", upload_inline_data_to_tos=True
37+
# Modified: Call _convert_messages directly (not as runner method)
38+
actual_message = _convert_messages(
39+
message,
40+
app_name=runner.app_name,
41+
user_id=runner.user_id,
42+
session_id="test_session_id",
3343
)
3444
assert actual_message == expected_message
3545

46+
# Test multiple text messages conversion
3647
message = ["test message 1", "test message 2"]
3748
expected_message = [
3849
types.Content(
@@ -44,13 +55,18 @@ def _test_convert_messages(runner):
4455
role="user",
4556
),
4657
]
47-
actual_message = runner._convert_messages(
48-
message, session_id="test_session_id", upload_inline_data_to_tos=True
58+
# Modified: Call _convert_messages directly (not as runner method)
59+
actual_message = _convert_messages(
60+
message,
61+
app_name=runner.app_name,
62+
user_id=runner.user_id,
63+
session_id="test_session_id",
4964
)
5065
assert actual_message == expected_message
5166

5267

5368
def test_runner():
69+
"""Test Runner class initialization and core properties"""
5470
short_term_memory = ShortTermMemory()
5571
long_term_memory = LongTermMemory(backend="local")
5672
agent = Agent(
@@ -64,10 +80,9 @@ def test_runner():
6480
runner = Runner(agent=agent, short_term_memory=short_term_memory)
6581
assert runner.long_term_memory == agent.long_term_memory
6682

67-
adk_runner = runner.runner
68-
assert adk_runner.memory_service == agent.long_term_memory
69-
assert adk_runner.session_service == runner.short_term_memory.session_service
83+
# Verify inherited ADKRunner properties
84+
assert runner.memory_service == agent.long_term_memory
85+
assert runner.session_service == runner.short_term_memory.session_service
7086

71-
_test_convert_messages(runner)
72-
_test_convert_messages(runner)
87+
# Run message conversion tests
7388
_test_convert_messages(runner)

veadk/integrations/ve_tos/ve_tos.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from veadk.utils.logger import get_logger
2323

2424
if TYPE_CHECKING:
25-
import tos
25+
pass
2626

2727

2828
# Initialize logger before using it
@@ -41,9 +41,12 @@ def __init__(
4141
self.sk = sk if sk else os.getenv("VOLCENGINE_SECRET_KEY", "")
4242
self.region = region
4343
self.bucket_name = bucket_name
44+
self._tos_module = None
4445

4546
try:
4647
import tos
48+
49+
self._tos_module = tos
4750
except ImportError as e:
4851
logger.error(
4952
"Failed to import 'tos' module. Please install it using: pip install tos\n"
@@ -54,7 +57,7 @@ def __init__(
5457

5558
self._client = None
5659
try:
57-
self._client = tos.TosClientV2(
60+
self._client = self._tos_module.TosClientV2(
5861
ak=self.ak,
5962
sk=self.sk,
6063
endpoint=f"tos-{self.region}.volces.com",
@@ -68,7 +71,7 @@ def _refresh_client(self):
6871
try:
6972
if self._client:
7073
self._client.close()
71-
self._client = tos.TosClientV2(
74+
self._client = self._tos_module.TosClientV2(
7275
self.ak,
7376
self.sk,
7477
endpoint=f"tos-{self.region}.volces.com",
@@ -87,13 +90,13 @@ def create_bucket(self) -> bool:
8790
try:
8891
self._client.head_bucket(self.bucket_name)
8992
logger.info(f"Bucket {self.bucket_name} already exists")
90-
except tos.exceptions.TosServerError as e:
93+
except self._tos_module.exceptions.TosServerError as e:
9194
if e.status_code == 404:
9295
try:
9396
self._client.create_bucket(
9497
bucket=self.bucket_name,
95-
storage_class=tos.StorageClassType.Storage_Class_Standard,
96-
acl=tos.ACLType.ACL_Public_Read,
98+
storage_class=self._tos_module.StorageClassType.Storage_Class_Standard,
99+
acl=self._tos_module.ACLType.ACL_Public_Read,
97100
)
98101
logger.info(f"Bucket {self.bucket_name} created successfully")
99102
self._refresh_client()
@@ -115,7 +118,7 @@ def _set_cors_rules(self) -> bool:
115118
logger.error("TOS client is not initialized")
116119
return False
117120
try:
118-
rule = tos.models2.CORSRule(
121+
rule = self._tos_module.models2.CORSRule(
119122
allowed_origins=["*"],
120123
allowed_methods=["GET", "HEAD"],
121124
allowed_headers=["*"],
@@ -174,7 +177,7 @@ def _do_upload_bytes(self, object_key: str, data: bytes) -> None:
174177
self._client.put_object(
175178
bucket=self.bucket_name, key=object_key, content=data
176179
)
177-
logger.debug(f"Upload success, object_key: {object_key}")
180+
logger.debug(f"Upload success, url: {object_key}")
178181
self._close()
179182
return
180183
except Exception as e:

0 commit comments

Comments
 (0)