Respect the string_if_invalid template setting when
--fail-on-template-vars is active and
:func:@pytest.mark.ignore_template_errors <pytest.mark.ignore_template_errors>
is used.
Avoid running database migrations for :class:~django.test.SimpleTestCase
unittest tests.
Added docstrings to public fixtures.
Bugfixes
^^^^^^^^
Fix type hints for pytest_django.asserts.assertFormError() and
pytest_django.asserts.assertForSetError().
can_send_already_matched_responses (boolean), defaulting to False.
Assertion failure message in case of unmatched responses is now linking documentation on how to deactivate the check.
Assertion failure message in case of unmatched requests is now linking documentation on how to deactivate the check.
httpx.TimeoutException message issued in case of unmatched request is now linking documentation on how to reuse responses (in case some responses are already matched).
Fixed
Documentation now clearly state the risks associated with changing the default options.
Assertion failure message in case of unmatched requests at teardown is now describing requests in a more user-friendly way.
Assertion failure message in case of unmatched requests at teardown is now prefixing requests with - to highlight the fact that this is a list, preventing misapprehension in case only one element exists.
Assertion failure message in case of unmatched responses at teardown is now prefixing responses with - to highlight the fact that this is a list, preventing misapprehension in case only one element exists.
httpx.TimeoutException message issued in case of unmatched request is now prefixing available responses with - to highlight the fact that this is a list, preventing misapprehension in case only one element exists.
httpx.TimeoutException message issued in case of unmatched request is now listing unmatched responses (in registration order) before already matched one (still in registration order).
The incentive behind this change is to help identify a potential mismatch faster as the first unmatched response is the most likely to be the one expected to match.
Response description in failure messages (httpx.TimeoutException message issued in case of unmatched request or assertion failure message in case of unmatched responses at teardown) is now displaying if the response was already matched or not and less misleading in it's phrasing about what it can match (a single request by default).
Changed
Last registered matching response will not be reused by default anymore in case all matching responses have already been sent.
This behavior can be changed thanks to the new pytest.mark.httpx_mock(can_send_already_matched_responses=True) option.
The incentive behind this change is to spot regression if a request was issued more than the expected number of times.
HTTPXMock class was only exposed for type hinting purpose. This is now explained in the class docstring.
As a result this is the last time a change to __init__ signature will be documented and considered a breaking change.
Future changes will not be documented and will be considered as internal refactoring not worth a version bump.
__init__ now expects one parameter, the newly introduced (since [0.31.0]) options.
HTTPXMockOptions class was never intended to be exposed and is now marked as private.
0.31.2 (2024-09-23)
Fixed
httpx_mock marker can now be defined at different levels for a single test.
0.31.1 (2024-09-22)
Fixed
It is now possible to match on content provided as async iterable by the client.
0.31.0 (2024-09-20)
Changed
Tests will now fail at teardown by default if some requests were issued but were not matched.
This behavior can be changed thanks to the new pytest.mark.httpx_mock(assert_all_requests_were_expected=False) option.
The httpx_mock fixture is now configured using a marker (many thanks to Frazer McLean).
# Apply marker to whole module
pytestmark = pytest.mark.httpx_mock(assert_all_responses_were_requested=False)
can_send_already_matched_responses (boolean), defaulting to False.
Assertion failure message in case of unmatched responses is now linking documentation on how to deactivate the check.
Assertion failure message in case of unmatched requests is now linking documentation on how to deactivate the check.
httpx.TimeoutException message issued in case of unmatched request is now linking documentation on how to reuse responses (in case some responses are already matched).
Fixed
Documentation now clearly state the risks associated with changing the default options.
Assertion failure message in case of unmatched requests at teardown is now describing requests in a more user-friendly way.
Assertion failure message in case of unmatched requests at teardown is now prefixing requests with - to highlight the fact that this is a list, preventing misapprehension in case only one element exists.
Assertion failure message in case of unmatched responses at teardown is now prefixing responses with - to highlight the fact that this is a list, preventing misapprehension in case only one element exists.
httpx.TimeoutException message issued in case of unmatched request is now prefixing available responses with - to highlight the fact that this is a list, preventing misapprehension in case only one element exists.
httpx.TimeoutException message issued in case of unmatched request is now listing unmatched responses (in registration order) before already matched one (still in registration order).
The incentive behind this change is to help identify a potential mismatch faster as the first unmatched response is the most likely to be the one expected to match.
Response description in failure messages (httpx.TimeoutException message issued in case of unmatched request or assertion failure message in case of unmatched responses at teardown) is now displaying if the response was already matched or not and less misleading in it's phrasing about what it can match (a single request by default).
Changed
Last registered matching response will not be reused by default anymore in case all matching responses have already been sent.
This behavior can be changed thanks to the new pytest.mark.httpx_mock(can_send_already_matched_responses=True) option.
The incentive behind this change is to spot regression if a request was issued more than the expected number of times.
HTTPXMock class was only exposed for type hinting purpose. This is now explained in the class docstring.
As a result this is the last time a change to __init__ signature will be documented and considered a breaking change.
Future changes will not be documented and will be considered as internal refactoring not worth a version bump.
__init__ now expects one parameter, the newly introduced (since [0.31.0]) options.
HTTPXMockOptions class was never intended to be exposed and is now marked as private.
[0.31.2] - 2024-09-23
Fixed
httpx_mock marker can now be defined at different levels for a single test.
[0.31.1] - 2024-09-22
Fixed
It is now possible to match on content provided as async iterable by the client.
[0.31.0] - 2024-09-20
Changed
Tests will now fail at teardown by default if some requests were issued but were not matched.
This behavior can be changed thanks to the new pytest.mark.httpx_mock(assert_all_requests_were_expected=False) option.
The incentive behind this change is to spot unexpected requests in case code is swallowing httpx.TimeoutException.
The httpx_mock fixture is now configured using a marker (many thanks to Frazer McLean).
# Apply marker to whole module
pytestmark = pytest.mark.httpx_mock(assert_all_responses_were_requested=False)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the python-packages group with 5 updates in the / directory:
1.35.8
1.35.28
4.8.0
4.9.0
0.30.0
0.32.0
2024.1
2024.2
2.13.0
2.14.0
Updates
boto3
from 1.35.8 to 1.35.28Commits
8307fac
Merge branch 'release-1.35.28'4709d04
Bumping version to 1.35.2802fc8c8
Add changelog entries from botocoreddc499b
Merge pull request #4264 from ashishdhingra/user/ashdhin/IssueTemplateRegress...7b8a011
chore: Modified bug issue template to add checkbox to report potential regres...5dc18b0
Merge branch 'release-1.35.27'920e1bc
Merge branch 'release-1.35.27' into develop1ff45cb
Bumping version to 1.35.27ba3bf6c
Add changelog entries from botocoreda0ba20
Merge branch 'release-1.35.26'Updates
pytest-django
from 4.8.0 to 4.9.0Release notes
Sourced from pytest-django's releases.
Changelog
Sourced from pytest-django's changelog.
Commits
1157a7c
Release 4.9.0089843c
Add a few type annotationsd878d56
Add a missing type annotation19605d7
fail-on-template-vars: modernize stack inspection code (#1129)c746a46
Avoid running database migrations forSimpleTestCase
(#1120)8502a12
Replace psycopg2, psycopg2cffi -> psycopg in testing and docs52b2205
Drop support for EOL Django 3.2, 4.1, add support for 5.1c66f9d3
ci: use trusted publishing for release30602a2
tox: update ruff, mypya39b910
Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.10.0Updates
pytest-httpx
from 0.30.0 to 0.32.0Release notes
Sourced from pytest-httpx's releases.
... (truncated)
Changelog
Sourced from pytest-httpx's changelog.
... (truncated)
Commits
dcc725f
Merge pull request #160 from Colin-b/develop2da1848
Avoid unused variables with a dedicated name50bd257
Document how to use httpx.URL179007e
Document the new link9ddead6
Link response reuse documentation08b3803
Release version 0.32.0853c5f7
Keep number of tests up to date33cd894
Merge remote-tracking branch 'origin/develop' into feature/toggle_repeatd9a9b86
Cleanup failure description for can_send_already_matched_responses users as well356026b
Cleanup failure descriptionUpdates
pytz
from 2024.1 to 2024.2Commits
3944f75
Bump version numbers to 2024.2 / 2024b640c9bd
IANA 2024b382ca0c
Squashed 'tz/' changes from 380c07cef..923e54bae96a1e88
Stop testing unavailable and EOL Python 3.568186b6
Add support for Python 3.13e994058
Run other jobs if one fails2326f9f
Bump GitHub ActionsUpdates
sentry-sdk
from 2.13.0 to 2.14.0Release notes
Sourced from sentry-sdk's releases.
Changelog
Sourced from sentry-sdk's changelog.
Commits
1e73ce9
Updated changelog3d0edfd
release: 2.14.06814df9
tests: Remove broken bottle tests (#3505)0934e04
Fixed config for old coverage versions (#3504)9fc3bd2
Fix AWS Lambda tests (#3495)e99873d
Better test coverage reports (#3498)0fb9606
feat(celery): Add wrapper forCelery().send_task
to support behavior as `Ta...16d05f4
fix(django): SentryWrappingMiddleware.init fails if super() is object9df2b21
feat(strawberry): Support Strawberry 0.239.2 (#3491)cd15bff
ref: Remove obsolete object as superclass (#3480)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show