Spaces:
Runtime error
Runtime error
| import unittest | |
| from unittest.mock import patch, MagicMock | |
| import sys | |
| import os | |
| # Add the src directory to the path | |
| sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'src')) | |
| class TestChatbotIntegration(unittest.TestCase): | |
| def test_rag_initialization(self, mock_initialize_rag): | |
| """Test that the RAG pipeline initializes correctly""" | |
| # Mock the RAG initialization | |
| mock_qa = MagicMock() | |
| mock_initialize_rag.return_value = mock_qa | |
| # Import app after mocking | |
| from app import qa_chain | |
| # Assert that initialize_rag was called | |
| mock_initialize_rag.assert_called_once() | |
| # Assert that qa_chain is set to the return value of initialize_rag | |
| self.assertEqual(qa_chain, mock_qa) | |
| def test_research_methods_info_exists(self): | |
| """Test that the research methods info file exists""" | |
| info_path = os.path.join(os.path.dirname(__file__), '..', 'research_methods_info.json') | |
| self.assertTrue(os.path.exists(info_path), "Research methods info file should exist") | |
| with open(info_path, 'r') as f: | |
| content = f.read() | |
| # Check for essential content | |
| self.assertIn('Qualitative Research Methods', content) | |
| self.assertIn('Quantitative Research Methods', content) | |
| self.assertIn('Mixed Methods Research', content) | |
| self.assertIn('APA7', content) | |
| def test_static_files_serving(self): | |
| """Test that the static files are properly configured""" | |
| from main import app | |
| # Check that the static files are mounted | |
| static_routes = [route for route in app.routes if getattr(route, 'path', '') == '/'] | |
| self.assertTrue(len(static_routes) > 0, "Static files should be mounted") | |
| def test_api_mounting(self): | |
| """Test that the API is properly mounted""" | |
| from main import app | |
| # Check that the API is mounted | |
| api_routes = [route for route in app.routes if getattr(route, 'path', '') == '/api'] | |
| self.assertTrue(len(api_routes) > 0, "API should be mounted") | |
| if __name__ == '__main__': | |
| unittest.main() | |