示例#1
0
    def setUp(self):
        super().setUp()

        self.data_viewset = DataViewSet.as_view(actions={
            'get': 'list',
            'post': 'create',
        })
        self.duplicate_viewset = DataViewSet.as_view(actions={
            'post': 'duplicate',
        })
        self.data_detail_viewset = DataViewSet.as_view(
            actions={
                'get': 'retrieve',
                'patch': 'partial_update',
            })
        self.parents_viewset = DataViewSet.as_view(actions={
            'get': 'parents',
        })
        self.children_viewset = DataViewSet.as_view(actions={
            'get': 'children',
        })

        self.collection = Collection.objects.create(
            contributor=self.contributor)

        self.proc = Process.objects.create(
            type='data:test:process',
            slug='test-process',
            version='1.0.0',
            contributor=self.contributor,
            entity_type='test-schema',
            entity_descriptor_schema='test-schema',
            input_schema=[{
                'name': 'input_data',
                'type': 'data:test:',
                'required': False
            }],
        )

        self.descriptor_schema = DescriptorSchema.objects.create(
            slug='test-schema',
            version='1.0.0',
            contributor=self.contributor,
        )

        assign_perm('view_collection', self.contributor, self.collection)
        assign_perm('add_collection', self.contributor, self.collection)
        assign_perm('view_process', self.contributor, self.proc)
        assign_perm('view_descriptorschema', self.contributor,
                    self.descriptor_schema)
示例#2
0
    def setUp(self):
        super().setUp()

        self.data_viewset = DataViewSet.as_view(actions={
            "get": "list",
            "post": "create",
        })
        self.duplicate_viewset = DataViewSet.as_view(actions={
            "post": "duplicate",
        })
        self.data_detail_viewset = DataViewSet.as_view(
            actions={
                "get": "retrieve",
                "patch": "partial_update",
            })
        self.parents_viewset = DataViewSet.as_view(actions={
            "get": "parents",
        })
        self.children_viewset = DataViewSet.as_view(actions={
            "get": "children",
        })

        self.collection = Collection.objects.create(
            contributor=self.contributor)

        self.proc = Process.objects.create(
            type="data:test:process",
            slug="test-process",
            version="1.0.0",
            contributor=self.contributor,
            entity_type="test-schema",
            entity_descriptor_schema="test-schema",
            input_schema=[{
                "name": "input_data",
                "type": "data:test:",
                "required": False
            }],
        )

        self.descriptor_schema = DescriptorSchema.objects.create(
            slug="test-schema",
            version="1.0.0",
            contributor=self.contributor,
        )

        assign_perm("view_collection", self.contributor, self.collection)
        assign_perm("edit_collection", self.contributor, self.collection)
        assign_perm("view_process", self.contributor, self.proc)
        assign_perm("view_descriptorschema", self.contributor,
                    self.descriptor_schema)
示例#3
0
    def setUp(self):
        super(TestDataViewSetCase, self).setUp()

        self.data_viewset = DataViewSet.as_view(actions={
            'get': 'list',
            'post': 'create',
        })

        self.proc = Process.objects.create(
            type='test:process',
            name='Test process',
            slug='test-process',
            version='1.0.0',
            contributor=self.contributor,
        )

        self.descriptor_schema = DescriptorSchema.objects.create(
            name='Test schema',
            slug='test-schema',
            version='1.0.0',
            contributor=self.contributor,
        )

        assign_perm('view_process', self.user, self.proc)
        assign_perm('view_descriptorschema', self.user, self.descriptor_schema)
