FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

feat(core, postgres): Add RunFunctionWaitStrategy and use it in pg by jankatins · Pull Request #908 · testcontainers/testcontainers-python · GitHub

feat(core, postgres): Add RunFunctionWaitStrategy and use it in pg - #908

Closed
jankatins wants to merge 2 commits into
testcontainers:mainfrom
jankatins:feat/add-RunFunctionWaitStrategy-and-use-it-in-pg
Closed

feat(core, postgres): Add RunFunctionWaitStrategy and use it in pg#908
jankatins wants to merge 2 commits into
testcontainers:mainfrom
jankatins:feat/add-RunFunctionWaitStrategy-and-use-it-in-pg

Conversation

jankatins commented Oct 18, 2025
edited
Loading

Copy link
Copy Markdown
Contributor

I found no way to convert the current container.exec() based check function to any of the currently existing WaitStartegies and so I added RunFunctionWaitStrategy which can be used to convert such container.exec() based checks.

Helps with: #874
Closes: #883

jankatins force-pushed the feat/add-RunFunctionWaitStrategy-and-use-it-in-pg branch from b4ea0ee to d2b2200 Compare October 18, 2025 15:15
result = self.func(container)
if result:
return result
except tuple(self._transient_exceptions) as e:

jankatins Oct 18, 2025
edited
Loading

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

I actually found no reason why this shouldn't be a tuple already on self -> might be an nice refactoring on WaitStrategy and where it's used.

]
)
if result.exit_code:
raise ConnectionError("pg_isready is not ready yet")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

I assume that the pg_isready is some missing change in an older commit. I haven't investigated more...

return returns.pop(0)

strategy = RunFunctionWaitStrategy(func).with_poll_interval(0)
strategy.wait_until_ready(mock_container) # type: ignore[arg-type]

jankatins Oct 18, 2025
edited
Loading

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

For some reason mypy didn't like passing in the mock and I had to add the ignore despite other places in the same file not having this problem with mock. No idea why :-(

codecov Bot commented Oct 18, 2025
edited
Loading

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.25%. Comparing base (f608df9) to head (202c8f4).
⚠️ Report is 30 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #908      +/-   ##
==========================================
+ Coverage   79.78%   80.25%   +0.46%     
==========================================
  Files          14       14              
  Lines        1182     1200      +18     
  Branches      184      186       +2     
==========================================
+ Hits          943      963      +20     
+ Misses        197      195       -2     
  Partials       42       42              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

jankatins force-pushed the feat/add-RunFunctionWaitStrategy-and-use-it-in-pg branch 3 times, most recently from 8c1e4f9 to 531934a Compare October 18, 2025 22:11
This is usefull for converting old wait_container_is_ready
which use container.exec() to check for a condition to become True.
This gets rid of a annoying depcreation warning.
jankatins force-pushed the feat/add-RunFunctionWaitStrategy-and-use-it-in-pg branch from 394bc31 to 202c8f4 Compare November 3, 2025 21:00

Copy link
Copy Markdown
Contributor Author

I guess this can be closed after #935 was merged?

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants


Back | FazBrowse Home | New Git URL