import pytest from swarms.worker.omni_worker import OmniWorkerAgent @pytest.fixture def omni_worker(): api_key = 'test-key' api_endpoint = 'test-endpoint' api_type = 'test-type' return OmniWorkerAgent(api_key, api_endpoint, api_type) @pytest.mark.parametrize("data, expected_response", [ ( {"messages": ["Hello"], "api_key": "key1", "api_type": "type1", "api_endpoint": "endpoint1"}, {"response": "Hello back from Huggingface!"} ), ( {"messages": ["Goodbye"], "api_key": "key2", "api_type": "type2", "api_endpoint": "endpoint2"}, {"response": "Goodbye from Huggingface!"} ), ]) def test_chat_valid_data(mocker, omni_worker, data, expected_response): mocker.patch('yourmodule.chat_huggingface', return_value=expected_response) # replace 'yourmodule' with actual module name assert omni_worker.chat(data) == expected_response @pytest.mark.parametrize("invalid_data", [ {"messages": ["Hello"]}, # missing api_key, api_type and api_endpoint {"messages": ["Hello"], "api_key": "key1"}, # missing api_type and api_endpoint {"messages": ["Hello"], "api_key": "key1", "api_type": "type1"}, # missing api_endpoint ]) def test_chat_invalid_data(omni_worker, invalid_data): with pytest.raises(ValueError): omni_worker.chat(invalid_data)