Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import requests | |
| import json | |
| import random | |
| def load_dataset(dataset_name): | |
| return pd.read_parquet(f"hf://datasets/dwb2023/{dataset_name}/data/train-00000-of-00001.parquet") | |
| def test_endpoint(base_url, endpoint, payload): | |
| url = f"{base_url}{endpoint}" | |
| print(f"\nTesting {endpoint}") | |
| print(f"Request: POST {url}") | |
| print(f"Payload: {json.dumps(payload, indent=2)}") | |
| try: | |
| response = requests.post(url, json=payload) | |
| print(f"Response Status: {response.status_code}") | |
| print(f"Response Body: {json.dumps(response.json(), indent=2)}") | |
| if response.status_code == 200: | |
| print(f"β {endpoint} - Success") | |
| else: | |
| print(f"β {endpoint} - Failed") | |
| except requests.exceptions.RequestException as e: | |
| print(f"β {endpoint} - Error: {str(e)}") | |
| def main(base_url): | |
| print(f"Testing Blackbird API at {base_url}\n") | |
| # Load datasets | |
| customers_df = load_dataset("blackbird-customers") | |
| orders_df = load_dataset("blackbird-orders") | |
| # Prepare test cases | |
| random_customer = customers_df.sample(1).iloc[0] | |
| random_order = orders_df.sample(1).iloc[0] | |
| processing_order = orders_df[orders_df['status'] == 'Processing'].sample(1).iloc[0] | |
| endpoints = [ | |
| ("/get_user", {"key": "email", "value": random_customer['email']}), | |
| ("/update_user", {"user_id": random_customer['id'], "email": f"updated_{random_customer['email']}", "phone": f"updated_{random_customer['phone']}"}), | |
| ("/get_order_by_id", {"order_id": random_order['id']}), | |
| ("/get_customer_orders", {"customer_id": random_customer['id']}), | |
| ("/cancel_order", {"order_id": processing_order['id']}), | |
| ("/get_user_info", {"key": "email", "value": f"updated_{random_customer['email']}"}) | |
| ] | |
| for endpoint, payload in endpoints: | |
| test_endpoint(base_url, endpoint, payload) | |
| # Test get_user with old email (should return 404) | |
| test_endpoint(base_url, "/get_user", {"key": "email", "value": random_customer['email']}) | |
| if __name__ == "__main__": | |
| base_url = "https://dwb2023-blackbird-svc.hf.space" | |
| main(base_url) |