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()