示例#4
0
    def setUp(self):
        super(TestDataViewSetCase, self).setUp()

        self.data_viewset = DataViewSet.as_view(actions={
            'get': 'list',
            'post': 'create',
        })

        self.collection = Collection.objects.create(
            contributor=self.contributor)

        self.proc = Process.objects.create(
            type='data:test:process',
            slug='test-process',
            version='1.0.0',
            contributor=self.contributor,
            flow_collection='test-schema',
            input_schema=[{
                'name': 'input_data',
                'type': 'data:test:',
                'required': False
            }],
        )

        self.descriptor_schema = DescriptorSchema.objects.create(
            slug='test-schema',
            version='1.0.0',
            contributor=self.contributor,
        )

        assign_perm('view_collection', self.contributor, self.collection)
        assign_perm('add_collection', self.contributor, self.collection)
        assign_perm('view_process', self.contributor, self.proc)
        assign_perm('view_descriptorschema', self.contributor,
                    self.descriptor_schema)
示例#5
0
    def setUp(self):
        super().setUp()

        self.entity = Entity.objects.create(name="Test entity",
                                            contributor=self.contributor)
        process = Process.objects.create(
            name="Test process",
            contributor=self.contributor,
            output_schema=[
                {
                    "name":
                    "foo",
                    "label":
                    "Foo",
                    "group": [
                        {
                            "name": "bar",
                            "label": "Bar",
                            "type": "basic:integer:"
                        },
                        {
                            "name": "hello",
                            "label": "Hello",
                            "type": "basic:string:"
                        },
                    ],
                },
                {
                    "name": "another",
                    "label": "Another",
                    "type": "basic:integer:"
                },
            ],
        )
        data_output = {
            "foo": {
                "bar": 42,
                "hello": "world",
            },
            "another": 3,
        }
        self.data_output = data_output
        self.data = Data.objects.create(
            name="Test data",
            contributor=self.contributor,
            process=process,
            output=data_output,
        )
        self.data_2 = Data.objects.create(
            name="Test data 2",
            contributor=self.contributor,
            process=process,
            output=data_output,
        )

        self.entity.data.add(self.data)
        self.entity.data.add(self.data_2)

        self.data_viewset = DataViewSet.as_view(actions={"get": "list"})
示例#6
0
    def setUp(self):
        super(TestDataViewSetCase, self).setUp()

        self.data_viewset = DataViewSet.as_view(actions={
            'get': 'list',
        })

        self.proc = Process.objects.create(type='test:process',
                                           name='Test process',
                                           contributor=self.contributor)
示例#7
0
    def setUp(self):
        super().setUp()

        self.entity = Entity.objects.create(name="Test entity",
                                            contributor=self.contributor)
        process = Process.objects.create(name="Test process",
                                         contributor=self.contributor,
                                         output_schema=[
                                             {
                                                 'name':
                                                 'foo',
                                                 'label':
                                                 'Foo',
                                                 'group': [
                                                     {
                                                         'name': 'bar',
                                                         'label': 'Bar',
                                                         'type':
                                                         'basic:integer:'
                                                     },
                                                     {
                                                         'name': 'hello',
                                                         'label': 'Hello',
                                                         'type':
                                                         'basic:string:'
                                                     },
                                                 ]
                                             },
                                             {
                                                 'name': 'another',
                                                 'label': 'Another',
                                                 'type': 'basic:integer:'
                                             },
                                         ])
        data_output = {
            'foo': {
                'bar': 42,
                'hello': 'world',
            },
            'another': 3,
        }
        self.data_output = data_output
        self.data = Data.objects.create(name="Test data",
                                        contributor=self.contributor,
                                        process=process,
                                        output=data_output)
        self.data_2 = Data.objects.create(name="Test data 2",
                                          contributor=self.contributor,
                                          process=process,
                                          output=data_output)

        self.entity.data.add(self.data)
        self.entity.data.add(self.data_2)

        self.data_viewset = DataViewSet.as_view(actions={'get': 'list'})
