#!/usr/bin/env python3 """ Test script to verify Chrome + fast_scraper works inside Docker container. """ import sys sys.path.insert(0, '/app') from modules.fast_scraper import fast_scrape_reviews def test_chrome_in_container(): """Test Chrome with fast_scraper in container""" print("=" * 70) print("Testing Chrome + Fast Scraper in Docker Container") print("=" * 70) # Known good URL url = "https://www.google.com/maps/place/Soho+Club/data=!4m7!3m6!1s0x46dd947294b213bf:0x864c7a232527adb4!8m2!3d54.67869!4d25.2667181!16s%2Fg%2F1thhj5ml!19sChIJvxOylHKU3UYRtK0nJSN6TIY?authuser=0&hl=es&rclk=1" print("\nRunning fast_scrape_reviews()...") print("-" * 70) try: result = fast_scrape_reviews(url=url, headless=False, max_scrolls=30) print("\n" + "=" * 70) if result['success'] and result['count'] > 0: print("✅ SUCCESS! Container scraping works!") print("=" * 70) print(f"Reviews scraped: {result['count']}") print(f"Time: {result['time']:.1f}s") print(f"Speed: {result['count']/result['time']:.1f} reviews/sec") print(f"\nFirst 3 reviews:") for i, review in enumerate(result['reviews'][:3], 1): author = review.get('author', 'N/A') rating = review.get('rating', 'N/A') print(f"{i}. {author} - {rating}⭐") print("\n✅ Container is production-ready!") return True else: print("⚠️ Scraping didn't work as expected") print("=" * 70) print(f"Success: {result['success']}") print(f"Reviews: {result['count']}") print(f"Error: {result.get('error', 'None')}") return False except Exception as e: print(f"\n❌ Test failed: {e}") import traceback traceback.print_exc() return False if __name__ == "__main__": success = test_chrome_in_container() sys.exit(0 if success else 1)