Пример #1
0
    def test_aggregation_level_keys_add_good(self):
        good_url = 'https://www.google.com?' \
                   'file_id=${HS_RES_ID}' \
                   '&res_id=${HS_RES_TYPE}' \
                   '&usr=${HS_USR_NAME}' \
                   '&fil=${HS_AGG_PATH}' \
                   '&main=${HS_MAIN_FILE}'

        post_data = {'value': good_url}
        url_params = {
            'element_name': "requesturlbaseaggregation",
            'shortkey': self.resWebApp.short_id
        }

        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = add_metadata_element(
            request,
            shortkey=self.resWebApp.short_id,
            element_name="requesturlbaseaggregation")
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, RequestUrlBaseAggregation.objects.all().count())
        self.assertEqual(good_url,
                         RequestUrlBaseAggregation.objects.first().value)
Пример #2
0
    def test_file_level_keys_update(self):
        good_url = 'https://www.google.com?' \
                   'file_id=${HS_FILE_PATH}' \
                   '&res_id=${HS_RES_TYPE}' \
                   '&usr=${HS_USR_NAME}' \
                   '&fil=${HS_FILE_PATH}'

        post_data = {'value': good_url}
        url_params = {
            'element_name': "requesturlbasefile",
            'shortkey': self.resWebApp.short_id
        }

        # add url
        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = add_metadata_element(request,
                                        shortkey=self.resWebApp.short_id,
                                        element_name="requesturlbasefile")
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, RequestUrlBaseFile.objects.all().count())
        self.assertEqual(good_url, RequestUrlBaseFile.objects.first().value)

        # update good url
        url_params["element_id"] = 1
        url = reverse('update_metadata_element', kwargs=url_params)
        updated_url = 'https://www.google.com?file_id=${HS_FILE_PATH}'
        post_data = {'value': updated_url}
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        id = RequestUrlBaseFile.objects.first().id
        response = update_metadata_element(request,
                                           shortkey=self.resWebApp.short_id,
                                           element_name="requesturlbasefile",
                                           element_id=id)
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, RequestUrlBaseFile.objects.all().count())
        self.assertEqual(updated_url, RequestUrlBaseFile.objects.first().value)

        # update custom url
        url = reverse('update_metadata_element', kwargs=url_params)
        custom_url = 'https://www.google.com?file_id=${BAD_KEY}'
        post_data = {'value': custom_url}
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = update_metadata_element(request,
                                           shortkey=self.resWebApp.short_id,
                                           element_name="requesturlbasefile",
                                           element_id=id)
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, RequestUrlBaseFile.objects.all().count())
        self.assertEqual(custom_url, RequestUrlBaseFile.objects.first().value)
Пример #3
0
    def test_file_extensions_update(self):
        good_extensions = '.tif, .txt,.html'

        post_data = {'value': good_extensions}
        url_params = {
            'element_name': "supportedfileextensions",
            'shortkey': self.resWebApp.short_id
        }

        # add extensions
        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = add_metadata_element(request,
                                        shortkey=self.resWebApp.short_id,
                                        element_name="supportedfileextensions")
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, SupportedFileExtensions.objects.all().count())
        self.assertEqual(good_extensions,
                         SupportedFileExtensions.objects.first().value)

        # update good extensions
        url_params["element_id"] = 1
        url = reverse('update_metadata_element', kwargs=url_params)
        updated_extensions = '.tif, .txt,.html, .yaml'
        post_data = {'value': updated_extensions}
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        id = SupportedFileExtensions.objects.first().id
        response = update_metadata_element(
            request,
            shortkey=self.resWebApp.short_id,
            element_name="supportedfileextensions",
            element_id=id)
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, SupportedFileExtensions.objects.all().count())
        self.assertEqual(updated_extensions,
                         SupportedFileExtensions.objects.first().value)

        # update bad extension
        url = reverse('update_metadata_element', kwargs=url_params)
        post_data = {'value': '.tif, htm'}
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = update_metadata_element(request,
                                           shortkey=self.resWebApp.short_id,
                                           element_name="requesturlbase",
                                           element_id=id)
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, SupportedFileExtensions.objects.all().count())
        # ensure it did not change
        self.assertEqual(updated_extensions,
                         SupportedFileExtensions.objects.first().value)
    def test_aggregation_level_keys_update(self):
        good_url = 'https://www.google.com?' \
                   'file_id=${HS_RES_ID}' \
                   '&res_id=${HS_RES_TYPE}' \
                   '&usr=${HS_USR_NAME}' \
                   '&fil=${HS_AGG_PATH}' \
                   '&main=${HS_MAIN_FILE}'

        post_data = {'value': good_url}
        url_params = {'element_name': "requesturlbaseaggregation",
                      'shortkey': self.resWebApp.short_id}

        # add url
        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = add_metadata_element(request, shortkey=self.resWebApp.short_id,
                                        element_name="requesturlbaseaggregation")
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, RequestUrlBaseAggregation.objects.all().count())
        self.assertEqual(good_url, RequestUrlBaseAggregation.objects.first().value)

        # update good url
        url_params["element_id"] = 1
        url = reverse('update_metadata_element', kwargs=url_params)
        updated_url = 'https://www.google.com?file_id=${HS_AGG_PATH}'
        post_data = {'value': updated_url}
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        id = RequestUrlBaseAggregation.objects.first().id
        response = update_metadata_element(request, shortkey=self.resWebApp.short_id,
                                           element_name="requesturlbaseaggregation",
                                           element_id=id)
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, RequestUrlBaseAggregation.objects.all().count())
        self.assertEqual(updated_url, RequestUrlBaseAggregation.objects.first().value)

        # update bad url
        url = reverse('update_metadata_element', kwargs=url_params)
        post_data = {'value': 'https://www.google.com?file_id=${BAD_KEY}'}
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = update_metadata_element(request, shortkey=self.resWebApp.short_id,
                                           element_name="requesturlbaseaggregation", element_id=id)
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, RequestUrlBaseAggregation.objects.all().count())
        # ensure it did not change
        self.assertEqual(updated_url, RequestUrlBaseAggregation.objects.first().value)
