44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
import logging
|
|
|
|
import pytest
|
|
|
|
from agents.util._transforms import transform_string_function_style
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
("name", "transformed"),
|
|
[
|
|
("My Tool", "my_tool"),
|
|
("My-Tool", "my_tool"),
|
|
],
|
|
)
|
|
def test_transform_string_function_style_warns_for_replaced_characters(
|
|
caplog: pytest.LogCaptureFixture,
|
|
name: str,
|
|
transformed: str,
|
|
) -> None:
|
|
with caplog.at_level(logging.WARNING, logger="openai.agents"):
|
|
assert transform_string_function_style(name) == transformed
|
|
|
|
assert f"Tool name {name!r} contains invalid characters" in caplog.text
|
|
assert f"transformed to {transformed!r}" in caplog.text
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
("name", "transformed"),
|
|
[
|
|
("MyTool", "mytool"),
|
|
("transfer_to_Agent", "transfer_to_agent"),
|
|
("snake_case", "snake_case"),
|
|
],
|
|
)
|
|
def test_transform_string_function_style_does_not_warn_for_case_only_changes(
|
|
caplog: pytest.LogCaptureFixture,
|
|
name: str,
|
|
transformed: str,
|
|
) -> None:
|
|
with caplog.at_level(logging.WARNING, logger="openai.agents"):
|
|
assert transform_string_function_style(name) == transformed
|
|
|
|
assert caplog.records == []
|