django-lambda-tasks 0.4.9__tar.gz → 0.4.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/PKG-INFO +1 -1
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/decorators.py +1 -1
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/pyproject.toml +1 -1
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_deferred_enqueue.py +16 -2
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.github/workflows/ci.yml +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.github/workflows/release.yml +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.gitignore +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/async-local-execution/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/async-local-execution/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/async-local-execution/requirements.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/async-local-execution/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/deferred-task-enqueue/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/deferred-task-enqueue/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/deferred-task-enqueue/requirements.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/deferred-task-enqueue/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/eager-mode-example-app/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/eager-mode-example-app/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/eager-mode-example-app/requirements.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/eager-mode-example-app/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/ignore-errors-decorator-option/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/ignore-errors-decorator-option/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/ignore-errors-decorator-option/requirements.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/ignore-errors-decorator-option/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/import-string-task-resolution/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/import-string-task-resolution/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/import-string-task-resolution/requirements.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/import-string-task-resolution/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/retry-delay/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/retry-delay/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/retry-delay/requirements.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/retry-delay/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/rse-background-tasks/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/rse-background-tasks/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/rse-background-tasks/requirements.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/rse-background-tasks/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/rse-background-tasks-bugfix/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/rse-background-tasks-bugfix/bugfix.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/rse-background-tasks-bugfix/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/rse-background-tasks-bugfix/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/singleton-task/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/singleton-task/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/singleton-task/requirements.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/singleton-task/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/ssm-environment-loader/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/ssm-environment-loader/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/ssm-environment-loader/requirements.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/ssm-environment-loader/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/task-retry/.config.kiro +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/task-retry/design.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/task-retry/requirements.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/task-retry/tasks.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/steering/product.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/steering/structure.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/steering/tech.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.pre-commit-config.yaml +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.vscode/settings.json +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/README.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/README.md +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_app/__init__.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_app/apps.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_app/tasks.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_app/urls.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_app/views.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_project/__init__.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_project/settings.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_project/urls.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_project/wsgi.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/manage.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/__init__.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/admin.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/apps.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/environment_loader.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/handler.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/local_executor.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/logging.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/migrations/0001_initial.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/migrations/0002_alter_taskrecord_status.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/migrations/__init__.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/models.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/secret_loader.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/settings.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/tasks.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/timeouts.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/conftest.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/settings.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_admin.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_decorator.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_decorators.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_environment_loader.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_handler.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_kwargs_only.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_local_executor.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_logging.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_memory_limit.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_models.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_secret_loader.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_serializer.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_settings.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_tasks.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_timeout_validation.py +0 -0
- {django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/tests/test_timeouts.py +0 -0
|
@@ -189,7 +189,7 @@ class LambdaTaskWrapper:
|
|
|
189
189
|
pydantic.ValidationError: if kwargs fail the task's declared type annotations.
|
|
190
190
|
"""
|
|
191
191
|
task = self._build_task(kwargs=kwargs)
|
|
192
|
-
return task.model_dump()
|
|
192
|
+
return task.model_dump(mode="json")
|
|
193
193
|
|
|
194
194
|
def execute_on_commit(self, **kwargs: Any) -> None:
|
|
195
195
|
"""Enqueue the task to run after the current transaction commits."""
|
|
@@ -4,6 +4,7 @@ Unit tests for LambdaTaskWrapper.to_json (TDD red state — to_json does not exi
|
|
|
4
4
|
Task 4.1: unit tests only (no hypothesis).
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
+
import json
|
|
7
8
|
import uuid
|
|
8
9
|
|
|
9
10
|
import pytest
|
|
@@ -19,8 +20,13 @@ def _task(*, x: int) -> None:
|
|
|
19
20
|
pass
|
|
20
21
|
|
|
21
22
|
|
|
23
|
+
def _uuid_task(*, user_id: uuid.UUID) -> None:
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
|
|
22
27
|
_wrapper = LambdaTaskWrapper(_task, delay=0, queue="default")
|
|
23
28
|
_wrapper_with_defaults = LambdaTaskWrapper(_task, delay=5, queue="high_memory")
|
|
29
|
+
_uuid_wrapper = LambdaTaskWrapper(_uuid_task, delay=0, queue="default")
|
|
24
30
|
|
|
25
31
|
|
|
26
32
|
# ---------------------------------------------------------------------------
|
|
@@ -69,12 +75,20 @@ def test_to_json_raises_validation_error_for_missing_required_kwargs():
|
|
|
69
75
|
_wrapper.serialize()
|
|
70
76
|
|
|
71
77
|
|
|
78
|
+
def test_serialize_produces_json_serializable_output_with_uuid_kwargs():
|
|
79
|
+
"""serialize() with UUID kwargs returns a dict that is JSON-serializable."""
|
|
80
|
+
test_id = uuid.uuid4()
|
|
81
|
+
result = _uuid_wrapper.serialize(user_id=test_id)
|
|
82
|
+
# Must be JSON-serializable — this raises TypeError if UUID objects remain
|
|
83
|
+
json.dumps(result)
|
|
84
|
+
# The UUID should be serialized as a string
|
|
85
|
+
assert result["message"]["kwargs"]["user_id"] == str(test_id)
|
|
86
|
+
|
|
87
|
+
|
|
72
88
|
# ---------------------------------------------------------------------------
|
|
73
89
|
# Property-based tests (P1, P2)
|
|
74
90
|
# ---------------------------------------------------------------------------
|
|
75
91
|
|
|
76
|
-
import json
|
|
77
|
-
|
|
78
92
|
from hypothesis import HealthCheck, given, settings
|
|
79
93
|
from hypothesis import strategies as st
|
|
80
94
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/async-local-execution/design.md
RENAMED
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/async-local-execution/tasks.md
RENAMED
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/deferred-task-enqueue/design.md
RENAMED
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/deferred-task-enqueue/tasks.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/eager-mode-example-app/tasks.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/retry-delay/.config.kiro
RENAMED
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/retry-delay/requirements.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/rse-background-tasks/design.md
RENAMED
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/rse-background-tasks/tasks.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/singleton-task/.config.kiro
RENAMED
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/singleton-task/design.md
RENAMED
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/singleton-task/requirements.md
RENAMED
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/singleton-task/tasks.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/ssm-environment-loader/tasks.md
RENAMED
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/task-retry/.config.kiro
RENAMED
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/.kiro/specs/task-retry/requirements.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_project/__init__.py
RENAMED
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/example/example_project/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/migrations/0001_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_lambda_tasks-0.4.9 → django_lambda_tasks-0.4.10}/lambda_tasks/migrations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|