clearml-server/apiserver/tests/automated/test_move_under_project.py
allegroai bca3a6e556 Set default task active duration to None
Move endpoints to new API version
Support tasks.move and models.move for moving tasks and models into projects
Support new project name in tasks.clone
Improve task active duration migration
2021-01-05 18:05:44 +02:00

46 lines
1.8 KiB
Python

from apiserver.tests.automated import TestService
class TestMoveUnderProject(TestService):
entity_name = "test move"
def setUp(self, version="2.12"):
super().setUp(version=version)
def test_move(self):
# task move into the new project
task = self._temp_task()
project = self.api.tasks.move(ids=[task], project_name=self.entity_name).project_id
tasks = self.api.tasks.get_all_ex(id=[task]).tasks
self.assertEqual(project, tasks[0].project.id)
projects = self.api.projects.get_all_ex(id=[project]).projects
self.assertEqual(self.entity_name, projects[0].name)
# task clone
p2_name = "project_for_clone"
task2 = self.api.tasks.clone(task=task, new_project_name=p2_name).id
tasks = self.api.tasks.get_all_ex(id=[task2]).tasks
project2 = tasks[0].project.id
self.assertTrue(project2)
projects = self.api.projects.get_all_ex(id=[project2]).projects
self.assertEqual(p2_name, projects[0].name)
self.api.projects.delete(project=project2, force=True)
# model move into existing project referenced by name
model = self._temp_model()
self.api.models.move(ids=[model], project_name=self.entity_name)
models = self.api.models.get_all_ex(id=[model]).models
self.assertEqual(project, models[0].project.id)
self.api.projects.delete(project=project, force=True)
def _temp_task(self):
task_input = dict(
name=self.entity_name, type="training", input=dict(mapping={}, view=dict(entries=[])),
)
return self.create_temp("tasks", **task_input)
def _temp_model(self):
model_input = dict(name=self.entity_name, uri="file:///a/b", labels={})
return self.create_temp("models", **model_input)