Team Ai
Apppublic

Shivaaaahdjdnd/code_analysis

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
test_live_api.py124 linesDownload Raw Back to root
1import requests2import json3 4API_URL = "https://shivaaaahdjdnd-code-analysis.hf.space/api/batch-analysis"5HEALTH_URL = "https://shivaaaahdjdnd-code-analysis.hf.space/health"6 7print("Testing Live API on Hugging Face Spaces")8print("=" * 70)9 10# Health check first11print("\n[Health Check]")12try:13    r = requests.get(HEALTH_URL, timeout=15)14    h = r.json()15    print(f"Status: {h.get('status')}")16    print(f"Model: {h.get('model')}")17    print(f"AI Enabled: {h.get('ai_enabled')}")18except Exception as e:19    print(f"Health check failed: {e}")20 21# Test 1: Single Submission with test cases22print("\nTest 1: Single Submission (with test cases)")23test1 = {24    "submissions": [25        {26            "question": "Reverse a string",27            "user_code": "def reverse(s):\n    return s[::-1]",28            "correct_solution": "def reverse(s):\n    return s[::-1]",29            "language": "python",30            "difficulty": "easy",31            "test_cases": [32                {"input": "hello", "expected_output": "olleh"},33                {"input": "world", "expected_output": "dlrow"}34            ]35        }36    ]37}38 39try:40    response = requests.post(API_URL, json=test1, timeout=60)41    result = response.json()42    print(f"Status: {result.get('status')}")43    print(f"Average Score: {result.get('average_score')}/100")44    sub = result['results'][0]45    print(f"Tests Passed: {sub['analysis']['correctness']['test_cases_passed']}/{sub['analysis']['correctness']['total_test_cases']}")46    print(f"AI Analysis: {sub['analysis']['correctness']['ai_analysis'][:100] if sub['analysis']['correctness']['ai_analysis'] else 'N/A (fallback mode)'}")47except Exception as e:48    print(f"Error: {e}")49 50# Test 2: Multiple Submissions51print("\nTest 2: Multiple Submissions (3 problems)")52test2 = {53    "submissions": [54        {55            "question": "Find two numbers that add up to target",56            "user_code": "def two_sum(nums, target):\n    for i in range(len(nums)):\n        for j in range(i+1, len(nums)):\n            if nums[i] + nums[j] == target:\n                return [i, j]\n    return []",57            "correct_solution": "def two_sum(nums, target):\n    seen = {}\n    for i, num in enumerate(nums):\n        if target - num in seen:\n            return [seen[target - num], i]\n        seen[num] = i\n    return []",58            "language": "python",59            "difficulty": "easy",60            "test_cases": [61                {"input": [[2, 7, 11, 15], 9], "expected_output": "[0, 1]"}62            ]63        },64        {65            "question": "Check if string is palindrome",66            "user_code": "def is_palindrome(s):\n    return s == s[::-1]",67            "correct_solution": "def is_palindrome(s):\n    return s == s[::-1]",68            "language": "python",69            "difficulty": "easy"70        },71        {72            "question": "Find maximum in array",73            "user_code": "def find_max(arr):\n    max_val = arr[0]\n    for num in arr:\n        if num > max_val:\n            max_val = num\n    return max_val",74            "correct_solution": "def find_max(arr):\n    return max(arr)",75            "language": "python",76            "difficulty": "easy"77        }78    ]79}80 81try:82    response = requests.post(API_URL, json=test2, timeout=120)83    result = response.json()84    print(f"Status: {result.get('status')}")85    print(f"Average Score: {result.get('average_score')}/100")86    print(f"Total Submissions: {result.get('total_submissions')}")87 88    print("\nIndividual Results:")89    for sub in result.get('results', []):90        print(f"  #{sub['submission_id']}: {sub['question_title'][:40]}...")91        print(f"    Score: {sub['overall_score']}/100")92        print(f"    Correctness: {sub['analysis']['correctness']['score']}/40")93        print(f"    Quality: {sub['analysis']['code_quality']['score']}/25")94        print(f"    Efficiency: {sub['analysis']['efficiency']['score']}/20 ({sub['analysis']['efficiency']['time_complexity']})")95        print(f"    Feedback: {sub.get('feedback', '')[:100]}")96 97except Exception as e:98    print(f"Error: {e}")99 100# Test 3: JavaScript101print("\nTest 3: JavaScript Code")102test3 = {103    "submissions": [104        {105            "question": "Reverse a string in JavaScript",106            "user_code": "function reverse(str) {\n    return str.split('').reverse().join('');\n}",107            "correct_solution": "const reverse = (str) => str.split('').reverse().join('');",108            "language": "javascript",109            "difficulty": "easy"110        }111    ]112}113 114try:115    response = requests.post(API_URL, json=test3, timeout=60)116    result = response.json()117    print(f"Status: {result.get('status')}")118    print(f"Score: {result['results'][0]['overall_score']}/100")119except Exception as e:120    print(f"Error: {e}")121 122print("\n" + "=" * 70)123print("All tests completed!")124print(f"API Endpoint: {API_URL}")