Skip to content

Commit 9eadb24

Browse files
committed
Enable mike version selector
1 parent b6c1b7b commit 9eadb24

29 files changed

Lines changed: 87 additions & 85 deletions

bindings/python/docs/development/testing/test-async-executor.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The `test_async_executor.py` file contains **8 tests** covering asynchronous operations and parallel execution.
44

5-
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_async_executor.py){ .md-button }
5+
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_async_executor.py){ .md-button }
66

77
## Overview
88

bindings/python/docs/development/testing/test-batch-context.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The `test_batch_context.py` file contains **13 tests** covering high-level batch operations with progress tracking.
44

5-
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_batch_context.py){ .md-button }
5+
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_batch_context.py){ .md-button }
66

77
## Overview
88

bindings/python/docs/development/testing/test-concurrency.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Concurrency Tests
22

3-
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_concurrency.py){ .md-button }
3+
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_concurrency.py){ .md-button }
44

5-
These notes mirror the Python tests in [test_concurrency.py]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_concurrency.py). There are 4 tests demonstrating file locking, thread safety, sequential access, and concurrent limitation.
5+
These notes mirror the Python tests in [test_concurrency.py]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_concurrency.py). There are 4 tests demonstrating file locking, thread safety, sequential access, and concurrent limitation.
66

77
## Key Insight
88

@@ -14,19 +14,19 @@ These notes mirror the Python tests in [test_concurrency.py]({{ config.repo_url
1414

1515
### 1) file lock mechanism
1616

17-
Opens database, checks for `database.lck` file, closes, verifies lock is released. See [test_concurrency.py#L23-L47]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_concurrency.py#L23-L47).
17+
Opens database, checks for `database.lck` file, closes, verifies lock is released. See [test_concurrency.py#L23-L47]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_concurrency.py#L23-L47).
1818

1919
### 2) thread safety
2020

21-
Creates database with 20 Person records, spawns 4 threads querying disjoint id ranges (0–4, 5–9, 10–14, 15–19) concurrently, asserts all threads complete and find correct counts. See [test_concurrency.py#L50-L93]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_concurrency.py#L50-L93).
21+
Creates database with 20 Person records, spawns 4 threads querying disjoint id ranges (0–4, 5–9, 10–14, 15–19) concurrently, asserts all threads complete and find correct counts. See [test_concurrency.py#L50-L93]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_concurrency.py#L50-L93).
2222

2323
### 3) sequential access
2424

25-
Sequence: create+insert → close → reopen+query (1 record) → close → reopen+insert+query (2 records). Verifies data persists and each step works. See [test_concurrency.py#L96-L143]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_concurrency.py#L96-L143).
25+
Sequence: create+insert → close → reopen+query (1 record) → close → reopen+insert+query (2 records). Verifies data persists and each step works. See [test_concurrency.py#L96-L143]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_concurrency.py#L96-L143).
2626

2727
### 4) concurrent access limitation
2828

29-
Attempts concurrent access from same process; documents that a second handle to locked DB raises `ArcadeDBError`. See [test_concurrency.py#L146-L165]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_concurrency.py#L146-L165).
29+
Attempts concurrent access from same process; documents that a second handle to locked DB raises `ArcadeDBError`. See [test_concurrency.py#L146-L165]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_concurrency.py#L146-L165).
3030

3131
## Architecture
3232

bindings/python/docs/development/testing/test-core.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Core Database Tests
22

3-
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_core.py){ .md-button }
3+
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_core.py){ .md-button }
44

5-
These notes mirror the Python tests in [test_core.py]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_core.py). There are **15 tests** covering fundamental database operations.
5+
These notes mirror the Python tests in [test_core.py]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_core.py). There are **15 tests** covering fundamental database operations.
66

77
## Overview
88

bindings/python/docs/development/testing/test-database-utils.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Database Utilities Tests
22

3-
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_database_utils.py){ .md-button }
3+
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_database_utils.py){ .md-button }
44

5-
These notes mirror the Python tests in [test_database_utils.py]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_database_utils.py). There are 5 tests covering database creation helpers, schema initialization, test data generation, cleanup utilities, and type counting. See [test_database_utils.py]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_database_utils.py) for details.
5+
These notes mirror the Python tests in [test_database_utils.py]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_database_utils.py). There are 5 tests covering database creation helpers, schema initialization, test data generation, cleanup utilities, and type counting. See [test_database_utils.py]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_database_utils.py) for details.
66

77
### test_create_test_database
88
Tests database creation helper functions.

bindings/python/docs/development/testing/test-exporter.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,50 @@
11
# Exporter Tests
22

3-
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py){ .md-button }
3+
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py){ .md-button }
44

5-
These notes mirror the Python tests in [test_exporter.py]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py). There are 5 test classes with 12+ tests covering JSONL (with type/edge filters), GraphML/GraphSON (skipped if GraphSON support is unavailable), CSV, round-trip (export→import), bulk insert (chunked transactions), and all data types.
5+
These notes mirror the Python tests in [test_exporter.py]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py). There are 5 test classes with 12+ tests covering JSONL (with type/edge filters), GraphML/GraphSON (skipped if GraphSON support is unavailable), CSV, round-trip (export→import), bulk insert (chunked transactions), and all data types.
66

