mirror of
https://github.com/microsoft/autogen.git
synced 2026-04-20 03:02:16 -04:00
Replace the use of assert in non-test code (#80)
* Replace `assert`s in the `conversable_agent` module with `if-log-raise`. * Use a `logger` object in the `code_utils` module. * Replace use of `assert` with `if-log-raise` in the `code_utils` module. * Replace use of `assert` in the `math_utils` module with `if-not-raise`. * Replace `assert` with `if` in the `oai.completion` module. * Replace `assert` in the `retrieve_utils` module with an if statement. * Add missing `not`. * Blacken `completion.py`. * Test `generate_reply` and `a_generate_reply` raise an assertion error when there are neither `messages` nor a `sender`. * Test `execute_code` raises an `AssertionError` when neither code nor filename is provided. * Test `split_text_to_chunks` raises when passed an invalid chunk mode. * * Add `tiktoken` and `chromadb` to test dependencies as they're used in the `test_retrieve_utils` module. * Sort the test requirements alphabetically.
This commit is contained in:
@@ -2,6 +2,17 @@ import pytest
|
||||
from autogen.agentchat import ConversableAgent
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def conversable_agent():
|
||||
return ConversableAgent(
|
||||
"conversable_agent_0",
|
||||
max_consecutive_auto_reply=10,
|
||||
code_execution_config=False,
|
||||
llm_config=False,
|
||||
human_input_mode="NEVER",
|
||||
)
|
||||
|
||||
|
||||
def test_trigger():
|
||||
agent = ConversableAgent("a0", max_consecutive_auto_reply=0, llm_config=False, human_input_mode="NEVER")
|
||||
agent1 = ConversableAgent("a1", max_consecutive_auto_reply=0, human_input_mode="NEVER")
|
||||
@@ -217,6 +228,17 @@ def test_generate_reply():
|
||||
), "generate_reply not working when messages is None"
|
||||
|
||||
|
||||
def test_generate_reply_raises_on_messages_and_sender_none(conversable_agent):
|
||||
with pytest.raises(AssertionError):
|
||||
conversable_agent.generate_reply(messages=None, sender=None)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_a_generate_reply_raises_on_messages_and_sender_none(conversable_agent):
|
||||
with pytest.raises(AssertionError):
|
||||
await conversable_agent.a_generate_reply(messages=None, sender=None)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_trigger()
|
||||
# test_context()
|
||||
|
||||
@@ -264,6 +264,11 @@ def test_execute_code(use_docker=None):
|
||||
assert isinstance(image, str) or docker is None or os.path.exists("/.dockerenv") or use_docker is False
|
||||
|
||||
|
||||
def test_execute_code_raises_when_code_and_filename_are_both_none():
|
||||
with pytest.raises(AssertionError):
|
||||
execute_code(code=None, filename=None)
|
||||
|
||||
|
||||
@pytest.mark.skipif(
|
||||
sys.platform in ["darwin"],
|
||||
reason="do not run on MacOS",
|
||||
|
||||
@@ -48,6 +48,10 @@ class TestRetrieveUtils:
|
||||
chunks = split_text_to_chunks(long_text, max_tokens=1000)
|
||||
assert all(num_tokens_from_text(chunk) <= 1000 for chunk in chunks)
|
||||
|
||||
def test_split_text_to_chunks_raises_on_invalid_chunk_mode(self):
|
||||
with pytest.raises(AssertionError):
|
||||
split_text_to_chunks("A" * 10000, chunk_mode="bogus_chunk_mode")
|
||||
|
||||
def test_extract_text_from_pdf(self):
|
||||
pdf_file_path = os.path.join(test_dir, "example.pdf")
|
||||
assert "".join(expected_text.split()) == "".join(extract_text_from_pdf(pdf_file_path).strip().split())
|
||||
|
||||
Reference in New Issue
Block a user