feat: Implement local Mock Databus server for offline testing#52
Open
NakulSingh156 wants to merge 3 commits intodbpedia:mainfrom
Open
feat: Implement local Mock Databus server for offline testing#52NakulSingh156 wants to merge 3 commits intodbpedia:mainfrom
NakulSingh156 wants to merge 3 commits intodbpedia:mainfrom
Conversation
📝 WalkthroughWalkthroughThis PR adds mock databus server test infrastructure in conftest.py with an HTTP server fixture, introduces tests to verify the mock server's connectivity and error handling, updates deployment tests with new API signatures and expected behavior, and removes debug behavior from SPARQLWrapper mocking. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
Description
Addressing the advanced requirement in Issue #20: "Create a local dummy Databus for testing core functionality offline."
Currently, tests depend on the live Databus, making them brittle and dependent on internet access. I have implemented a
mock_databusfixture inconftest.pyto solve this.Features:
Ephemeral Port Binding: Automatically finds a free port (binds to
localhost:0) to avoid conflicts.Threaded Execution: Runs the
HTTPServerin a background daemon thread.Fixture Integration: Returns the dynamic base URL (e.g.,
http://localhost:58074) directly to tests.Proof of Concept: Added
tests/test_download_mock.pyto verify the mock server handles requests and returns 404s correctly.Terminal output showing the Mock Server starting on a random port and handling a request:
This provides the infrastructure needed to rewrite the download tests (Issue #20) without external dependencies.
Related Issues
Part of #20
Type of change
Checklist:
poetry run pytest- all tests passedpoetry run ruff check- no linting errorsSummary by CodeRabbit
Tests
✏️ Tip: You can customize this high-level summary in your review settings.