feat: implement backend API clients for multi-marketplace integration and frontend service layer
This commit is contained in:
51
backend/test_mm_api.py
Normal file
51
backend/test_mm_api.py
Normal file
@@ -0,0 +1,51 @@
|
||||
import os
|
||||
import sys
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Add parent dir to path so we can import backend packages
|
||||
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
from backend.mm_api import MagnitMarketAPI
|
||||
from backend.mm_api.exceptions import MMAPIError
|
||||
|
||||
def test_mm_api():
|
||||
# Load environment variables
|
||||
env_path = os.path.join(os.path.dirname(__file__), '.env')
|
||||
load_dotenv(env_path)
|
||||
|
||||
# Check if key is loaded
|
||||
api_key = os.getenv('MM_API_KEY')
|
||||
|
||||
if not api_key:
|
||||
print("Error: MM_API_KEY must be in backend/.env")
|
||||
return
|
||||
|
||||
print("Initializing MagnitMarketAPI...")
|
||||
api = MagnitMarketAPI()
|
||||
|
||||
try:
|
||||
# Test 1: Get Unprocessed Orders
|
||||
print("\n--- Testing Orders API (Unprocessed Orders) ---")
|
||||
orders_response = api.orders.get_unprocessed_list(limit=5)
|
||||
print("Success! Response keys:", orders_response.keys())
|
||||
|
||||
orders = orders_response.get("orders", [])
|
||||
print(f"Found {len(orders)} unprocessed FBS orders.")
|
||||
|
||||
if orders:
|
||||
order_id = orders[0].get("order_id")
|
||||
print(f"First order - ID: {order_id}")
|
||||
|
||||
# Test 2: Get Shipments
|
||||
print("\n--- Testing Shipments API ---")
|
||||
shipments_response = api.shipments.get_list()
|
||||
shipments = shipments_response.get("shipments", [])
|
||||
print(f"Found {len(shipments)} shipments.")
|
||||
|
||||
except MMAPIError as e:
|
||||
print(f"API Error: {e}")
|
||||
except Exception as e:
|
||||
print(f"Unexpected Error: {e}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_mm_api()
|
||||
Reference in New Issue
Block a user