示例#1
0
    def test_upload_of_packaged_widget(self):

        user = User.objects.create_user('test', '*****@*****.**', 'test')
        c = Client()

        c.login(username='******', password='******')
        with open(
                os.path.join(os.path.dirname(__file__),
                             '../../commons/test-data/Wirecloud_Test_1.0.wgt'),
                'rb') as f:
            response = c.post(self.resource_collection_url, {'file': f},
                              HTTP_HOST='www.example.com')

        self.assertEqual(response.status_code, 200)
        resource = CatalogueResource.objects.get(vendor='Wirecloud',
                                                 short_name='Test',
                                                 version='1.0')
        widget_info = get_resource_data(resource, user)
        self.assertEqual(
            widget_info['description'],
            'This widget is used to test some of the features of the Wirecloud platform'
        )
        self.assertEqual(
            widget_info['longdescription'],
            '<p>This widget is used for <strong>testing</strong> some of the features provided by Wirecloud</p>'
        )
示例#2
0
    def read(self, request, vendor, name, version=None):
        if version is not None:
            resource = get_object_or_404(CatalogueResource, vendor=vendor, short_name=name, version=version)
            data = get_resource_data(resource, request.user, request)
        else:
            resources = get_list_or_404(CatalogueResource.objects.filter(Q(vendor=vendor) & Q(short_name=name) & (Q(public=True) | Q(users=request.user) | Q(groups__in=request.user.groups.all()))).distinct())
            data = get_resource_group_data(resources, request.user, request)

        return HttpResponse(json.dumps(data), content_type='application/json; charset=UTF-8')
示例#3
0
    def test_upload_of_packaged_widget(self):

        user = User.objects.create_user('test', '*****@*****.**', 'test')
        c = Client()

        c.login(username='******', password='******')
        with open(os.path.join(os.path.dirname(__file__), '../../commons/test-data/Wirecloud_Test_1.0.wgt'), 'rb') as f:
            response = c.post(self.resource_collection_url, {'file': f}, HTTP_HOST='www.example.com')

        self.assertEqual(response.status_code, 200)
        resource = CatalogueResource.objects.get(vendor='Wirecloud', short_name='Test', version='1.0')
        widget_info = get_resource_data(resource, user)
        self.assertEqual(widget_info['description'], 'This widget is used to test some of the features of the Wirecloud platform')
        self.assertEqual(widget_info['longdescription'], '<p>This widget is used for <strong>testing</strong> some of the features provided by Wirecloud</p>')
示例#4
0
    def read(self, request, vendor, name, version=None):
        if version is not None:
            resource = get_object_or_404(CatalogueResource,
                                         vendor=vendor,
                                         short_name=name,
                                         version=version)
            data = get_resource_data(resource, request.user, request)
        else:
            if request.user.is_authenticated():
                resources = get_list_or_404(
                    CatalogueResource.objects.filter(
                        Q(vendor=vendor) & Q(short_name=name)
                        & (Q(public=True) | Q(users=request.user) | Q(
                            groups__in=request.user.groups.all()))).distinct())
            else:
                resources = get_list_or_404(
                    CatalogueResource.objects.filter(
                        Q(vendor=vendor) & Q(short_name=name)
                        & Q(public=True)))
            data = get_resource_group_data(resources, request.user, request)

        return HttpResponse(json.dumps(data, sort_keys=True),
                            content_type='application/json; charset=UTF-8')