chore: import upstream snapshot with attribution
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
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
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
from haystack.testing.sample_components.accumulate import Accumulate, _default_function
|
||||
|
||||
|
||||
def my_subtract(first, second):
|
||||
return first - second
|
||||
|
||||
|
||||
def test_to_dict():
|
||||
accumulate = Accumulate()
|
||||
res = accumulate.to_dict()
|
||||
assert res == {
|
||||
"type": "haystack.testing.sample_components.accumulate.Accumulate",
|
||||
"init_parameters": {"function": "haystack.testing.sample_components.accumulate._default_function"},
|
||||
}
|
||||
|
||||
|
||||
def test_to_dict_with_custom_function():
|
||||
accumulate = Accumulate(function=my_subtract)
|
||||
res = accumulate.to_dict()
|
||||
assert res == {
|
||||
"type": "haystack.testing.sample_components.accumulate.Accumulate",
|
||||
"init_parameters": {"function": "test_accumulate.my_subtract"},
|
||||
}
|
||||
|
||||
|
||||
def test_from_dict():
|
||||
data = {"type": "haystack.testing.sample_components.accumulate.Accumulate", "init_parameters": {}}
|
||||
accumulate = Accumulate.from_dict(data)
|
||||
assert accumulate.function == _default_function
|
||||
|
||||
|
||||
def test_from_dict_with_default_function():
|
||||
data = {
|
||||
"type": "haystack.testing.sample_components.accumulate.Accumulate",
|
||||
"init_parameters": {"function": "haystack.testing.sample_components.accumulate._default_function"},
|
||||
}
|
||||
accumulate = Accumulate.from_dict(data)
|
||||
assert accumulate.function == _default_function
|
||||
|
||||
|
||||
def test_from_dict_with_custom_function():
|
||||
data = {
|
||||
"type": "haystack.testing.sample_components.accumulate.Accumulate",
|
||||
"init_parameters": {"function": "test_accumulate.my_subtract"},
|
||||
}
|
||||
accumulate = Accumulate.from_dict(data)
|
||||
assert accumulate.function == my_subtract
|
||||
|
||||
|
||||
def test_accumulate_default():
|
||||
component = Accumulate()
|
||||
results = component.run(value=10)
|
||||
assert results == {"value": 10}
|
||||
assert component.state == 10
|
||||
|
||||
results = component.run(value=1)
|
||||
assert results == {"value": 11}
|
||||
assert component.state == 11
|
||||
|
||||
|
||||
def test_accumulate_callable():
|
||||
component = Accumulate(function=my_subtract)
|
||||
|
||||
results = component.run(value=10)
|
||||
assert results == {"value": -10}
|
||||
assert component.state == -10
|
||||
|
||||
results = component.run(value=1)
|
||||
assert results == {"value": -11}
|
||||
assert component.state == -11
|
||||
@@ -0,0 +1,11 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
from haystack.testing.sample_components import AddFixedValue
|
||||
|
||||
|
||||
def test_run():
|
||||
component = AddFixedValue()
|
||||
results = component.run(value=50, add=10)
|
||||
assert results == {"result": 60}
|
||||
@@ -0,0 +1,29 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
from haystack.testing.sample_components import Concatenate
|
||||
|
||||
|
||||
def test_input_lists():
|
||||
component = Concatenate()
|
||||
res = component.run(first=["This"], second=["That"])
|
||||
assert res == {"value": ["This", "That"]}
|
||||
|
||||
|
||||
def test_input_strings():
|
||||
component = Concatenate()
|
||||
res = component.run(first="This", second="That")
|
||||
assert res == {"value": ["This", "That"]}
|
||||
|
||||
|
||||
def test_input_first_list_second_string():
|
||||
component = Concatenate()
|
||||
res = component.run(first=["This"], second="That")
|
||||
assert res == {"value": ["This", "That"]}
|
||||
|
||||
|
||||
def test_input_first_string_second_list():
|
||||
component = Concatenate()
|
||||
res = component.run(first="This", second=["That"])
|
||||
assert res == {"value": ["This", "That"]}
|
||||
@@ -0,0 +1,11 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
from haystack.testing.sample_components import Double
|
||||
|
||||
|
||||
def test_double_default():
|
||||
component = Double()
|
||||
results = component.run(value=10)
|
||||
assert results == {"value": 20}
|
||||
@@ -0,0 +1,43 @@
|
||||
# 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")
|
||||
@@ -0,0 +1,15 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import logging
|
||||
|
||||
from haystack.testing.sample_components import Greet
|
||||
|
||||
|
||||
def test_greet_message(caplog):
|
||||
caplog.set_level(logging.WARNING)
|
||||
component = Greet()
|
||||
results = component.run(value=10, message="Hello, that's {value}", log_level="WARNING")
|
||||
assert results == {"value": 10}
|
||||
assert "Hello, that's 10" in caplog.text
|
||||
@@ -0,0 +1,13 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
from haystack.testing.sample_components import Parity
|
||||
|
||||
|
||||
def test_parity():
|
||||
component = Parity()
|
||||
results = component.run(value=1)
|
||||
assert results == {"odd": 1}
|
||||
results = component.run(value=2)
|
||||
assert results == {"even": 2}
|
||||
@@ -0,0 +1,24 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import pytest
|
||||
|
||||
from haystack.testing.sample_components import Remainder
|
||||
|
||||
|
||||
def test_remainder_default():
|
||||
component = Remainder()
|
||||
results = component.run(value=4)
|
||||
assert results == {"remainder_is_1": 4}
|
||||
|
||||
|
||||
def test_remainder_with_divisor():
|
||||
component = Remainder(divisor=4)
|
||||
results = component.run(value=4)
|
||||
assert results == {"remainder_is_0": 4}
|
||||
|
||||
|
||||
def test_remainder_zero():
|
||||
with pytest.raises(ValueError):
|
||||
Remainder(divisor=0)
|
||||
@@ -0,0 +1,11 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
from haystack.testing.sample_components import Repeat
|
||||
|
||||
|
||||
def test_repeat_default():
|
||||
component = Repeat(outputs=["one", "two"])
|
||||
results = component.run(value=10)
|
||||
assert results == {"one": 10, "two": 10}
|
||||
@@ -0,0 +1,11 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
from haystack.testing.sample_components import Subtract
|
||||
|
||||
|
||||
def test_subtract():
|
||||
component = Subtract()
|
||||
results = component.run(first_value=10, second_value=7)
|
||||
assert results == {"difference": 3}
|
||||
@@ -0,0 +1,21 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
from haystack.testing.sample_components import Sum
|
||||
|
||||
|
||||
def test_sum_receives_no_values():
|
||||
component = Sum()
|
||||
results = component.run(values=[])
|
||||
assert results == {"total": 0}
|
||||
|
||||
|
||||
def test_sum_receives_one_value():
|
||||
component = Sum()
|
||||
assert component.run(values=[10]) == {"total": 10}
|
||||
|
||||
|
||||
def test_sum_receives_few_values():
|
||||
component = Sum()
|
||||
assert component.run(values=[10, 2]) == {"total": 12}
|
||||
@@ -0,0 +1,15 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
from haystack.testing.sample_components import Threshold
|
||||
|
||||
|
||||
def test_threshold():
|
||||
component = Threshold()
|
||||
|
||||
results = component.run(value=5, threshold=10)
|
||||
assert results == {"below": 5}
|
||||
|
||||
results = component.run(value=15, threshold=10)
|
||||
assert results == {"above": 15}
|
||||
Reference in New Issue
Block a user