mirror of
https://github.com/clearml/clearml-server
synced 2025-02-07 21:43:11 +00:00
![allegroai](/assets/img/avatar_default.png)
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
46 lines
1.8 KiB
Python
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)
|