示例#8
0
    def setUp(self):
        super().setUp()

        self.data_viewset = DataViewSet.as_view(actions={
            'get': 'list',
            'post': 'create',
        })
        self.duplicate_viewset = DataViewSet.as_view(actions={
            'post': 'duplicate',
        })
        self.data_detail_viewset = DataViewSet.as_view(actions={
            'get': 'retrieve',
        })

        self.collection = Collection.objects.create(contributor=self.contributor)

        self.proc = Process.objects.create(
            type='data:test:process',
            slug='test-process',
            version='1.0.0',
            contributor=self.contributor,
            entity_type='test-schema',
            entity_descriptor_schema='test-schema',
            input_schema=[{'name': 'input_data', 'type': 'data:test:', 'required': False}],
        )

        self.descriptor_schema = DescriptorSchema.objects.create(
            slug='test-schema',
            version='1.0.0',
            contributor=self.contributor,
        )

        assign_perm('view_collection', self.contributor, self.collection)
        assign_perm('add_collection', self.contributor, self.collection)
        assign_perm('view_process', self.contributor, self.proc)
        assign_perm('view_descriptorschema', self.contributor, self.descriptor_schema)
示例#9
0
    def setUp(self):
        super().setUp()

        self.data_viewset = DataViewSet.as_view(actions={
            'get': 'list',
        })

        self.proc = Process.objects.create(
            type='data:test:process',
            slug='test-process',
            version='1.0.0',
            contributor=self.contributor,
            entity_type='test-schema',
            entity_descriptor_schema='test-schema',
            input_schema=[{'name': 'input_data', 'type': 'data:test:', 'required': False}],
            output_schema=[
                {'name': 'source', 'type': 'basic:string:'},
                {'name': 'species', 'type': 'basic:string:'},
                {'name': 'build', 'type': 'basic:string:'},
                {'name': 'feature_type', 'type': 'basic:string:'},
            ]
        )

        self.descriptor_schema = DescriptorSchema.objects.create(
            slug='test-schema',
            version='1.0.0',
            contributor=self.contributor,
        )

        self.data = []
        for index in range(10):
            data = Data.objects.create(
                name='Data {}'.format(index),
                contributor=self.contributor,
                process=self.proc,
                status=Data.STATUS_DONE,
                output={
                    'source': 'NCBI{}'.format(index),
                    'species': 'Mus musculus' if index < 5 else 'H**o sapiens',
                    'build': 'B{}'.format(index),
                    'feature_type': 'gene' if index < 5 else 'foo',
                }
            )

            self.data.append(data)
示例#10
0
    def setUp(self):
        super(GetOrCreateTestCase, self).setUp()

        user_model = get_user_model()
        self.user = user_model.objects.create(username='******',
                                              password='******')

        self.process = Process.objects.create(
            name='Temporary process',
            contributor=self.user,
            slug='tmp-process',
            persistence=Process.PERSISTENCE_TEMP,
            input_schema=[{
                'name': 'some_value',
                'type': 'basic:integer:',
                'default': 42
            }],
        )
        assign_perm('view_process', self.user, self.process)

        process_2 = Process.objects.create(
            name='Another process',
            contributor=self.user,
            slug='another-process',
            persistence=Process.PERSISTENCE_TEMP,
            input_schema=[{
                'name': 'some_value',
                'type': 'basic:integer:'
            }],
        )
        assign_perm('view_process', self.user, process_2)

        self.data = Data.objects.create(name='Temporary data',
                                        contributor=self.user,
                                        process=self.process,
                                        input={'some_value': 42})
        assign_perm('view_data', self.user, self.data)

        self.get_or_create_view = DataViewSet.as_view(
            {'post': 'get_or_create'})
        self.factory = APIRequestFactory()
