def test_create_task_with_offset(self): task_name = self.generate_name("it_task") flux = \ '''option task = {{ name: "{task_name}", every: 1h, offset: 30m }} {flux} '''.format(task_name=task_name, flux=TASK_FLUX) task = Task(id=0, name=task_name, org_id=self.organization.id, flux=flux, status="active", description="Task Description") task = self.tasks_api.create_task(task) print(task) self.assertIsNotNone(task) self.assertEqual(task.offset, "30m")
def test_create_task(self): task_name = self.generate_name("it_task") flux = \ '''option task = {{ name: "{task_name}", every: 1h }} {flux} '''.format(task_name=task_name, flux=TASK_FLUX) task = Task(id=0, name=task_name, org_id=self.organization.id, flux=flux, status="active", description="Task Description") task = self.tasks_api.create_task(task) print(task) self.assertIsNotNone(task) self.assertGreater(len(task.id), 1) self.assertEqual(task.name, task_name) self.assertEqual(task.org_id, self.organization.id) self.assertEqual(task.status, "active") self.assertEqual(task.every, "1h") self.assertEqual(task.cron, None) self.assertEqualIgnoringWhitespace(task.flux, flux) self.assertEqual(task.description, "Task Description")
def _create_task(name: str, flux: str, every, cron, org_id: str) -> Task: task = Task(id=0, name=name, org_id=org_id, status="active", flux=flux) repetition = "" if every is not None: repetition += "every: " repetition += every if cron is not None: repetition += "cron: " repetition += '"' + cron + '"' flux_with_options = 'option task = {{name: "{}", {}}} \n {}'.format(name, repetition, flux) task.flux = flux_with_options return task
def clone_task(self, task: Task) -> Task: """Clone a task.""" cloned = Task(name=task.name, org_id=task.org_id, org=task.org, flux=task.flux, status="active") created = self.create_task(cloned) labels = self.get_labels(task) for label in labels: self.add_label(label, created.id) return created