Sebastian Husch Lee 85258f0654
fix: Fix types and formatting pipeline test_run.py (#9575)
* Fix types in test_run.py

* Get test_run.py to pass fmt-check

* Add test_run to mypy checks

* Update test folder to pass ruff linting

* Fix merge

* Fix HF tests

* Fix hf test

* Try to fix tests

* Another attempt

* minor fix

* fix SentenceTransformersDiversityRanker

* skip integrations tests due to model unavailable on HF inference

---------

Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
2025-07-03 09:49:09 +02:00

44 lines
1.4 KiB
Python

# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
#
# SPDX-License-Identifier: Apache-2.0
import pytest
from haystack.testing.sample_components import FString
def test_fstring_with_one_var():
fstring = FString(template="Hello, {name}!", variables=["name"])
output = fstring.run(name="Alice")
assert output == {"string": "Hello, Alice!"}
def test_fstring_with_no_vars():
fstring = FString(template="No variables in this template.", variables=[])
output = fstring.run()
assert output == {"string": "No variables in this template."}
def test_fstring_with_template_at_runtime():
fstring = FString(template="Hello {name}", variables=["name"])
output = fstring.run(template="Goodbye {name}!", name="Alice")
assert output == {"string": "Goodbye Alice!"}
def test_fstring_with_vars_mismatch():
fstring = FString(template="Hello {name}", variables=["name"])
with pytest.raises(KeyError):
fstring.run(template="Goodbye {person}!", name="Alice")
def test_fstring_with_vars_in_excess():
fstring = FString(template="Hello {name}", variables=["name"])
output = fstring.run(template="Goodbye!", name="Alice")
assert output == {"string": "Goodbye!"}
def test_fstring_with_vars_missing():
fstring = FString(template="{greeting}, {name}!", variables=["name"])
with pytest.raises(KeyError):
fstring.run(greeting="Hello")