Skip to main content
Glama
test_search_substance.py2.95 kB
import pytest import logging from src.mcp_openfoodtox.database.queries import query_search_substance # Configure logging to see output logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)8s] %(name)s: %(message)s", datefmt="%Y-%m-%d %H:%M:%S", ) def test_search_substance_log_output(): """Test search_substance and log results for review. run with: `uv run pytest tests/test_database/test_search_substance.py::test_search_substance_log_output -v -s` """ search_term = "123477-69-0" logging.info(f"=" * 80) logging.info(f"Testing search_substance with: '{search_term}'") logging.info(f"=" * 80) results = query_search_substance(search_term) if results is None: logging.info("No results found (returned None)") return logging.info(f"\nFound {len(results)} entries") logging.info(f"\n" + "-" * 80) for idx, entry in enumerate(results, 1): logging.info(f"\nEntry {idx}:") logging.info(f" SUB_COM_ID: {entry.get('SUB_COM_ID')}") logging.info(f" COM_NAME: {entry.get('COM_NAME')}") logging.info(f" COM_TYPE: {entry.get('COM_TYPE')}") logging.info(f" MOLECULARFORMULA: {entry.get('MOLECULARFORMULA')}") logging.info(f" SUB_DESCRIPTION: {entry.get('SUB_DESCRIPTION')}") # Display arrays nicely sub_op_class = entry.get("SUB_OP_CLASS") if sub_op_class: logging.info(f" SUB_OP_CLASS: {sub_op_class} (count: {len(sub_op_class)})") else: logging.info(f" SUB_OP_CLASS: None") remarks = entry.get("REMARKS") if remarks: logging.info(f" REMARKS: {len(remarks)} remark(s)") for i, remark in enumerate(remarks[:3], 1): # Show first 3 logging.info(f" [{i}] {remark[:200]}{'...' if len(remark) > 100 else ''}") if len(remarks) > 3: logging.info(f" ... and {len(remarks) - 3} more") else: logging.info(f" REMARKS: None") genotox_id = entry.get("GENOTOX_ID") if genotox_id: logging.info(f" GENOTOX_ID: {genotox_id} (count: {len(genotox_id)})") else: logging.info(f" GENOTOX_ID: None") tox_id = entry.get("TOX_ID") if tox_id: logging.info(f" TOX_ID: {tox_id} (count: {len(tox_id)})") else: logging.info(f" TOX_ID: None") hazard_id = entry.get("HAZARD_ID") if hazard_id: logging.info(f" HAZARD_ID: {hazard_id} (count: {len(hazard_id)})") else: logging.info(f" HAZARD_ID: None") op_id = entry.get("OP_ID") if op_id: logging.info(f" OP_ID: {op_id} (count: {len(op_id)})") else: logging.info(f" OP_ID: None") logging.info(f"\n" + "=" * 80) logging.info(f"Test complete. Total entries: {len(results)}") logging.info(f"=" * 80)

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/spyrosze/mcp-openfoodtox'

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