cognee/cognee/tests
Vasilije 412b6467da
feat(database): add connect_args support to SqlAlchemyAdapter (#1861)
- Add optional connect_args parameter to __init__ method
- Support DATABASE_CONNECT_ARGS environment variable for JSON-based
configuration
- Enable custom connection parameters for all database engines (SQLite
and PostgreSQL)
- Maintain backward compatibility with existing code
- Add proper error handling and validation for environment variable
parsing

<!-- .github/pull_request_template.md -->
## Description
The intent of this PR is to make the database initialization more
flexible and configurable. In order to do this, the system will support
a new DATABASE_CONNECT_ARGS environment variable that takes JSON-based
configuration,. This enhancement will allow custom connection parameters
to be passed to any supported database engine, including SQLite and
PostgreSQL,. To guarantee that the environment variable is parsed
securely and consistently, appropriate error handling and validation
will also be added.

## Type of Change
<!-- Please check the relevant option -->
- [x] Bug fix (non-breaking change that fixes an issue)
- [x] New feature (non-breaking change that adds functionality)
- [x] Breaking change (fix or feature that would cause existing
functionality to change)
- [x] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [x] **I have tested my changes thoroughly before submitting this PR**
- [x] **This PR contains minimal changes necessary to address the
issue/feature**
- [x] My code follows the project's coding standards and style
guidelines
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added necessary documentation (if applicable)
- [x] All new and existing tests pass
- [x] I have searched existing PRs to ensure this change hasn't been
submitted already
- [x] I have linked any relevant issues in the description
- [x] My commits have clear and descriptive messages

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Advanced database connection configuration through the optional
DATABASE_CONNECT_ARGS environment variable, supporting custom settings
such as SSL certificates and timeout configurations.
* Custom connection arguments can now be passed to relational database
adapters.

* **Tests**
* Comprehensive unit test suite for database connection argument parsing
and validation.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-16 14:50:27 +01:00
..
cli_tests Remove all references to SearchType.INSIGHTS across the codebase, meaningfully replacing it with SearchType.GRAPH_COMPLETION where applicable. 2025-10-08 12:13:59 +01:00
integration chore: retriever test reorganization + adding new tests (integration) (STEP 1) (#1881) 2025-12-16 11:11:29 +01:00
subprocesses feat: Redis lock integration and Kuzu agentic access fix (#1504) 2025-10-16 15:48:20 +02:00
tasks fix: Resolve issue with entity extraction test 2025-11-04 16:43:41 +01:00
test_data feat: csv ingestion loader & chunk 2025-10-22 16:56:46 +08:00
unit feat(database): add connect_args support to SqlAlchemyAdapter (#1861) 2025-12-16 14:50:27 +01:00
__init__.py
test_add_docling_document.py fix: Resolve docling test 2025-10-31 13:57:12 +01:00
test_advanced_pdf_loader.py make advanced pdf loader optional 2025-09-22 15:07:58 +08:00
test_chromadb.py COG-3050 - remove insights search (#1506) 2025-10-11 09:09:56 +02:00
test_cognee_server_start.py chore: introduces 1 file upload in ontology endpoint (#1899) 2025-12-15 18:30:35 +01:00
test_concurrent_subprocess_access.py feat: Redis lock integration and Kuzu agentic access fix (#1504) 2025-10-16 15:48:20 +02:00
test_conversation_history.py feature: adds triplet embedding via memify (#1832) 2025-12-02 18:27:08 +01:00
test_custom_model.py feat: s3 storage (#988) 2025-07-14 21:47:08 +02:00
test_dataset_database_handler.py feat: Add dataset database handler info (#1887) 2025-12-12 13:22:03 +01:00
test_dataset_delete.py feat: Add database deletion on dataset delete (#1893) 2025-12-15 18:15:48 +01:00
test_deduplication.py test: Rollback deduplication test 2025-10-01 18:10:57 +02:00
test_delete_by_id.py chore: updating delete_by_id test 2025-08-13 15:39:11 +02:00
test_delete_hard.py refactor: Speed up CI/CD execution time 2025-08-26 21:28:11 +02:00
test_delete_soft.py refactor: Speed up CI/CD execution time 2025-08-26 21:28:11 +02:00
test_edge_centered_payload.py feat: Adds edge centered payload and embedding structure during ingestion (#1853) 2025-12-10 17:10:06 +01:00
test_edge_ingestion.py feat: optimize repeated entity extraction (#1682) 2025-10-30 13:56:06 +01:00
test_feedback_enrichment.py fix: Use same dataset name accross cognee calls 2025-10-30 17:40:00 +01:00
test_graph_visualization_permissions.py fix: graph visualization access for users with read permissions (#1220) 2025-08-08 20:42:57 +02:00
test_kuzu.py Revert "Revert "fix: search without prior cognify"" 2025-10-22 13:21:51 +01:00
test_lancedb.py COG-3050 - remove insights search (#1506) 2025-10-11 09:09:56 +02:00
test_library.py refactor: fix search result for library test 2025-10-29 19:14:53 +01:00
test_load.py test: fix path based on pr comment 2025-11-03 17:06:51 +01:00
test_multi_tenancy.py feat: Add test for multi tenancy, add ability to share name for dataset across tenants for one user 2025-11-07 15:50:49 +01:00
test_neo4j.py Revert "Revert "fix: search without prior cognify"" 2025-10-22 13:21:51 +01:00
test_neptune_analytics_graph.py Merge main vol 4 (#1200) 2025-08-05 12:48:24 +02:00
test_neptune_analytics_hybrid.py Merge main vol 4 (#1200) 2025-08-05 12:48:24 +02:00
test_neptune_analytics_vector.py COG-3050 - remove insights search (#1506) 2025-10-11 09:09:56 +02:00
test_parallel_databases.py feat: enable multi user for falkor (#1689) 2025-11-11 17:03:48 +01:00
test_permissions.py test: Removed long text string about qunatum computers from tests. Used a file instead. 2025-10-01 17:59:53 +02:00
test_pgvector.py COG-3050 - remove insights search (#1506) 2025-10-11 09:09:56 +02:00
test_pipeline_cache.py feat: make pipeline processing cache optional (#1876) 2025-12-12 13:11:31 +01:00
test_relational_db_migration.py Relational DB migration test search (#1752) 2025-11-12 21:32:22 +01:00
test_remote_kuzu.py COG-3050 - remove insights search (#1506) 2025-10-11 09:09:56 +02:00
test_remote_kuzu_stress.py
test_s3.py Loader separation (#1240) 2025-08-14 19:55:39 +02:00
test_s3_file_storage.py Deprecate SearchType.INSIGHTS, replace all references to default search type - SearchType.GRAPH_COMPLETION 2025-10-08 12:13:59 +01:00
test_search_db.py chore: retriever test reorganization + adding new tests (smoke e2e) (STEP 1.5) (#1888) 2025-12-16 11:59:33 +01:00
test_starter_pipelines.py fix: Add getting started tutorial to git (#870) 2025-06-09 16:57:33 +02:00
test_telemetry.py
test_temporal_graph.py Merge dev into main (#1422) 2025-09-17 10:32:10 +02:00