示例#11
0
    def setUp(self):
        user_model = get_user_model()
        self.user = user_model.objects.create(username='******', password='******')

        self.process = Process.objects.create(
            name='Temporary process',
            contributor=self.user,
            slug='tmp-process',
            persistence=Process.PERSISTENCE_TEMP,
            input_schema=[
                {'name': 'some_value', 'type': 'basic:integer:', 'default': 42}
            ],
        )
        assign_perm('view_process', self.user, self.process)

        process_2 = Process.objects.create(
            name='Another process',
            contributor=self.user,
            slug='another-process',
            persistence=Process.PERSISTENCE_TEMP,
            input_schema=[
                {'name': 'some_value', 'type': 'basic:integer:'}
            ],
        )
        assign_perm('view_process', self.user, process_2)

        self.data = Data.objects.create(
            name='Temporary data',
            contributor=self.user,
            process=self.process,
            input={'some_value': 42}
        )
        assign_perm('view_data', self.user, self.data)

        self.get_or_create_view = DataViewSet.as_view({'post': 'get_or_create'})
        self.factory = APIRequestFactory()
示例#12
0
    def setUp(self):
        super().setUp()

        self.data_viewset = DataViewSet.as_view(actions={
            'get': 'list',
        })

        self.collection = Collection.objects.create(
            contributor=self.contributor)

        self.proc1 = Process.objects.create(
            type='data:test:process1:',
            name='First process',
            slug='test-process-1',
            version='1.0.0',
            contributor=self.contributor,
            flow_collection='test-schema',
            input_schema=[{
                'name': 'input_data',
                'type': 'data:test:',
                'required': False
            }],
        )

        self.proc2 = Process.objects.create(
            type='data:test:process2:',
            name='Second process',
            slug='test-process-2',
            version='1.0.0',
            contributor=self.contributor,
            flow_collection='test-schema',
            input_schema=[{
                'name': 'input_data',
                'type': 'data:test:',
                'required': False
            }],
        )

        self.descriptor_schema = DescriptorSchema.objects.create(
            slug='test-schema',
            version='1.0.0',
            contributor=self.contributor,
        )

        self.data = []
        for index in range(10):
            data = Data.objects.create(
                name='Data {}'.format(index),
                slug='dataslug-{}'.format(index),
                contributor=self.contributor,
                process=self.proc1 if index < 5 else self.proc2,
                status=Data.STATUS_DONE
                if index > 0 else Data.STATUS_RESOLVING,
                started=datetime.datetime(2016, 7, 31, index, 0),
                finished=datetime.datetime(2016, 7, 31, index, 30),
                tags=['foo', 'index{}'.format(index)],
            )

            data.created = datetime.datetime(2016, 7, 30, index, 59)
            data.save()

            assign_perm('owner_data', self.admin, data)

            if index == 0:
                self.collection.data.add(data)

            self.data.append(data)
示例#13
0
    def setUp(self):
        super().setUp()

        self.viewset = DataViewSet.as_view(actions={
            "get": "list",
        })

        self.proc = Process.objects.create(
            type="data:test:process",
            slug="test-process",
            version="1.0.0",
            contributor=self.contributor,
            entity_type="test-schema",
            entity_descriptor_schema="test-schema",
            input_schema=[{
                "name": "input_data",
                "type": "data:test:",
                "required": False
            }],
            output_schema=[
                {
                    "name": "source",
                    "type": "basic:string:"
                },
                {
                    "name": "species",
                    "type": "basic:string:"
                },
                {
                    "name": "build",
                    "type": "basic:string:"
                },
                {
                    "name": "feature_type",
                    "type": "basic:string:"
                },
            ],
        )

        self.descriptor_schema = DescriptorSchema.objects.create(
            slug="test-schema",
            version="1.0.0",
            contributor=self.contributor,
        )

        self.data = []
        for index in range(10):
            data = Data.objects.create(
                name="Data {}".format(index),
                contributor=self.contributor,
                process=self.proc,
                status=Data.STATUS_DONE,
                output={
                    "source": "NCBI{}".format(index),
                    "species": "Mus musculus" if index < 5 else "H**o sapiens",
                    "build": "B{}".format(index),
                    "feature_type": "gene" if index < 5 else "foo",
                },
            )

            self.data.append(data)
示例#14
0
    def setUp(self):
        self.data_viewset = DataViewSet.as_view(actions={
            'get': 'list',
        })

        self.user = User.objects.create(is_superuser=True)