#!/usr/bin/env python3 """ Test script for Step 2 specifically """ import asyncio import sys import os # Add the backend directory to the path sys.path.append(os.path.dirname(os.path.abspath(__file__))) from services.calendar_generation_datasource_framework.prompt_chaining.steps.phase2.step2_implementation import Step2Implementation async def test_step2(): """Test Step 2 implementation.""" print("๐Ÿงช Testing Step 2: Gap Analysis & Opportunity Identification") # Create test context context = { "user_id": 1, "strategy_id": 1, "calendar_type": "monthly", "industry": "technology", "business_size": "sme", "user_data": { "onboarding_data": { "posting_preferences": { "daily": 2, "weekly": 10, "monthly": 40 }, "posting_days": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "optimal_times": [ "09:00", "12:00", "15:00", "18:00", "20:00" ] }, "strategy_data": { "industry": "technology", "target_audience": { "primary": "Tech professionals", "secondary": "Business leaders" }, "business_objectives": [ "Increase brand awareness", "Generate leads", "Establish thought leadership" ] } }, "step_results": {}, "quality_scores": {} } try: # Create Step 2 instance step2 = Step2Implementation() print("โœ… Step 2 instance created successfully") # Test Step 2 execution print("๐Ÿ”„ Executing Step 2...") result = await step2.run(context) if result: print("โœ… Step 2 executed successfully!") print(f"Status: {result.get('status')}") print(f"Quality Score: {result.get('quality_score')}") print(f"Execution Time: {result.get('execution_time')}") if result.get('status') == 'error': print(f"โŒ Step 2 Error: {result.get('error_message')}") else: print("โŒ Step 2 returned None") except Exception as e: print(f"โŒ Error testing Step 2: {e}") import traceback print(f"๐Ÿ“‹ Traceback: {traceback.format_exc()}") if __name__ == "__main__": asyncio.run(test_step2())