mirror of
https://github.com/hwchase17/langchain
synced 2024-10-29 17:07:25 +00:00
53 lines
1.9 KiB
Python
53 lines
1.9 KiB
Python
|
"""Test building the Zapier tool, not running it."""
|
||
|
import pytest
|
||
|
|
||
|
from langchain.tools.zapier.prompt import BASE_ZAPIER_TOOL_PROMPT
|
||
|
from langchain.tools.zapier.tool import ZapierNLARunAction
|
||
|
from langchain.utilities.zapier import ZapierNLAWrapper
|
||
|
|
||
|
|
||
|
def test_default_base_prompt() -> None:
|
||
|
"""Test that the default prompt is being inserted."""
|
||
|
tool = ZapierNLARunAction(
|
||
|
action_id="test",
|
||
|
zapier_description="test",
|
||
|
params_schema={"test": "test"},
|
||
|
api_wrapper=ZapierNLAWrapper(zapier_nla_api_key="test"),
|
||
|
)
|
||
|
|
||
|
# Test that the base prompt was successfully assigned to the default prompt
|
||
|
assert tool.base_prompt == BASE_ZAPIER_TOOL_PROMPT
|
||
|
assert tool.description == BASE_ZAPIER_TOOL_PROMPT.format(
|
||
|
zapier_description="test",
|
||
|
params=str(list({"test": "test"}.keys())),
|
||
|
)
|
||
|
|
||
|
|
||
|
def test_custom_base_prompt() -> None:
|
||
|
"""Test that a custom prompt is being inserted."""
|
||
|
base_prompt = "Test. {zapier_description} and {params}."
|
||
|
tool = ZapierNLARunAction(
|
||
|
action_id="test",
|
||
|
zapier_description="test",
|
||
|
params_schema={"test": "test"},
|
||
|
base_prompt=base_prompt,
|
||
|
api_wrapper=ZapierNLAWrapper(zapier_nla_api_key="test"),
|
||
|
)
|
||
|
|
||
|
# Test that the base prompt was successfully assigned to the default prompt
|
||
|
assert tool.base_prompt == base_prompt
|
||
|
assert tool.description == "Test. test and ['test']."
|
||
|
|
||
|
|
||
|
def test_custom_base_prompt_fail() -> None:
|
||
|
"""Test validating an invalid custom prompt."""
|
||
|
base_prompt = "Test. {zapier_description}."
|
||
|
with pytest.raises(ValueError):
|
||
|
ZapierNLARunAction(
|
||
|
action_id="test",
|
||
|
zapier_description="test",
|
||
|
params={"test": "test"},
|
||
|
base_prompt=base_prompt,
|
||
|
api_wrapper=ZapierNLAWrapper(zapier_nla_api_key="test"),
|
||
|
)
|