Пример #5
0
    def test_delete_author(self):
        # testing the delete_author view function
        # add an author element and then delete it

        # the resource should have only the original author now
        self.assertEqual(self.gen_res.metadata.creators.count(), 1)
        url_params = {
            'shortkey': self.gen_res.short_id,
            'element_name': 'creator'
        }
        post_data = {'name': 'Smith, John', 'email': '*****@*****.**'}
        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        # make it an ajax request
        request.META['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
        self.set_request_message_attributes(request)
        response = add_metadata_element(request,
                                        shortkey=self.gen_res.short_id,
                                        element_name='creator')
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_dict = json.loads(response.content.decode())
        self.assertEqual(response_dict['status'], 'success')
        self.assertEqual(response_dict['element_name'], 'creator')
        self.gen_res.refresh_from_db()
        # there should be two authors now
        self.assertEqual(self.gen_res.metadata.creators.count(), 2)

        # delete the author we added above
        author = self.gen_res.metadata.creators.all()[1]
        url_params = {
            'shortkey': self.gen_res.short_id,
            'element_id': author.id
        }

        url = reverse('delete_author', kwargs=url_params)
        request = self.factory.post(url, data={})
        request.user = self.user

        request.META['HTTP_REFERER'] = 'some-url'
        self.set_request_message_attributes(request)
        self.add_session_to_request(request)
        response = delete_author(request,
                                 shortkey=self.gen_res.short_id,
                                 element_id=author.id)
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.gen_res.refresh_from_db()
        # there should be only the original author now
        self.assertEqual(self.gen_res.metadata.creators.count(), 1)

        hydroshare.delete_resource(self.gen_res.short_id)
    def test_file_extensions_update(self):
        good_extensions = '.tif, .txt,.html'

        post_data = {'value': good_extensions}
        url_params = {'element_name': "supportedfileextensions",
                      'shortkey': self.resWebApp.short_id}

        # add extensions
        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = add_metadata_element(request, shortkey=self.resWebApp.short_id,
                                        element_name="supportedfileextensions")
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, SupportedFileExtensions.objects.all().count())
        self.assertEqual(good_extensions, SupportedFileExtensions.objects.first().value)

        # update good extensions
        url_params["element_id"] = 1
        url = reverse('update_metadata_element', kwargs=url_params)
        updated_extensions = '.tif, .txt,.html, .yaml'
        post_data = {'value': updated_extensions}
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        id = SupportedFileExtensions.objects.first().id
        response = update_metadata_element(request, shortkey=self.resWebApp.short_id,
                                           element_name="supportedfileextensions",
                                           element_id=id)
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, SupportedFileExtensions.objects.all().count())
        self.assertEqual(updated_extensions, SupportedFileExtensions.objects.first().value)

        # update bad extension
        url = reverse('update_metadata_element', kwargs=url_params)
        post_data = {'value': '.tif, htm'}
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = update_metadata_element(request, shortkey=self.resWebApp.short_id,
                                           element_name="requesturlbase", element_id=id)
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, SupportedFileExtensions.objects.all().count())
        # ensure it did not change
        self.assertEqual(updated_extensions, SupportedFileExtensions.objects.first().value)
    def test_file_level_keys_add_bad(self):
        bad_url = 'https://www.google.com?' \
                  'file_id=${BAD_KEY}'

        post_data = {'value': bad_url}
        url_params = {'element_name': "requesturlbasefile", 'shortkey': self.resWebApp.short_id}

        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = add_metadata_element(request, shortkey=self.resWebApp.short_id,
                                        element_name="requesturlbasefile")
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(0, RequestUrlBaseFile.objects.all().count())
    def test_file_extensions_add_bad(self):
        bad_extensions = 'tif, html'

        post_data = {'value': bad_extensions}
        url_params = {'element_name': "supportedfileextensions",
                      'shortkey': self.resWebApp.short_id}

        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = add_metadata_element(request, shortkey=self.resWebApp.short_id,
                                        element_name="supportedfileextensions")
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(0, SupportedFileExtensions.objects.all().count())
    def test_resource_level_keys_add_good(self):
        good_url = 'https://www.google.com?' \
                   'file_id=${HS_RES_ID}' \
                   '&res_id=${HS_RES_TYPE}' \
                   '&usr=${HS_USR_NAME}' \
                   '&fil=${HS_FILE_NAME}'

        post_data = {'value': good_url}
        url_params = {'element_name': "requesturlbase", 'shortkey': self.resWebApp.short_id}

        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = add_metadata_element(request, shortkey=self.resWebApp.short_id,
                                        element_name="requesturlbase")
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, RequestUrlBase.objects.all().count())
Пример #10
0
    def test_file_extensions_add_bad(self):
        bad_extensions = 'tif, html'

        post_data = {'value': bad_extensions}
        url_params = {
            'element_name': "supportedfileextensions",
            'shortkey': self.resWebApp.short_id
        }

        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = add_metadata_element(request,
                                        shortkey=self.resWebApp.short_id,
                                        element_name="supportedfileextensions")
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(0, SupportedFileExtensions.objects.all().count())
Пример #11
0
    def test_file_level_keys_add_custom(self):
        custom_url = 'https://www.google.com?' \
                  'file_id=${custom_KEY}'

        post_data = {'value': custom_url}
        url_params = {
            'element_name': "requesturlbasefile",
            'shortkey': self.resWebApp.short_id
        }

        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        request.META['HTTP_REFERER'] = 'http_referer'
        response = add_metadata_element(request,
                                        shortkey=self.resWebApp.short_id,
                                        element_name="requesturlbasefile")
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)

        self.assertEqual(1, RequestUrlBaseFile.objects.all().count())
        self.assertEqual(custom_url, RequestUrlBaseFile.objects.first().value)
