Files
central-task/tasks/tests/test_factories.py

39 lines
1.1 KiB
Python
Raw Normal View History

2025-12-05 13:45:16 +08:00
import factory
from django.utils import timezone
from tasks.models import Client, Task, TaskResult
class ClientFactory(factory.django.DjangoModelFactory):
class Meta:
model = Client
name = factory.Sequence(lambda n: f"client_{n}")
token = factory.Faker('uuid4')
last_seen = timezone.now()
created_at = timezone.now()
class TaskFactory(factory.django.DjangoModelFactory):
class Meta:
model = Task
name = factory.Sequence(lambda n: f"task_{n}")
client_name = factory.Sequence(lambda n: f"client_{n}")
script = factory.Faker('text')
status = 'pending'
timeout_seconds = 3600 # 1 hour
created_at = timezone.now()
updated_at = timezone.now()
assigned_to = None
started_at = None
completed_at = None
class TaskResultFactory(factory.django.DjangoModelFactory):
class Meta:
model = TaskResult
task = factory.SubFactory(TaskFactory)
client = factory.SubFactory(ClientFactory)
result_file = None
status = 'success'
message = factory.Faker('text')
created_at = timezone.now()