U
    h                     @   s  d dl Z d dlZd dlmZmZ d dlZd dlmZ e  dZed ed ze 	e dZ
e
jre
 Ze	dg Zed	ee d
 er ed  Ze	dZe	dZede de d e Zeedd Zed e j	e de e e ddZejr
e Zede	dd   ede	dd  d e	di Zed e D ]6\ZZede de	dd  d e	d!d  d" qhe	d#g Zer ed$ edd% D ]6Zed&e	d' d(e	d) d(e	d*d  d+ qned, n ed-ej  ed.ej  ed/ e j	e d0e e e ddZ e jre  Z!e!	d1i Z"ed2 e" D ]6\ZZede de	dd  d e	d!d  d" qn ed3e j  ed.e j  n ed4e
j  ed.e
j  W nR e j#j$k
r$   ed5 Y n2 e%k
rT Z& zed6e&  W 5 dZ&[&X Y nX ed7 zNe 'e d8Z(e(jre( Z)ed9e)	d:d  d; ned<e(j  W n2 e%k
r Z& zed<e&  W 5 dZ&[&X Y nX dS )=    N)datetime	timedelta)load_dotenvzhttp://localhost:8000z&=== Testing Activity API Endpoints ===z
1. Getting developers list...z/api/developers-orm
developersz	   Found z developersidnamez
2. Testing with developer: z (ID: )   )Zdaysz-
3. Fetching activity data for last 7 days...z/api/activity-data/)
start_dateend_date)paramsz   Total activities: Ztotal_activitiesz   Total time: Z
total_timez secondsZcategory_breakdownz
   Category Breakdown:z      z: Z
percentagez% (Zhoursz hours)dataz(
   Sample activities (showing first 5):   z      - Zapplication_namez | categoryZdurationsz
   No activities found!z   Error fetching activities: z   Response: z&
4. Fetching categorized activities...z/api/activity-categories/summaryz
   Categories Summary:z   Error fetching categories: z   Error getting developers: uY   
❌ Could not connect to API. Make sure your backend is running on http://localhost:8000u   
❌ Error: z(

5. Testing category update endpoint...z/api/update-activity-categoriesu      ✅ Updated Zupdated_countz activitiesu      ❌ Error: )*ZrequestsZjsonr   r   osZdotenvr   ZAPI_BASEprintgetZresponseokr   r   lenZtest_devZdev_idZdev_nameZnowr   r
   Z	isoformatZactivity_responseZactivity_dataZ	breakdownitemsr   ZstatsZ
activitiesZactZstatus_codetextZcategories_responseZcategories_datar   
exceptionsConnectionError	ExceptioneZpostZupdate_responseresult r   r   ./test_activity_api.py<module>   s   

06
2 