c56bef871b
CodeQL / Analyze (python) (push) Has been cancelled
Update Platform Components Table / update (push) Has been cancelled
Docker image release / Build base image (push) Has been cancelled
Sync docs with Docusaurus / sync (push) Has been cancelled
Tests / Check if changed (push) Has been cancelled
Tests / format (push) Has been cancelled
Tests / check-imports (push) Has been cancelled
Tests / Unit / macos-latest (push) Has been cancelled
Tests / Unit / ubuntu-latest (push) Has been cancelled
Tests / Unit / windows-latest (push) Has been cancelled
Tests / mypy (push) Has been cancelled
Tests / Integration / ubuntu-latest (push) Has been cancelled
Tests / Integration / macos-latest (push) Has been cancelled
Tests / Integration / windows-latest (push) Has been cancelled
Tests / notify-slack-on-failure (push) Has been cancelled
Tests / Mark tests as completed (push) Has been cancelled
24 lines
986 B
Python
24 lines
986 B
Python
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
from haystack.components.agents.state.state import State
|
|
from haystack.hooks.tool_result_offloading import AlwaysOffload, NeverOffload, OffloadOverChars
|
|
|
|
|
|
class TestOffloadPolicies:
|
|
def test_always_offload(self):
|
|
assert AlwaysOffload().should_offload("t", "anything", State(schema={})) is True
|
|
|
|
def test_never_offload(self):
|
|
assert NeverOffload().should_offload("t", "x" * 10_000, State(schema={})) is False
|
|
|
|
def test_offload_over_chars_is_strictly_greater(self):
|
|
policy = OffloadOverChars(threshold=10)
|
|
assert policy.should_offload("t", "x" * 10, State(schema={})) is False
|
|
assert policy.should_offload("t", "x" * 11, State(schema={})) is True
|
|
|
|
def test_offload_over_chars_roundtrip(self):
|
|
restored = OffloadOverChars.from_dict(OffloadOverChars(threshold=42).to_dict())
|
|
assert restored.threshold == 42
|