Skip to content

Add conformance testing for Explorer search backends - #1747

Merged
cjmyers merged 5 commits into
masterfrom
marpaia/sbol-db-and-explorer
Jul 31, 2026
Merged

Add conformance testing for Explorer search backends#1747
cjmyers merged 5 commits into
masterfrom
marpaia/sbol-db-and-explorer

Conversation

@marpaia

@marpaia marpaia commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR makes SynBioHub's Explorer integration explicitly configurable and testable against both SBOLExplorer and compatible search backends.

  • Adds runtime-only environment overrides for enabling Explorer, selecting its endpoint, and controlling fallback behavior.
  • Adds a strict Explorer mode that surfaces backend failures instead of silently retrying the query against the triplestore.
  • Lets the test harness select the store and search backends independently:
    • Virtuoso with no external search backend
    • Virtuoso with SBOLExplorer
    • sbol-db with no external search backend
    • sbol-db with SBOLExplorer
    • sbol-db with its SBOLExplorer-compatible listener
  • Adds an Explorer-specific integration test that explicitly requests an index update, waits for that operation to complete, and compares the complete /search/I0462 HTML against the established SynBioHub snapshot.
  • Adds a pinned-corpus conformance harness for comparing submission, indexing, lifecycle, visibility, removal, and search behavior across Explorer implementations.
  • Allows tests to use an explicit SBH_DOCKER_DIR, so the SynBioHub changes can be evaluated against an unmerged synbiohub-docker checkout.

Compatibility

Normal SynBioHub behavior is unchanged unless the new environment overrides are supplied. Explorer fallback remains enabled by default, while the test harness uses explicit backend selections so an unavailable Explorer cannot be mistaken for a passing result.

The Explorer-enabled test rows are opt-in and use the companion synbiohub-docker topology changes.

Testing

  • The GitHub Integration testing workflow passes for this branch.

  • The conformance runner and report-comparison unit tests pass:

    python3 -m unittest tests/search-backends/test_run_conformance.py tests/search-backends/test_compare_reports.py

@marpaia
marpaia requested a review from cjmyers July 30, 2026 21:23
@cjmyers
cjmyers merged commit a0816d0 into master Jul 31, 2026
20 checks passed
@cjmyers
cjmyers deleted the marpaia/sbol-db-and-explorer branch July 31, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants