""" Quick test script for product classification service Upload any product image to test the Gemini AI classification """ import requests import sys # API endpoint API_URL = "http://localhost:8000/api/inference/" def test_classification(image_path): """Test the classification endpoint with an image""" print(f"Testing classification with image: {image_path}") print("-" * 50) try: # Open and send the image with open(image_path, 'rb') as image_file: files = {'image': image_file} response = requests.post(API_URL, files=files) # Check response if response.status_code == 200: result = response.json() classification = result.get('status', 'unknown') print(f"✅ SUCCESS!") print(f"Classification: {classification.upper()}") print(f"Raw response: {result}") print("-" * 50) # Interpretation if classification == 'resellable': print("🟢 Product is in excellent condition - can be resold as-is") elif classification == 'refurb': print("🟡 Product needs refurbishment - minor repairs needed") elif classification == 'scrap': print("🔴 Product is damaged beyond repair - must be scrapped") else: print(f"❌ ERROR: Status code {response.status_code}") print(f"Response: {response.text}") except FileNotFoundError: print(f"❌ ERROR: Image file not found: {image_path}") print("Please provide a valid image path") except requests.exceptions.ConnectionError: print("❌ ERROR: Cannot connect to the backend server") print("Make sure Django server is running on http://localhost:8000") except Exception as e: print(f"❌ ERROR: {str(e)}") if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python test_classification.py ") print("\nExample:") print(" python test_classification.py sample_product.jpg") print("\nTest with different product conditions:") print(" - New/pristine product → should return 'resellable'") print(" - Scratched/damaged product → should return 'refurb'") print(" - Broken/destroyed product → should return 'scrap'") sys.exit(1) image_path = sys.argv[1] test_classification(image_path)