77
## Test Classes & Cases
88

99
### TestDatabaseExport
1010

1111
Fixture `sample_db` creates 20 users, 15 movies, 10 actors, 50 Rated edges, 30 ActedIn edges, 15 Follows edges, 10 LogEntry docs, 5 Config docs (155 total records).
1212

13-
- **export_jsonl_basic**: Exports entire database; asserts `totalRecords == 155`, `vertices == 45` (20+15+10), `edges == 95` (50+30+15), `documents == 15` (10+5). File in `exports/` dir. See [test_exporter.py#L226-L247]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L226-L247).
13+
- **export_jsonl_basic**: Exports entire database; asserts `totalRecords == 155`, `vertices == 45` (20+15+10), `edges == 95` (50+30+15), `documents == 15` (10+5). File in `exports/` dir. See [test_exporter.py#L226-L247]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L226-L247).
1414

15-
- **export_jsonl_with_include_types**: Exports only `User` type; asserts `vertices == 20`, edges/docs zero. See [test_exporter.py#L249-L265]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L249-L265).
15+
- **export_jsonl_with_include_types**: Exports only `User` type; asserts `vertices == 20`, edges/docs zero. See [test_exporter.py#L249-L265]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L249-L265).
1616

17-
- **export_jsonl_with_exclude_types**: Excludes `LogEntry`; asserts `documents == 5` (only Config, logs excluded). See [test_exporter.py#L267-L282]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L267-L282).
17+
- **export_jsonl_with_exclude_types**: Excludes `LogEntry`; asserts `documents == 5` (only Config, logs excluded). See [test_exporter.py#L267-L282]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L267-L282).
1818

19-
- **export_overwrite_protection**: First export succeeds; second with `overwrite=False` raises `ArcadeDBError` mentioning "already exists" or "overwrite". See [test_exporter.py#L284-L304]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L284-L304).
19+
- **export_overwrite_protection**: First export succeeds; second with `overwrite=False` raises `ArcadeDBError` mentioning "already exists" or "overwrite". See [test_exporter.py#L284-L304]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L284-L304).
2020

21-
- **export_invalid_format**: Passes `format="invalid_format"`; asserts raises `ArcadeDBError` with "invalid" or "format". See [test_exporter.py#L306-L312]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L306-L312).
21+
- **export_invalid_format**: Passes `format="invalid_format"`; asserts raises `ArcadeDBError` with "invalid" or "format". See [test_exporter.py#L306-L312]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L306-L312).
2222

23-
- **export_graphml/export_graphson**: Both attempt export; if GraphSON support is missing, skip with `pytest.skip(...)`. See [test_exporter.py#L314-L357]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L314-L357).
23+
- **export_graphml/export_graphson**: Both attempt export; if GraphSON support is missing, skip with `pytest.skip(...)`. See [test_exporter.py#L314-L357]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L314-L357).
2424

25-
- **export_verbose_levels**: Tests `verbose` parameter (0, 1, 2); asserts `"totalRecords"` in stats for each. See [test_exporter.py#L359-L373]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L359-L373).
25+
- **export_verbose_levels**: Tests `verbose` parameter (0, 1, 2); asserts `"totalRecords"` in stats for each. See [test_exporter.py#L359-L373]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L359-L373).
2626

27-
- **export_empty_database**: Empty database exports with `totalRecords == 0`, `vertices/edges/documents == 0`. File still created. See [test_exporter.py#L375-L396]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L375-L396).
27+
- **export_empty_database**: Empty database exports with `totalRecords == 0`, `vertices/edges/documents == 0`. File still created. See [test_exporter.py#L375-L396]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L375-L396).
2828

2929
### TestCSVExport
3030

31-
- **export_to_csv_basic**: Queries 20 User records; asserts CSV has 20 rows with columns `userId, name, age, email, premium`. See [test_exporter.py#L400-L426]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L400-L426).
31+
- **export_to_csv_basic**: Queries 20 User records; asserts CSV has 20 rows with columns `userId, name, age, email, premium`. See [test_exporter.py#L400-L426]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L400-L426).
3232

33-
- **export_to_csv_with_fieldnames**: Exports Movie query with custom fieldnames `["movieId", "title"]`; asserts header and column count. See [test_exporter.py#L428-L451]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L428-L451).
33+
- **export_to_csv_with_fieldnames**: Exports Movie query with custom fieldnames `["movieId", "title"]`; asserts header and column count. See [test_exporter.py#L428-L451]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L428-L451).
3434

35-
- **export_to_csv_empty_results**: Query with no hits; asserts CSV exists and is mostly empty (headers only or zero rows). See [test_exporter.py#L453-L464]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L453-L464).
35+
- **export_to_csv_empty_results**: Query with no hits; asserts CSV exists and is mostly empty (headers only or zero rows). See [test_exporter.py#L453-L464]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L453-L464).
3636

37-
- **export_to_csv_with_resultset**: Uses `export_to_csv(results, path)` on `SELECT rating FROM Rated WHERE rating > 0`; asserts 50 rows (all Rated edges). See [test_exporter.py#L466-L481]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L466-L481).
37+
- **export_to_csv_with_resultset**: Uses `export_to_csv(results, path)` on `SELECT rating FROM Rated WHERE rating > 0`; asserts 50 rows (all Rated edges). See [test_exporter.py#L466-L481]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L466-L481).
3838

39-
- **export_to_csv_with_list_of_dicts**: Passes list of 3 dicts to `export_to_csv()`, verifies CSV written and matches. See [test_exporter.py#L483-L506]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L483-L506).
39+
- **export_to_csv_with_list_of_dicts**: Passes list of 3 dicts to `export_to_csv()`, verifies CSV written and matches. See [test_exporter.py#L483-L506]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L483-L506).
4040

4141
### TestRoundTripExport
4242

43-
- **jsonl_export_import_roundtrip**: Exports sample_db to JSONL, closes original, creates new DB, imports via `IMPORT DATABASE file://...`, then verifies counts (User 20, Movie 15, Actor 10, LogEntry 10, Config 5) and data integrity (first user name is "User0"). See [test_exporter.py#L508-L567]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L508-L567).
43+
- **jsonl_export_import_roundtrip**: Exports sample_db to JSONL, closes original, creates new DB, imports via `IMPORT DATABASE file://...`, then verifies counts (User 20, Movie 15, Actor 10, LogEntry 10, Config 5) and data integrity (first user name is "User0"). See [test_exporter.py#L508-L567]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L508-L567).
4444

4545
### TestExportWithBulkInsert
4646

47-
- **export_after_chunked_insert**: Uses chunked transactions (no `batch_context`) to create 500 Product vertices, exports to JSONL, asserts `vertices == 500`. See [test_exporter.py#L567-L605]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_exporter.py#L567-L605).
47+
- **export_after_chunked_insert**: Uses chunked transactions (no `batch_context`) to create 500 Product vertices, exports to JSONL, asserts `vertices == 500`. See [test_exporter.py#L567-L605]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_exporter.py#L567-L605).
4848

4949
### TestAllDataTypes
5050

bindings/python/docs/development/testing/test-graph-api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Graph API Tests
22

3-
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_graph_api.py){ .md-button }
3+
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_graph_api.py){ .md-button }
44

5-
These notes mirror the Python tests in [test_graph_api.py]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_graph_api.py). There are 18 tests covering Pythonic wrappers (Document, Vertex, Edge classes) and their methods.
5+
These notes mirror the Python tests in [test_graph_api.py]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_graph_api.py). There are 18 tests covering Pythonic wrappers (Document, Vertex, Edge classes) and their methods.
66

77
## Overview
88

bindings/python/docs/development/testing/test-importer.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Data Import Tests
22

3-
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_importer.py){ .md-button }
3+
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_importer.py){ .md-button }
44

5-
These notes mirror the Python tests in [test_importer.py]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_importer.py). There are 16 tests focused on CSV import (documents, vertices), delimiter handling, type inference nuances, NULL/empty values, stats, error cases, batch commits, Unicode, and a small performance smoke.
5+
These notes mirror the Python tests in [test_importer.py]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_importer.py). There are 16 tests focused on CSV import (documents, vertices), delimiter handling, type inference nuances, NULL/empty values, stats, error cases, batch commits, Unicode, and a small performance smoke.
66

77
## Quick Start
88

@@ -37,11 +37,11 @@ with arcadedb.create_database("./mydb") as db:
3737

3838
### 1) CSV as documents
3939

40-
Creates a `Person` document type and imports three rows; asserts stats `documents == 3`, `errors == 0`, and verifies properties for `Alice/New York`. See [test_importer.py#L26-L57]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_importer.py#L26-L57).
40+
Creates a `Person` document type and imports three rows; asserts stats `documents == 3`, `errors == 0`, and verifies properties for `Alice/New York`. See [test_importer.py#L26-L57]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_importer.py#L26-L57).
4141

4242
### 2) CSV as vertices
4343

44-
Creates a `Product` vertex type and imports three rows as vertices using `typeIdProperty="id"`; asserts `vertices == 3`, `documents == 0`, and checks `name/category` values. See [test_importer.py#L60-L93]({{ config.repo_url }}/blob/{{ config.extra.version }}/bindings/python/tests/test_importer.py#L60-L93).
44+
Creates a `Product` vertex type and imports three rows as vertices using `typeIdProperty="id"`; asserts `vertices == 3`, `documents == 0`, and checks `name/category` values. See [test_importer.py#L60-L93]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_importer.py#L60-L93).
4545

4646
### 3) Custom delimiter (TSV)
4747

0 commit comments

Comments
 (0)