#!/usr/bin/env python3 """Test OEM catalog block.""" import os, sys sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from tenant_db import get_master_conn, get_tenant_conn_by_dbname from services.catalog_service import smart_search, get_part_detail PASS = '\033[92mPASS\033[0m' FAIL = '\033[91mFAIL\033[0m' def ok(label, condition, detail=''): if condition: print(f" [{PASS}] {label}") else: print(f" [{FAIL}] {label} {detail}") master = get_master_conn() cur = master.cursor() cur.execute("SELECT db_name FROM tenants WHERE is_active = true LIMIT 1") row = cur.fetchone() cur.close(); master.close() db_name = row[0] tenant = get_tenant_conn_by_dbname(db_name) master = get_master_conn() print("OEM Catalog Block Test") print("=" * 40) # smart_search should be blocked at blueprint level, but let's check the service # The service itself still works; the blueprint blocks it. # Let's verify the config flag is False from config import CATALOG_OEM_ENABLED ok("CATALOG_OEM_ENABLED is False", CATALOG_OEM_ENABLED is False, f"value={CATALOG_OEM_ENABLED}") # Local mode endpoints should still work from services.catalog_modes import normalize_mode ok("normalize_mode local", normalize_mode('local') == 'local') ok("normalize_mode oem", normalize_mode('oem') == 'oem') # Check that get_parts_local is available from services.catalog_service import get_parts_local ok("get_parts_local exists", callable(get_parts_local)) master.close() tenant.close() print("Done.")