Пример #12
0
    def test_CRUD_metadata(self):
        # here we are testing the add_metadata_element view function

        # There should be no keywords (subject element) now
        self.assertEqual(self.gen_res.metadata.subjects.count(), 0)

        # add keywords
        url_params = {
            'shortkey': self.gen_res.short_id,
            'element_name': 'subject'
        }
        post_data = {'value': 'kw-1, kw 2, key word'}
        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        # make it a ajax request
        request.META['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
        self.set_request_message_attributes(request)
        response = add_metadata_element(request,
                                        shortkey=self.gen_res.short_id,
                                        element_name='subject')
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_dict = json.loads(response.content.decode())
        self.assertEqual(response_dict['status'], 'success')
        self.assertEqual(response_dict['element_name'], 'subject')
        self.gen_res.refresh_from_db()
        self.assertEqual(self.gen_res.metadata.subjects.count(), 3)

        # here we are testing the update_metadata_element view function

        # update title metadata
        self.assertEqual(self.gen_res.metadata.title.value,
                         'Generic Resource Key/Value Metadata Testing')
        title_element = self.gen_res.metadata.title

        url_params = {
            'shortkey': self.gen_res.short_id,
            'element_name': 'title',
            'element_id': title_element.id
        }
        post_data = {'value': 'Updated Resource Title'}
        url = reverse('update_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        # make it a ajax request
        request.META['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
        self.set_request_message_attributes(request)
        response = update_metadata_element(request,
                                           shortkey=self.gen_res.short_id,
                                           element_name='title',
                                           element_id=title_element.id)
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_dict = json.loads(response.content.decode())
        self.assertEqual(response_dict['status'], 'success')
        self.gen_res.refresh_from_db()
        self.assertEqual(self.gen_res.metadata.title.value,
                         'Updated Resource Title')

        # here we are testing the delete_metadata_element view function

        # first create a contributor element and then delete it
        # there should be no contributors now
        self.assertEqual(self.gen_res.metadata.contributors.count(), 0)
        url_params = {
            'shortkey': self.gen_res.short_id,
            'element_name': 'contributor'
        }
        post_data = {'name': 'John Smith', 'email': '*****@*****.**'}
        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        # make it a ajax request
        request.META['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
        self.set_request_message_attributes(request)
        response = add_metadata_element(request,
                                        shortkey=self.gen_res.short_id,
                                        element_name='contributor')
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_dict = json.loads(response.content.decode())
        self.assertEqual(response_dict['status'], 'success')
        self.assertEqual(response_dict['element_name'], 'contributor')
        self.gen_res.refresh_from_db()
        # there should be one contributor now
        self.assertEqual(self.gen_res.metadata.contributors.count(), 1)

        # now delete the contributor we created above
        contributor = self.gen_res.metadata.contributors.first()
        url_params = {
            'shortkey': self.gen_res.short_id,
            'element_name': 'contributor',
            'element_id': contributor.id
        }

        url = reverse('delete_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data={})
        request.user = self.user

        request.META['HTTP_REFERER'] = 'some-url'
        self.set_request_message_attributes(request)
        self.add_session_to_request(request)
        response = delete_metadata_element(request,
                                           shortkey=self.gen_res.short_id,
                                           element_name='contributor',
                                           element_id=contributor.id)
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)
        self.assertEqual(response['Location'], request.META['HTTP_REFERER'])
        self.gen_res.refresh_from_db()
        # there should be no contributors
        self.assertEqual(self.gen_res.metadata.contributors.count(), 0)

        hydroshare.delete_resource(self.gen_res.short_id)
Пример #13
0
    def test_CRUD_metadata(self):
        # here we are testing the add_metadata_element view function

        # There should be no keywords (subject element) now
        self.assertEqual(self.gen_res.metadata.subjects.count(), 0)

        # add keywords
        url_params = {'shortkey': self.gen_res.short_id, 'element_name': 'subject'}
        post_data = {'value': 'kw-1, kw 2, key word'}
        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        # make it a ajax request
        request.META['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
        self.set_request_message_attributes(request)
        response = add_metadata_element(request, shortkey=self.gen_res.short_id,
                                        element_name='subject')
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_dict = json.loads(response.content)
        self.assertEqual(response_dict['status'], 'success')
        self.assertEqual(response_dict['element_name'], 'subject')
        self.gen_res.refresh_from_db()
        self.assertEqual(self.gen_res.metadata.subjects.count(), 3)

        # here we are testing the update_metadata_element view function

        # update title metadata
        self.assertEqual(self.gen_res.metadata.title.value,
                         'Generic Resource Key/Value Metadata Testing')
        title_element = self.gen_res.metadata.title

        url_params = {'shortkey': self.gen_res.short_id, 'element_name': 'title',
                      'element_id': title_element.id}
        post_data = {'value': 'Updated Resource Title'}
        url = reverse('update_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        # make it a ajax request
        request.META['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
        self.set_request_message_attributes(request)
        response = update_metadata_element(request, shortkey=self.gen_res.short_id,
                                           element_name='title', element_id=title_element.id)
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_dict = json.loads(response.content)
        self.assertEqual(response_dict['status'], 'success')
        self.gen_res.refresh_from_db()
        self.assertEqual(self.gen_res.metadata.title.value, 'Updated Resource Title')

        # here we are testing the delete_metadata_element view function

        # first create a contributor element and then delete it
        # there should be no contributors now
        self.assertEqual(self.gen_res.metadata.contributors.count(), 0)
        url_params = {'shortkey': self.gen_res.short_id, 'element_name': 'contributor'}
        post_data = {'name': 'John Smith', 'email': '*****@*****.**'}
        url = reverse('add_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data=post_data)
        request.user = self.user
        # make it a ajax request
        request.META['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
        self.set_request_message_attributes(request)
        response = add_metadata_element(request, shortkey=self.gen_res.short_id,
                                        element_name='contributor')
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_dict = json.loads(response.content)
        self.assertEqual(response_dict['status'], 'success')
        self.assertEqual(response_dict['element_name'], 'contributor')
        self.gen_res.refresh_from_db()
        # there should be one contributor now
        self.assertEqual(self.gen_res.metadata.contributors.count(), 1)

        # now delete the contributor we created above
        contributor = self.gen_res.metadata.contributors.first()
        url_params = {'shortkey': self.gen_res.short_id, 'element_name': 'contributor',
                      'element_id': contributor.id}

        url = reverse('delete_metadata_element', kwargs=url_params)
        request = self.factory.post(url, data={})
        request.user = self.user

        request.META['HTTP_REFERER'] = 'some-url'
        self.set_request_message_attributes(request)
        self.add_session_to_request(request)
        response = delete_metadata_element(request, shortkey=self.gen_res.short_id,
                                           element_name='contributor', element_id=contributor.id)
        self.assertEqual(response.status_code, status.HTTP_302_FOUND)
        self.assertEqual(response['Location'], request.META['HTTP_REFERER'])
        self.gen_res.refresh_from_db()
        # there should be no contributors
        self.assertEqual(self.gen_res.metadata.contributors.count(), 0)

        hydroshare.delete_resource(self.gen_res.short_id)