mirror of
https://github.com/clearml/clearml-server
synced 2025-06-26 23:15:47 +00:00
Fix batch operations results
This commit is contained in:
@@ -21,8 +21,8 @@ class TestBatchOperations(TestService):
|
||||
|
||||
# enqueue
|
||||
res = self.api.tasks.enqueue_many(ids=ids)
|
||||
self.assertEqual(res.succeeded, 2)
|
||||
self._assert_failures(res, [missing_id])
|
||||
self._assert_succeeded(res, tasks)
|
||||
self._assert_failed(res, [missing_id])
|
||||
data = self.api.tasks.get_all_ex(id=ids).tasks
|
||||
self.assertEqual({t.status for t in data}, {"queued"})
|
||||
|
||||
@@ -30,15 +30,15 @@ class TestBatchOperations(TestService):
|
||||
for t in tasks:
|
||||
self.api.tasks.started(task=t)
|
||||
res = self.api.tasks.stop_many(ids=ids)
|
||||
self.assertEqual(res.succeeded, 2)
|
||||
self._assert_failures(res, [missing_id])
|
||||
self._assert_succeeded(res, tasks)
|
||||
self._assert_failed(res, [missing_id])
|
||||
data = self.api.tasks.get_all_ex(id=ids).tasks
|
||||
self.assertEqual({t.status for t in data}, {"stopped"})
|
||||
|
||||
# publish
|
||||
res = self.api.tasks.publish_many(ids=ids, publish_model=False)
|
||||
self.assertEqual(res.succeeded, 2)
|
||||
self._assert_failures(res, [missing_id])
|
||||
self._assert_succeeded(res, tasks)
|
||||
self._assert_failed(res, [missing_id])
|
||||
data = self.api.tasks.get_all_ex(id=ids).tasks
|
||||
self.assertEqual({t.status for t in data}, {"published"})
|
||||
|
||||
@@ -46,23 +46,26 @@ class TestBatchOperations(TestService):
|
||||
res = self.api.tasks.reset_many(
|
||||
ids=ids, delete_output_models=True, return_file_urls=True, force=True
|
||||
)
|
||||
self.assertEqual(res.succeeded, 2)
|
||||
self.assertEqual(res.deleted_models, 2)
|
||||
self.assertEqual(set(res.urls.model_urls), {"uri_0", "uri_1"})
|
||||
self._assert_failures(res, [missing_id])
|
||||
self._assert_succeeded(res, tasks)
|
||||
self.assertEqual(sum(t.deleted_models for t in res.succeeded), 2)
|
||||
self.assertEqual(
|
||||
set(url for t in res.succeeded for url in t.urls.model_urls),
|
||||
{"uri_0", "uri_1"},
|
||||
)
|
||||
self._assert_failed(res, [missing_id])
|
||||
data = self.api.tasks.get_all_ex(id=ids).tasks
|
||||
self.assertEqual({t.status for t in data}, {"created"})
|
||||
|
||||
# archive/unarchive
|
||||
res = self.api.tasks.archive_many(ids=ids)
|
||||
self.assertEqual(res.succeeded, 2)
|
||||
self._assert_failures(res, [missing_id])
|
||||
self._assert_succeeded(res, tasks)
|
||||
self._assert_failed(res, [missing_id])
|
||||
data = self.api.tasks.get_all_ex(id=ids).tasks
|
||||
self.assertTrue(all("archived" in t.system_tags for t in data))
|
||||
|
||||
res = self.api.tasks.unarchive_many(ids=ids)
|
||||
self.assertEqual(res.succeeded, 2)
|
||||
self._assert_failures(res, [missing_id])
|
||||
self._assert_succeeded(res, tasks)
|
||||
self._assert_failed(res, [missing_id])
|
||||
data = self.api.tasks.get_all_ex(id=ids).tasks
|
||||
self.assertFalse(any("archived" in t.system_tags for t in data))
|
||||
|
||||
@@ -70,8 +73,8 @@ class TestBatchOperations(TestService):
|
||||
res = self.api.tasks.delete_many(
|
||||
ids=ids, delete_output_models=True, return_file_urls=True
|
||||
)
|
||||
self.assertEqual(res.succeeded, 2)
|
||||
self._assert_failures(res, [missing_id])
|
||||
self._assert_succeeded(res, tasks)
|
||||
self._assert_failed(res, [missing_id])
|
||||
data = self.api.tasks.get_all_ex(id=ids).tasks
|
||||
self.assertEqual(data, [])
|
||||
|
||||
@@ -90,33 +93,36 @@ class TestBatchOperations(TestService):
|
||||
res = self.api.models.publish_many(
|
||||
ids=ids, publish_task=True, force_publish_task=True
|
||||
)
|
||||
self.assertEqual(res.succeeded, 1)
|
||||
self.assertEqual(res.published_tasks[0].id, task)
|
||||
self._assert_failures(res, [ids[1], missing_id])
|
||||
self._assert_succeeded(res, [ids[0]])
|
||||
self.assertEqual(res.succeeded[0].published_task.id, task)
|
||||
self._assert_failed(res, [ids[1], missing_id])
|
||||
|
||||
# archive/unarchive
|
||||
res = self.api.models.archive_many(ids=ids)
|
||||
self.assertEqual(res.succeeded, 2)
|
||||
self._assert_failures(res, [missing_id])
|
||||
self._assert_succeeded(res, models)
|
||||
self._assert_failed(res, [missing_id])
|
||||
data = self.api.models.get_all_ex(id=ids).models
|
||||
self.assertTrue(all("archived" in m.system_tags for m in data))
|
||||
|
||||
res = self.api.models.unarchive_many(ids=ids)
|
||||
self.assertEqual(res.succeeded, 2)
|
||||
self._assert_failures(res, [missing_id])
|
||||
self._assert_succeeded(res, models)
|
||||
self._assert_failed(res, [missing_id])
|
||||
data = self.api.models.get_all_ex(id=ids).models
|
||||
self.assertFalse(any("archived" in m.system_tags for m in data))
|
||||
|
||||
# delete
|
||||
res = self.api.models.delete_many(ids=[*models, missing_id], force=True)
|
||||
self.assertEqual(res.succeeded, 2)
|
||||
self.assertEqual(set(res.urls), set(uris))
|
||||
self._assert_failures(res, [missing_id])
|
||||
self._assert_succeeded(res, models)
|
||||
self.assertEqual(set(m.url for m in res.succeeded), set(uris))
|
||||
self._assert_failed(res, [missing_id])
|
||||
data = self.api.models.get_all_ex(id=ids).models
|
||||
self.assertEqual(data, [])
|
||||
|
||||
def _assert_failures(self, res, failed_ids):
|
||||
self.assertEqual(set(f.id for f in res.failures), set(failed_ids))
|
||||
def _assert_succeeded(self, res, succeeded_ids):
|
||||
self.assertEqual(set(f.id for f in res.succeeded), set(succeeded_ids))
|
||||
|
||||
def _assert_failed(self, res, failed_ids):
|
||||
self.assertEqual(set(f.id for f in res.failed), set(failed_ids))
|
||||
|
||||
def _temp_model(self, **kwargs):
|
||||
self.update_missing(kwargs, name=self.name, uri="file:///a/b", labels={})
|
||||
|
||||
Reference in New Issue
Block a user