Added tests

main
Maya 5 years ago
parent fb8f5fffcb
commit 0bf3153265

@ -29,7 +29,7 @@ from rest_framework import status
from rest_framework.test import APIClient, APITestCase from rest_framework.test import APIClient, APITestCase
from cvat.apps.engine.models import (AttributeType, Data, Job, Project, from cvat.apps.engine.models import (AttributeType, Data, Job, Project,
Segment, StatusChoice, Task, StorageMethodChoice, UploadedDataStorageLocationChoice) Segment, StatusChoice, Task, StorageMethodChoice, UploadedDataStorageLocationChoice as StorageLocation)
from cvat.apps.engine.prepare import prepare_meta, prepare_meta_for_upload from cvat.apps.engine.prepare import prepare_meta, prepare_meta_for_upload
def create_db_users(cls): def create_db_users(cls):
@ -1640,7 +1640,7 @@ class TaskDataAPITestCase(APITestCase):
def _test_api_v1_tasks_id_data_spec(self, user, spec, data, expected_compressed_type, expected_original_type, image_sizes, def _test_api_v1_tasks_id_data_spec(self, user, spec, data, expected_compressed_type, expected_original_type, image_sizes,
expected_storage_method=StorageMethodChoice.FILE_SYSTEM, expected_storage_method=StorageMethodChoice.FILE_SYSTEM,
expected_uploaded_data_location=None): expected_uploaded_data_location=StorageLocation.LOCAL):
# create task # create task
response = self._create_task(user, spec) response = self._create_task(user, spec)
self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual(response.status_code, status.HTTP_201_CREATED)
@ -1666,12 +1666,11 @@ class TaskDataAPITestCase(APITestCase):
self.assertEqual(len(image_sizes), task["size"]) self.assertEqual(len(image_sizes), task["size"])
db_data = Task.objects.get(pk=task_id).data db_data = Task.objects.get(pk=task_id).data
self.assertEqual(expected_storage_method, db_data.storage_method) self.assertEqual(expected_storage_method, db_data.storage_method)
if expected_uploaded_data_location: self.assertEqual(expected_uploaded_data_location, db_data.uploaded_data_storage_location)
self.assertEqual(expected_uploaded_data_location, db_data.uploaded_data_storage_location) # check if used share without copying inside and files doesn`t exist in ../raw/
# check if used share without copying inside and files doesn`t exist in ../raw/ if expected_uploaded_data_location is StorageLocation.SHARE:
if expected_uploaded_data_location is UploadedDataStorageLocationChoice.SHARE: self.assertEqual(False,
self.assertEqual(False, os.path.exists(os.path.join(db_data.get_upload_dirname(), next(iter(data.values())))))
os.path.exists(os.path.join(db_data.get_upload_dirname(), data.values()[0])))
# check preview # check preview
response = self._get_preview(task_id, user) response = self._get_preview(task_id, user)
@ -1765,7 +1764,7 @@ class TaskDataAPITestCase(APITestCase):
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET, image_sizes) self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET, image_sizes)
task_spec = { task_spec = {
"name": "my task #2", "name": "my task without copying #2",
"overlap": 0, "overlap": 0,
"segment_size": 0, "segment_size": 0,
"labels": [ "labels": [
@ -1788,10 +1787,16 @@ class TaskDataAPITestCase(APITestCase):
self._image_sizes[task_data["server_files[2]"]], self._image_sizes[task_data["server_files[2]"]],
] ]
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET, image_sizes) self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET, image_sizes,
expected_uploaded_data_location=StorageLocation.SHARE)
task_spec.update([('name', 'my task #3')])
task_data.update([('copy_data', True)])
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET,
image_sizes, expected_uploaded_data_location=StorageLocation.LOCAL)
task_spec = { task_spec = {
"name": "my video task #1", "name": "my video task #4",
"overlap": 0, "overlap": 0,
"segment_size": 100, "segment_size": 100,
"labels": [ "labels": [
@ -1808,7 +1813,7 @@ class TaskDataAPITestCase(APITestCase):
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self.ChunkType.VIDEO, image_sizes) self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self.ChunkType.VIDEO, image_sizes)
task_spec = { task_spec = {
"name": "my video task #2", "name": "my video task without copying #5",
"overlap": 0, "overlap": 0,
"segment_size": 5, "segment_size": 5,
"labels": [ "labels": [
@ -1823,10 +1828,16 @@ class TaskDataAPITestCase(APITestCase):
} }
image_sizes = self._image_sizes[task_data["server_files[0]"]] image_sizes = self._image_sizes[task_data["server_files[0]"]]
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self.ChunkType.VIDEO, image_sizes) self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self.ChunkType.VIDEO, image_sizes,
expected_uploaded_data_location=StorageLocation.SHARE)
task_spec.update([('name', 'my video task #6')])
task_data.update([('copy_data', True)])
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self.ChunkType.VIDEO,
image_sizes, expected_uploaded_data_location=StorageLocation.LOCAL)
task_spec = { task_spec = {
"name": "my video task #3", "name": "my video task without copying #7",
"overlap": 0, "overlap": 0,
"segment_size": 0, "segment_size": 0,
"labels": [ "labels": [
@ -1840,10 +1851,16 @@ class TaskDataAPITestCase(APITestCase):
} }
image_sizes = self._image_sizes[task_data["server_files[0]"]] image_sizes = self._image_sizes[task_data["server_files[0]"]]
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self.ChunkType.VIDEO, image_sizes) self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self.ChunkType.VIDEO, image_sizes,
expected_uploaded_data_location=StorageLocation.SHARE)
task_spec.update([("name", "my video task #8")])
task_data.update([("copy_data", True)])
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self.ChunkType.VIDEO,
image_sizes, expected_uploaded_data_location=StorageLocation.LOCAL)
task_spec = { task_spec = {
"name": "my video task #4", "name": "my video task without copying #9",
"overlap": 0, "overlap": 0,
"segment_size": 5, "segment_size": 5,
"labels": [ "labels": [
@ -1859,10 +1876,16 @@ class TaskDataAPITestCase(APITestCase):
} }
image_sizes = self._image_sizes[task_data["server_files[0]"]] image_sizes = self._image_sizes[task_data["server_files[0]"]]
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.VIDEO, image_sizes) self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.VIDEO, image_sizes,
expected_uploaded_data_location=StorageLocation.SHARE)
task_spec.update([('name', 'my video task #10')])
task_data.update([('copy_data', True)])
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.VIDEO,
image_sizes, expected_uploaded_data_location=StorageLocation.LOCAL)
task_spec = { task_spec = {
"name": "my archive task #6", "name": "my archive task without copying #11",
"overlap": 0, "overlap": 0,
"segment_size": 0, "segment_size": 0,
"labels": [ "labels": [
@ -1876,10 +1899,16 @@ class TaskDataAPITestCase(APITestCase):
} }
image_sizes = self._image_sizes[task_data["server_files[0]"]] image_sizes = self._image_sizes[task_data["server_files[0]"]]
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET, image_sizes) self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET, image_sizes,
expected_uploaded_data_location=StorageLocation.SHARE)
task_spec.update([('name', 'my archive task #12')])
task_data.update([('copy_data', True)])
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET,
image_sizes, expected_uploaded_data_location=StorageLocation.LOCAL)
task_spec = { task_spec = {
"name": "my archive task #7", "name": "my archive task #13",
"overlap": 0, "overlap": 0,
"segment_size": 0, "segment_size": 0,
"labels": [ "labels": [
@ -1896,7 +1925,7 @@ class TaskDataAPITestCase(APITestCase):
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET, image_sizes) self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET, image_sizes)
task_spec = { task_spec = {
"name": "cached video task #8", "name": "cached video task without copying #14",
"overlap": 0, "overlap": 0,
"segment_size": 0, "segment_size": 0,
"labels": [ "labels": [
@ -1914,10 +1943,15 @@ class TaskDataAPITestCase(APITestCase):
image_sizes = self._image_sizes[task_data["server_files[0]"]] image_sizes = self._image_sizes[task_data["server_files[0]"]]
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO,
self.ChunkType.VIDEO, image_sizes, StorageMethodChoice.CACHE) self.ChunkType.VIDEO, image_sizes, StorageMethodChoice.CACHE, StorageLocation.SHARE)
task_spec.update([('name', 'cached video task #15')])
task_data.update([('copy_data', True)])
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self.ChunkType.VIDEO,
image_sizes, StorageMethodChoice.CACHE, StorageLocation.LOCAL)
task_spec = { task_spec = {
"name": "cached images task #9", "name": "cached images task without copying #16",
"overlap": 0, "overlap": 0,
"segment_size": 0, "segment_size": 0,
"labels": [ "labels": [
@ -1940,21 +1974,15 @@ class TaskDataAPITestCase(APITestCase):
] ]
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET,
self.ChunkType.IMAGESET, image_sizes, StorageMethodChoice.CACHE) self.ChunkType.IMAGESET, image_sizes, StorageMethodChoice.CACHE, StorageLocation.SHARE)
self._test_api_v1_tasks_id_data_spec( task_spec.update([('name', 'cached images task #17')])
user, task_data.update([('copy_data', True)])
task_spec.update([('name', 'cached share without copying images task #12')]), self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET,
task_data.update([('copy_data', True)]), image_sizes, StorageMethodChoice.CACHE, StorageLocation.LOCAL)
self.ChunkType.IMAGESET,
self.ChunkType.IMAGESET,
image_sizes,
StorageMethodChoice.CACHE,
UploadedDataStorageLocationChoice.LOCAL
)
task_spec = { task_spec = {
"name": "my cached zip archive task #10", "name": "my cached zip archive task without copying #18",
"overlap": 0, "overlap": 0,
"segment_size": 0, "segment_size": 0,
"labels": [ "labels": [
@ -1972,10 +2000,15 @@ class TaskDataAPITestCase(APITestCase):
image_sizes = self._image_sizes[task_data["server_files[0]"]] image_sizes = self._image_sizes[task_data["server_files[0]"]]
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET,
self.ChunkType.IMAGESET, image_sizes, StorageMethodChoice.CACHE) self.ChunkType.IMAGESET, image_sizes, StorageMethodChoice.CACHE, StorageLocation.SHARE)
task_spec.update([('name', 'my cached zip archive task #19')])
task_data.update([('copy_data', True)])
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.IMAGESET, self.ChunkType.IMAGESET,
image_sizes, StorageMethodChoice.CACHE, StorageLocation.LOCAL)
task_spec = { task_spec = {
"name": "my cached pdf task #11", "name": "my cached pdf task #20",
"overlap": 0, "overlap": 0,
"segment_size": 0, "segment_size": 0,
"labels": [ "labels": [
@ -1997,7 +2030,7 @@ class TaskDataAPITestCase(APITestCase):
image_sizes, StorageMethodChoice.CACHE) image_sizes, StorageMethodChoice.CACHE)
task_spec = { task_spec = {
"name": "my pdf task #12", "name": "my pdf task #21",
"overlap": 0, "overlap": 0,
"segment_size": 0, "segment_size": 0,
"labels": [ "labels": [
@ -2022,7 +2055,7 @@ class TaskDataAPITestCase(APITestCase):
os.path.join(settings.SHARE_ROOT, "videos") os.path.join(settings.SHARE_ROOT, "videos")
) )
task_spec = { task_spec = {
"name": "my video with meta info task #11", "name": "my video with meta info task without copying #22",
"overlap": 0, "overlap": 0,
"segment_size": 0, "segment_size": 0,
"labels": [ "labels": [
@ -2039,7 +2072,13 @@ class TaskDataAPITestCase(APITestCase):
image_sizes = self._image_sizes[task_data['server_files[0]']] image_sizes = self._image_sizes[task_data['server_files[0]']]
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO,
self.ChunkType.VIDEO, image_sizes, StorageMethodChoice.CACHE) self.ChunkType.VIDEO, image_sizes, StorageMethodChoice.CACHE,
StorageLocation.SHARE)
task_spec.update([('name', 'my video with meta info task #23')])
task_data.update([('copy_data', True)])
self._test_api_v1_tasks_id_data_spec(user, task_spec, task_data, self.ChunkType.VIDEO, self.ChunkType.VIDEO,
image_sizes, StorageMethodChoice.CACHE, StorageLocation.LOCAL)
def test_api_v1_tasks_id_data_admin(self): def test_api_v1_tasks_id_data_admin(self):
self._test_api_v1_tasks_id_data(self.admin) self._test_api_v1_tasks_id_data(self.admin)

Loading…
Cancel
Save