CoolFace
Apppublic

findEthics/Atlas

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
test_analytics.py47 linesDownload Raw Back to unit
1"""2Unit tests for analytics functionality3 4Consolidated from:5- test_analytics.py6- test_user_analytics.py7- Parts of test_chat_analytics.py8"""9 10import asyncio11import time12import time13import time14 15import pytest16from unittest.mock import AsyncMock, patch17 18from analytics.collectors import create_session, track_message, track_search19from analytics.dashboard import get_authenticated_vs_anonymous_metrics, get_basic_stats, get_hourly_message_stats, get_performance_stats, get_session_stats, get_user_analytics, get_user_statistics20from tests.utilities import MockDataGenerator, TestHelpers, ValidationHelpers, create_test_user_data, skip_if_no_database21 22        start_time = time.time()23        metrics = await get_authenticated_vs_anonymous_metrics()24        end_time = time.time()25        26        execution_time = end_time - start_time27        28        assert isinstance(metrics, dict)29        assert "authenticated" in metrics30        assert "anonymous" in metrics31        assert execution_time < 5.0, f"Comparison metrics too slow: {execution_time:.2f}s"32 33 34if __name__ == "__main__":35    # Run tests manually for debugging36    async def run_basic_tests():37        test_basic = TestBasicAnalytics()38        await test_basic.test_get_basic_stats()39        await test_basic.test_get_basic_stats_with_user_filter()40        print("✅ Basic analytics tests passed")41        42        test_user = TestUserAnalytics()43        await test_user.test_get_user_statistics()44        await test_user.test_get_user_analytics_invalid_user()45        print("✅ User analytics tests passed")46    47    asyncio.run(run_basic_tests())