-
Notifications
You must be signed in to change notification settings - Fork 54
feat: add async PostgreSQL fixture support #1295
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 22 commits
Commits
Show all changes
102 commits
Select commit
Hold shift + click to select a range
2a9f84e
feat: add async support for PostgreSQL janitor and loader
tboy1337 526ee6c
test: enhance async tests for Database Janitor and Loader
tboy1337 2258c81
fix: improve error handling for missing optional dependencies in asyn…
tboy1337 5c92310
fix: resolve double plugin registration, add asyncio_mode and default…
tboy1337 ea71a07
Revert "fix: resolve double plugin registration, add asyncio_mode and…
tboy1337 990496a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] fe8c553
fix: enhance async fixture and retry tests
tboy1337 1384100
Merge branch 'async' of https://github.com/tboy1337/pytest-postgresql…
tboy1337 f16583a
refactor: update connection handling in AsyncDatabaseJanitor
tboy1337 38a5ae4
fix: add space in SQL query for connection termination
tboy1337 bdca11e
refactor: improve PostgreSQLExecutor and AsyncDatabaseJanitor handling
tboy1337 2267c00
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 717e81f
revert: remove Windows-specific changes deferred to PR-1182
tboy1337 685cb57
fix: resolve merge conflicts by keeping HEAD (exclude Windows changes…
tboy1337 83c7bae
refactor: enhance SQL query handling in DatabaseJanitor and AsyncData…
tboy1337 e9911ea
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] c23b364
fix: improve error handling in postgresql_async fixture
tboy1337 17d37ea
Merge branch 'async' of https://github.com/tboy1337/pytest-postgresql…
tboy1337 bfbff75
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] e2d10f2
fix: enhance postgresql_async fixture to provide synchronous stub whe…
tboy1337 24ec05d
Resolve merge conflict in factories/client.py: drop redundant in-body…
tboy1337 b40ac9d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 257e61d
feat: add async testing support and improve documentation
tboy1337 16b8ce3
refactor: streamline temporary directory creation in postgresql_proc …
tboy1337 c633ff6
Merge branch 'main' from dbfixtures/pytest-postgresql into async
tboy1337 bab9403
Fix xdist CI failures and raise patch coverage for async changes.
tboy1337 f4bf1b9
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] c6390a5
Replace mock coverage tests with integration tests for async paths.
tboy1337 4cf5706
Fix postgresql_oldest and Windows CI failures for async support.
tboy1337 50377e1
Replace mock AsyncDatabaseJanitor SQL tests with Postgres integration…
tboy1337 91b7305
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 96289b8
Fix mypy errors in janitor integration test helpers.
tboy1337 8c866fc
Update pytest-asyncio dependency to version 0.24 in Pipfile and pypro…
tboy1337 18f04d7
Enhance README and client.py documentation for async fixtures, specif…
tboy1337 7c28065
Update error message in test for pytest-asyncio version requirement t…
tboy1337 2a51cd2
Update pytest-postgresql plugin to set Windows event loop policy cond…
tboy1337 34c3d47
Refactor password handling in janitor tests to address linting warnin…
tboy1337 b87cef4
Refactor fixture scope handling in PostgreSQL factories by removing t…
tboy1337 c98d05b
Update README to remove unnecessary version details for async fixture…
tboy1337 c5270ff
Update pytest-asyncio dependency to version 1.4 across configuration …
tboy1337 470b4aa
Enhance README to clarify the handling of Windows event loop policy w…
tboy1337 c21daac
Refactor Windows event loop handling in pytest-postgresql plugin to i…
tboy1337 679d8b9
Refactor pytest-asyncio loop factory implementation in the Windows co…
tboy1337 9bdf215
Add support for optional pytest-asyncio import in plugin.py
tboy1337 9e86627
ci: re-trigger workflow after runner communication flake on 3.10
tboy1337 214179f
Refactor loader functions to remove maxsplit in regex for import path…
tboy1337 4adf2ed
Enhance README and plugin.py to clarify Windows event loop handling f…
tboy1337 2cb91f2
Merge remote-tracking branch 'dbfixtures/main' into async
tboy1337 b5c27f0
Address fizyk review: CI for async extra, consolidate build_loader
tboy1337 62208bb
ci: harden workflow permissions and checkout credentials
tboy1337 ab73a27
ci: run async-extra jobs without waiting on postgresql_18
tboy1337 e711381
ci: scope workflow permissions to individual jobs
tboy1337 012efbf
ci: drop actions:write and harden async pytest env; sort factories __…
tboy1337 274b938
fix(ci): use GHA expressions for async pytest paths on Windows
tboy1337 d27f5f0
fix: guard port lock cleanup when port selection fails early
tboy1337 b781b33
fix: ensure foreign port lock files are preserved on exhausted retries
tboy1337 38c8771
fix: suppress exception chaining in port selection error message
tboy1337 cd7dcbe
fix: enhance async fixture handling and improve Windows event loop co…
tboy1337 5635e1a
fix: enhance async fixture support and improve documentation
tboy1337 53e2eb2
fix: enhance async fixture documentation and improve janitor configur…
tboy1337 3c77031
fix: update license file reference and enhance documentation for asyn…
tboy1337 747deba
docs: update rendered mermaid diagram [skip ci]
tboy1337 7e9b6b3
fix: enhance async fixture behavior and improve documentation
tboy1337 13ef883
Merge branch 'async' of https://github.com/tboy1337/pytest-postgresql…
tboy1337 876eeac
fix: handle None isolation level in database connections
tboy1337 c97c49b
fix: correct typos and update PostgreSQL version references
tboy1337 c501f4c
refactor: streamline janitor configuration with shared protocol
tboy1337 5d1ff05
refactor: simplify PostgreSQL path detection and enhance test structure
tboy1337 2d4c4b4
docs: update rendered mermaid diagram [skip ci]
tboy1337 3b08c32
Merge branch 'main' from dbfixtures/pytest-postgresql into async
tboy1337 2666f8c
fix: resolve CI failures for mypy, port-lock test, and Windows initdb
tboy1337 d9d7fe4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] cd42e3e
fix: use initdb.exe on Windows and avoid xdist port collisions in tea…
tboy1337 12ed487
fix: stabilize xdist port-lock tests and Windows async CI initdb
tboy1337 fad62e2
ci: use separate Windows step for async test bootstrap
tboy1337 f1b2240
fix: unify Windows async CI pytest command with Linux
tboy1337 7fd6ac7
fix: prepare initdb parent directory on Windows without pre-creating …
tboy1337 4e8fa12
fix: restore pg_ctl initdb on Windows and bootstrap async CI session
tboy1337 2209ae1
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 632df8d
fix: pass only locale env to initdb and order bootstrap tests first
tboy1337 d090b6c
fix: merge process env for initdb while unsetting inherited PGDATA
tboy1337 6cfef63
fix: make postgresql_proc a non-generator session fixture
tboy1337 ea269f7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] e5dabeb
fix: align Windows async CI initdb with main executor behavior
tboy1337 a3fae2c
fix: use flat Windows pgdata path outside pytest temp parents
tboy1337 4d2872d
fix: keep Windows postgres logs beside flat pgdata paths
tboy1337 d1a0e86
fix: default Windows asyncio tests to SelectorEventLoop
tboy1337 ca251ae
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] b4ec0b3
fix: satisfy mypy in port-lock tests and stabilize Windows plugin tests
tboy1337 23bca9a
fix: make janitor drop idempotent and stabilize legacy policy test
tboy1337 ccda153
fix: refactor Windows initdb command test to use monkeypatch
tboy1337 bcd5c8b
fix: enhance PostgreSQLExecutor environment handling and improve test…
tboy1337 d859a44
refactor: improve PostgreSQLExecutor initialization and enhance test …
tboy1337 2679b40
Fix CI failures for Windows pg_ctl log paths and docker async load test.
tboy1337 2697bda
ci: re-trigger workflows after stuck xdist runner on postgresql_18 (3…
tboy1337 6f64fef
Fix xdist teardown hang by skipping rmtree while PostgreSQL is running.
tboy1337 4a66e1c
fix: improve password handling in PostgreSQLExecutor initialization
tboy1337 4a23843
fix: improve async handling in janitor and update test structure
tboy1337 8c61f4f
ci: harden oldest-postgres workflow against xdist hangs
tboy1337 6f833af
ci: add 30-minute job timeout to all PostgreSQL test workflows
tboy1337 1e8ab5f
fix: enhance error handling and resource management in PostgreSQLExec…
tboy1337 3f921ed
fix: update initdb command options for Windows compatibility
tboy1337 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| Added async PostgreSQL fixture support via ``postgresql_async`` factory and ``AsyncDatabaseJanitor``. | ||
| Added configurable fixture ``scope`` parameter to ``postgresql``, ``postgresql_async``, ``postgresql_proc``, and ``postgresql_noproc`` factories (defaults preserved: ``"function"`` for client fixtures, ``"session"`` for process fixtures). | ||
| Added optional ``async`` extra (``pip install pytest-postgresql[async]``) providing ``pytest-asyncio`` and ``aiofiles`` dependencies. |
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
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
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
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
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.