refactor:
- changed method get_agent_tools for only get_tools on agent interface - changed OllamaModelManager to correc semantic OllamaService test: - added test for service initialization - added tests to list tools and create tools into PDF agent
This commit is contained in:
@@ -3,18 +3,34 @@ import unittest
|
||||
|
||||
from src.interfaces.agents.agent import Agent
|
||||
from src.modules.pdf.pdfAgent import PDFAgent
|
||||
from src.modules.pdf.tools.metadataPDFTool import PDFMetadataTool
|
||||
|
||||
class TestPDFAgent(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.agent: Agent
|
||||
self.agent: Agent = PDFAgent()
|
||||
return super().setUp()
|
||||
|
||||
|
||||
def createAgent(self):
|
||||
self.agent = PDFAgent()
|
||||
self.agent.createAgent()
|
||||
self.assertIsNone(self.agent)
|
||||
def test_createAgent(self):
|
||||
self.assertIsInstance(self.agent, Agent)
|
||||
self.assertEqual(self.agent.name, "PDF Agent")
|
||||
self.assertEqual(self.agent.description, "Agent to handle PDF operations")
|
||||
|
||||
self.assertIsInstance(self.agent.tools, list)
|
||||
|
||||
def test_list_tools(self):
|
||||
self.assertEqual(self.agent.list_tools(), [])
|
||||
|
||||
def test_create_tools(self):
|
||||
metadataTool = PDFMetadataTool()
|
||||
self.assertIsInstance(metadataTool, PDFMetadataTool)
|
||||
self.assertEqual(metadataTool.name, "PDF Metadata Tool")
|
||||
|
||||
self.agent.add_tool(metadataTool)
|
||||
tools = self.agent.get_tools()
|
||||
|
||||
self.assertEqual(tools, [metadataTool])
|
||||
self.assertEqual(len(self.agent.tools), 1)
|
||||
self.assertEqual(self.agent.tools[0].name, "PDF Metadata Tool")
|
||||
|
||||
# def test_
|
||||
|
||||
0
test/service/__init__.py
Normal file
0
test/service/__init__.py
Normal file
0
test/service/ollama/__init__.py
Normal file
0
test/service/ollama/__init__.py
Normal file
@@ -1,16 +1,18 @@
|
||||
import unittest
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
from src.service.ollama.ollamaModelManager import OllamaModelManager
|
||||
from src.service.ollama.ollamaService import OllamaService
|
||||
|
||||
|
||||
class TestOllamaModelManager(unittest.TestCase):
|
||||
|
||||
|
||||
class testOllamaService(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.model_manager = OllamaModelManager()
|
||||
self.model_manager = OllamaService()
|
||||
self.model_manager.base_url = "http://test-url:11434"
|
||||
|
||||
@patch('src.service.ollama.ollamaModelManager.requests.get')
|
||||
@patch('src.service.ollama.ollamaService.requests.get')
|
||||
def test_get_available_models_success(self, mock_get):
|
||||
# Setup mock response
|
||||
mock_response = MagicMock()
|
||||
@@ -30,7 +32,7 @@ class TestOllamaModelManager(unittest.TestCase):
|
||||
self.assertEqual(len(result), 2)
|
||||
self.assertEqual(result, [{'name': 'model1'}, {'name': 'model2'}])
|
||||
|
||||
@patch('src.service.ollama.ollamaModelManager.requests.get')
|
||||
@patch('src.service.ollama.ollamaService.requests.get')
|
||||
def test_get_available_models_exception(self, mock_get):
|
||||
# Setup mock to raise exception
|
||||
mock_get.side_effect = Exception("Connection error")
|
||||
@@ -41,7 +43,7 @@ class TestOllamaModelManager(unittest.TestCase):
|
||||
# Assertions
|
||||
self.assertEqual(result, [])
|
||||
|
||||
@patch('src.service.ollama.ollamaModelManager.requests.post')
|
||||
@patch('src.service.ollama.ollamaService.requests.post')
|
||||
def test_get_model_details_success(self, mock_post):
|
||||
# Setup mock response
|
||||
mock_response = MagicMock()
|
||||
@@ -64,7 +66,7 @@ class TestOllamaModelManager(unittest.TestCase):
|
||||
self.assertEqual(result['context_size'], 4096)
|
||||
self.assertEqual(result['license'], 'Apache 2.0')
|
||||
|
||||
@patch('src.service.ollama.ollamaModelManager.requests.post')
|
||||
@patch('src.service.ollama.ollamaService.requests.post')
|
||||
def test_get_model_details_exception(self, mock_post):
|
||||
# Setup mock to raise exception
|
||||
mock_post.side_effect = Exception("API error")
|
||||
22
test/service/test_service.py
Normal file
22
test/service/test_service.py
Normal file
@@ -0,0 +1,22 @@
|
||||
import unittest
|
||||
|
||||
|
||||
class TestService(unittest.TestCase):
|
||||
def setUp(self):
|
||||
|
||||
pass
|
||||
|
||||
def test_service_initialization(self):
|
||||
from src.service.service import Service
|
||||
|
||||
# Test Ollama service
|
||||
ollama_service = Service("ollama")
|
||||
self.assertIsNotNone(ollama_service.service)
|
||||
self.assertEqual(ollama_service.service.__class__.__name__,
|
||||
"OllamaService")
|
||||
|
||||
self.assertEqual(ollama_service.service.base_url,"http://localhost:11434")
|
||||
print(len(ollama_service.service.get_available_models()))
|
||||
self.assertGreater(len(ollama_service.service.get_available_models()), 0)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user