Skip to main content
Glama

USPTO Final Petition Decisions MCP Server

by john-walkoe
test_basic.pyβ€’4.81 kB
""" Basic tests for Final Petition Decisions MCP Run with: uv run python tests/test_basic.py Or: uv run pytest tests/test_basic.py """ import sys import os from pathlib import Path # Add src to path src_path = Path(__file__).parent.parent / "src" sys.path.insert(0, str(src_path)) def test_imports(): """Test that all modules can be imported""" print("Testing imports...") try: from fpd_mcp.config.settings import Settings print("[OK] Settings imported successfully") except Exception as e: print(f"[FAIL] Failed to import Settings: {e}") return False try: from fpd_mcp.config.field_manager import FieldManager print("[OK] FieldManager imported successfully") except Exception as e: print(f"[FAIL] Failed to import FieldManager: {e}") return False try: from fpd_mcp.api.fpd_client import FPDClient print("[OK] FPDClient imported successfully") except Exception as e: print(f"[FAIL] Failed to import FPDClient: {e}") return False return True def test_field_manager(): """Test field manager configuration loading""" print("\nTesting FieldManager...") from fpd_mcp.config.field_manager import FieldManager try: config_path = Path(__file__).parent.parent / "field_configs.yaml" field_manager = FieldManager(config_path) print(f"[OK] FieldManager loaded config from: {config_path}") # Test getting fields minimal_fields = field_manager.get_fields("petitions_minimal") print(f"[OK] Retrieved {len(minimal_fields)} minimal fields") balanced_fields = field_manager.get_fields("petitions_balanced") print(f"[OK] Retrieved {len(balanced_fields)} balanced fields") # Test context settings context_settings = field_manager.get_context_settings() print(f"[OK] Retrieved context settings: {context_settings}") return True except Exception as e: print(f"[FAIL] FieldManager test failed: {e}") return False def test_settings(): """Test settings configuration""" print("\nTesting Settings...") # Set temporary API key for testing os.environ["USPTO_API_KEY"] = "test_key_for_unit_tests" try: from fpd_mcp.config.settings import Settings settings = Settings() print(f"[OK] Settings loaded successfully") print(f"[OK] API Base URL: {settings.api_base_url}") print(f"[OK] Default minimal limit: {settings.default_minimal_limit}") print(f"[OK] Max search limit: {settings.max_search_limit}") # Check field config path if settings.field_config_exists: print(f"[OK] Field config exists at: {settings.field_config_path}") else: print(f"[WARN] Field config not found at: {settings.field_config_path}") return True except Exception as e: print(f"[FAIL] Settings test failed: {e}") return False finally: # Clean up if "USPTO_API_KEY" in os.environ: del os.environ["USPTO_API_KEY"] def test_client_initialization(): """Test FPD client initialization""" print("\nTesting FPDClient initialization...") # Set temporary API key for testing os.environ["USPTO_API_KEY"] = "test_key_for_unit_tests" try: from fpd_mcp.api.fpd_client import FPDClient client = FPDClient() print(f"[OK] FPDClient initialized successfully") print(f"[OK] Base URL: {client.base_url}") print(f"[OK] Max search limit: {client.MAX_SEARCH_LIMIT}") print(f"[OK] Retry attempts: {client.RETRY_ATTEMPTS}") return True except Exception as e: print(f"[FAIL] FPDClient initialization failed: {e}") return False finally: # Clean up if "USPTO_API_KEY" in os.environ: del os.environ["USPTO_API_KEY"] def main(): """Run all tests""" print("=" * 60) print("Final Petition Decisions MCP - Basic Tests") print("=" * 60) results = [] results.append(("Imports", test_imports())) results.append(("Field Manager", test_field_manager())) results.append(("Settings", test_settings())) results.append(("Client Initialization", test_client_initialization())) print("\n" + "=" * 60) print("Test Results:") print("=" * 60) for test_name, passed in results: status = "[PASSED]" if passed else "[FAILED]" print(f"{test_name}: {status}") all_passed = all(passed for _, passed in results) print("\n" + "=" * 60) if all_passed: print("ALL TESTS PASSED!") else: print("SOME TESTS FAILED") print("=" * 60) return 0 if all_passed else 1 if __name__ == "__main__": sys.exit(main())

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/john-walkoe/uspto_fpd_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server