Example #1
0
    def test_install_resource_restricted_authorized_user(self):

        file_contents = WgtFile(
            BytesIO(
                self.read_file("..", "..", "..", "commons", "test-data",
                               "Wirecloud_Test_Selenium_1.0.wgt")))

        install_resource(file_contents, self.user2, restricted=True)
Example #2
0
    def test_basic_ezweb_widget_creation(self):
        template_uri = "http://example.com/path/widget.xml"
        template = self.read_template('old-template.xml')

        downloader.download_http_content.set_response(template_uri, template)
        downloader.download_http_content.set_response('http://example.com/path/test.html', BASIC_HTML_GADGET_CODE)
        widget = install_resource(template, template_uri, self.user, False).widget

        self.changeLanguage('en')
        data = get_widget_data(widget)
        self.assertEqual(data['uri'], 'Wirecloud/test/0.1')
        self.assertEqual(data['vendor'], 'Wirecloud')
        self.assertEqual(data['name'], 'test')
        self.assertEqual(data['version'], '0.1')

        self.assertEqual(data['variables']['prop']['label'], 'Property label')
        self.assertEqual(data['variables']['prop']['aspect'], 'PROP')
        self.assertEqual(data['variables']['pref']['label'], 'Preference label')
        self.assertEqual(data['variables']['pref']['value_options'], [['1', 'Option name']])
        self.assertEqual(data['variables']['pref']['aspect'], 'PREF')
        self.assertEqual(data['variables']['event']['label'], 'Event label')
        self.assertEqual(data['variables']['event']['aspect'], 'EVEN')
        self.assertEqual(data['variables']['slot']['label'], 'Slot label')
        self.assertEqual(data['variables']['slot']['aspect'], 'SLOT')

        self.assertEqual(data['variables']['language']['aspect'], 'ECTX')
        self.assertEqual(data['variables']['language']['concept'], 'language')
        self.assertEqual(data['variables']['user']['aspect'], 'ECTX')
        self.assertEqual(data['variables']['user']['concept'], 'username')
        self.assertEqual(data['variables']['width']['aspect'], 'GCTX')
        self.assertEqual(data['variables']['width']['concept'], 'widthInPixels')
Example #3
0
        def wrapper(self, *args, **kwargs):

            if shared:
                base = self.shared_test_data_dir
            else:
                base = self.test_data_dir

            for resource in resources:
                wgt_file = open(os.path.join(base, resource), "rb")
                wgt = WgtFile(wgt_file)

                if deploy_only:
                    catalogue.add_packaged_resource(wgt_file, None, wgt_file=wgt, deploy_only=True)
                    wgt_file.close()
                    continue

                resource = install_resource(wgt, None)

                if public:
                    resource.public = True
                    resource.save()

                final_users = (User.objects.get(username=user) for user in users)
                resource.users.add(*final_users)

                final_groups = (Group.objects.get(name=group) for group in groups)
                resource.groups.add(*final_groups)

                wgt_file.close()

            return test_func(self, *args, **kwargs)
Example #4
0
        def wrapper(self, *args, **kwargs):

            if shared:
                base = self.shared_test_data_dir
            else:
                base = self.test_data_dir

            final_creator = User.objects.get(username=creator) if creator is not None else None

            final_users = tuple(User.objects.get(username=user) for user in users)
            final_groups = tuple(Group.objects.get(name=group) for group in groups)

            for resource in resources:
                wgt_file = open(os.path.join(base, resource), 'rb')
                wgt = WgtFile(wgt_file)

                fix_dev_version(wgt, final_creator)
                if deploy_only:
                    catalogue.add_packaged_resource(wgt.get_underlying_file(), final_creator, wgt_file=wgt, deploy_only=True)
                    wgt_file.close()
                    continue

                resource = install_resource(wgt, final_creator)

                if public:
                    resource.public = True
                    resource.save()

                resource.users.add(*final_users)
                resource.groups.add(*final_groups)

                wgt_file.close()

            return test_func(self, *args, **kwargs)
Example #5
0
    def test_basic_widget_creation_from_rdf(self):
        template_uri = "http://example.com/path/widget.rdf"
        template = self.read_template('template1.rdf')

        parser = TemplateParser(template)
        data = parser.get_resource_info()
        self.assertIn('requirements', data)
        self.assertItemsEqual(data['requirements'], ({'type': 'feature', 'name': 'Wirecloud'},))

        downloader.download_http_content.set_response(template_uri, template)
        downloader.download_http_content.set_response('http://example.com/path/test.html', BASIC_HTML_GADGET_CODE)
        widget = install_resource(template, template_uri, self.user, False).widget

        self.changeLanguage('en')
        data = get_widget_data(widget)
        self.assertEqual(data['uri'], 'Wirecloud/test/0.1')
        self.assertEqual(data['vendor'], 'Wirecloud')
        self.assertEqual(data['name'], 'test')
        self.assertEqual(data['version'], '0.1')

        self.assertEqual(data['variables']['prop']['label'], u'Property Label')
        self.assertEqual(data['variables']['prop']['aspect'], 'PROP')
        self.assertEqual(data['variables']['pref']['label'], u'Preference Label')
        self.assertEqual(data['variables']['pref']['value_options'], [[u'1', u'Option Name']])
        self.assertEqual(data['variables']['pref']['aspect'], 'PREF')
        self.assertEqual(data['variables']['event']['label'], u'Event Label')
        self.assertEqual(data['variables']['event']['aspect'], 'EVEN')
        self.assertEqual(data['variables']['slot']['label'], u'Slot Label')
        self.assertEqual(data['variables']['slot']['aspect'], 'SLOT')
Example #6
0
    def test_repeated_translation_indexes(self):

        file_contents = self.build_simple_wgt('template2.xml')

        resource = install_resource(file_contents, self.user)

        data = resource.get_processed_info()
        self.assertEqual(data['title'], 'Test Widget')
        self.assertEqual(data['version'], '0.2')

        self.assertEqual(len(data['properties']), 1)
        self.assertEqual(data['properties'], [{'default': '', 'secure': False, 'name': 'prop', 'label': 'Label', 'type': 'text', 'description': '', 'multiuser': False}])

        self.assertEqual(len(data['preferences']), 1)
        self.assertEqual(data['preferences'], [
            {
                'default': 'value',
                'secure': False,
                'name': 'pref',
                'label': 'Label',
                'type': 'text',
                'readonly': False,
                'description': 'Preference description',
                'value': None,
                'multiuser': False,
                'required': False,
            }
        ])

        self.assertEqual(len(data['wiring']['inputs']), 1)
        self.assertEqual(data['wiring']['inputs'], [{'name': 'slot', 'label': 'Label', 'type': 'text', 'description': '', 'friendcode': 'test_friend_code', 'actionlabel': ''}])

        self.assertEqual(len(data['wiring']['outputs']), 1)
        self.assertEqual(data['wiring']['outputs'], [{'name': 'event', 'label': 'Label', 'type': 'text', 'description': '', 'friendcode': 'test_friend_code'}])
Example #7
0
    def test_repeated_translation_indexes(self):

        file_contents = self.build_simple_wgt('template2.xml')

        resource = install_resource(file_contents, self.user)

        data = resource.get_processed_info()
        self.assertEqual(data['title'], 'Test Widget')
        self.assertEqual(data['version'], '0.2')

        self.assertEqual(len(data['properties']), 1)
        self.assertEqual(data['properties'], [{
            'default': '',
            'secure': False,
            'name': 'prop',
            'label': 'Label',
            'type': 'text',
            'description': '',
            'multiuser': False
        }])

        self.assertEqual(len(data['preferences']), 1)
        self.assertEqual(data['preferences'], [{
            'default': 'value',
            'secure': False,
            'name': 'pref',
            'label': 'Label',
            'type': 'text',
            'readonly': False,
            'description': 'Preference description',
            'value': None,
            'multiuser': False,
            'required': False,
        }])

        self.assertEqual(len(data['wiring']['inputs']), 1)
        self.assertEqual(data['wiring']['inputs'], [{
            'name': 'slot',
            'label': 'Label',
            'type': 'text',
            'description': '',
            'friendcode': 'test_friend_code',
            'actionlabel': ''
        }])

        self.assertEqual(len(data['wiring']['outputs']), 1)
        self.assertEqual(data['wiring']['outputs'],
                         [{
                             'name': 'event',
                             'label': 'Label',
                             'type': 'text',
                             'description': '',
                             'friendcode': 'test_friend_code'
                         }])
Example #8
0
    def test_basic_ezweb_widget_creation(self):
        template_uri = "http://example.com/path/widget.xml"
        template = self.read_template("old-template.xml")

        self.network._servers["http"]["example.com"].add_response("GET", "/path/widget.xml", {"content": template})
        self.network._servers["http"]["example.com"].add_response(
            "GET", "/path/test.html", {"content": BASIC_HTML_GADGET_CODE}
        )
        resource = install_resource(template, template_uri, self.user, False)

        self.check_basic_widget_info(resource)
Example #9
0
    def test_repeated_translation_indexes(self):

        file_contents = self.build_simple_wgt("template2.xml")

        resource = install_resource(file_contents, self.user)

        data = resource.get_processed_info()
        self.assertEqual(data["title"], "Test Widget")
        self.assertEqual(data["version"], "0.2")

        self.assertEqual(len(data["properties"]), 1)
        self.assertEqual(
            data["properties"],
            [{"default": "", "secure": False, "name": "prop", "label": "Label", "type": "text", "description": ""}],
        )

        self.assertEqual(len(data["preferences"]), 1)
        self.assertEqual(
            data["preferences"],
            [
                {
                    "default": "value",
                    "secure": False,
                    "name": "pref",
                    "label": "Label",
                    "readonly": False,
                    "type": "text",
                    "description": "Preference description",
                    "value": None,
                }
            ],
        )

        self.assertEqual(len(data["wiring"]["inputs"]), 1)
        self.assertEqual(
            data["wiring"]["inputs"],
            [
                {
                    "name": "slot",
                    "label": "Label",
                    "type": "text",
                    "description": "",
                    "friendcode": "test_friend_code",
                    "actionlabel": "",
                }
            ],
        )

        self.assertEqual(len(data["wiring"]["outputs"]), 1)
        self.assertEqual(
            data["wiring"]["outputs"],
            [{"name": "event", "label": "Label", "type": "text", "description": "", "friendcode": "test_friend_code"}],
        )
Example #10
0
    def test_basic_widget_creation_from_rdf(self):
        template_uri = "http://example.com/path/widget.rdf"
        template = self.read_template('template1.rdf')

        parser = TemplateParser(template)
        data = parser.get_resource_info()
        self.assertIn('requirements', data)
        self.assertItemsEqual(data['requirements'], ({'type': 'feature', 'name': 'Wirecloud'},))

        self.network._servers['http']['example.com'].add_response('GET', '/path/widget.rdf', {'content': template})
        self.network._servers['http']['example.com'].add_response('GET', '/path/test.html', {'content': BASIC_HTML_GADGET_CODE})
        resource = install_resource(template, template_uri, self.user, False)

        self.check_basic_widget_info(resource)
Example #11
0
    def test_basic_widget_creation_from_rdf(self):
        template_uri = "http://example.com/path/widget.rdf"
        template = self.read_template("template1.rdf")

        parser = TemplateParser(template)
        data = parser.get_resource_info()
        self.assertIn("requirements", data)
        self.assertItemsEqual(data["requirements"], ({"type": "feature", "name": "Wirecloud"},))

        self.network._servers["http"]["example.com"].add_response("GET", "/path/widget.rdf", {"content": template})
        self.network._servers["http"]["example.com"].add_response(
            "GET", "/path/test.html", {"content": BASIC_HTML_GADGET_CODE}
        )
        resource = install_resource(template, template_uri, self.user, False)

        self.check_basic_widget_info(resource)
Example #12
0
    def test_repeated_translation_indexes(self):
        template_uri = "http://example.com/path/widget.xml"
        template = self.read_template('template2.xml')

        downloader.download_http_content.set_response(template_uri, template)
        downloader.download_http_content.set_response('http://example.com/path/test.html', BASIC_HTML_GADGET_CODE)
        widget = install_resource(template, template_uri, self.user, False).widget

        self.changeLanguage('en')
        data = get_widget_data(widget)
        self.assertEqual(data['displayName'], 'Test Widget')
        self.assertEqual(data['version'], '0.2')

        self.assertEqual(data['variables']['prop']['label'], 'Label')
        self.assertEqual(data['variables']['pref']['label'], 'Label')
        self.assertEqual(data['variables']['event']['label'], 'Label')
        self.assertEqual(data['variables']['slot']['label'], 'Label')
Example #13
0
        def wrapper(self, *args, **kwargs):

            if shared:
                base = self.shared_test_data_dir
            else:
                base = self.test_data_dir

            final_creator = User.objects.get(
                username=creator) if creator is not None else None

            final_users = tuple(
                User.objects.get(username=user) for user in users)
            final_groups = tuple(
                Group.objects.get(name=group) for group in groups)

            for resource in resources:
                wgt_file = open(os.path.join(base, resource), 'rb')
                wgt = WgtFile(wgt_file)

                fix_dev_version(wgt, final_creator)
                if deploy_only:
                    catalogue.add_packaged_resource(wgt.get_underlying_file(),
                                                    final_creator,
                                                    wgt_file=wgt,
                                                    deploy_only=True)
                    wgt_file.close()
                    continue

                resource = install_resource(wgt, final_creator)

                if public:
                    resource.public = True
                    resource.save()

                resource.users.add(*final_users)
                resource.groups.add(*final_groups)

                wgt_file.close()

            return test_func(self, *args, **kwargs)
Example #14
0
    def test_repeated_translation_indexes(self):
        template_uri = "http://example.com/path/widget.xml"
        template = self.read_template('template2.xml')

        self.network._servers['http']['example.com'].add_response('GET', '/path/widget.xml', {'content': template})
        self.network._servers['http']['example.com'].add_response('GET', '/path/test.html', {'content': BASIC_HTML_GADGET_CODE})
        resource = install_resource(template, template_uri, self.user, False)

        data = resource.get_processed_info()
        self.assertEqual(data['title'], 'Test Widget')
        self.assertEqual(data['version'], '0.2')

        self.assertEqual(len(data['properties']), 1)
        self.assertEqual(data['properties'], [{u'default': u'', u'secure': False, u'name': u'prop', u'label': u'Label', u'type': u'text', u'description': u''}])

        self.assertEqual(len(data['preferences']), 1)
        self.assertEqual(data['preferences'], [{u'default': u'value', u'secure': False, u'name': u'pref', u'label': u'Label', u'readonly': False, u'type': u'text', u'description': u'Preference description', u'value': None}])

        self.assertEqual(len(data['wiring']['inputs']), 1)
        self.assertEqual(data['wiring']['inputs'], [{u'name': u'slot', u'label': u'Label', u'type': u'text', u'description': u'',u'friendcode': u'test_friend_code', u'actionlabel': u''}])

        self.assertEqual(len(data['wiring']['outputs']), 1)
        self.assertEqual(data['wiring']['outputs'], [{u'name': u'event', u'label': u'Label', u'type': u'text', u'description': u'', u'friendcode': u'test_friend_code'}])
Example #15
0
        def wrapper(self, *args, **kwargs):

            if shared:
                base = self.shared_test_data_dir
            else:
                base = self.test_data_dir

            for resource in resources:
                wgt_file = open(os.path.join(base, resource), 'rb')
                wgt = WgtFile(wgt_file)

                if deploy_only:
                    catalogue.add_packaged_resource(wgt_file,
                                                    None,
                                                    wgt_file=wgt,
                                                    deploy_only=True)
                    wgt_file.close()
                    continue

                resource = install_resource(wgt, None)

                if public:
                    resource.public = True
                    resource.save()

                final_users = (User.objects.get(username=user)
                               for user in users)
                resource.users.add(*final_users)

                final_groups = (Group.objects.get(name=group)
                                for group in groups)
                resource.groups.add(*final_groups)

                wgt_file.close()

            return test_func(self, *args, **kwargs)
Example #16
0
 def test_install_dev_resource(self):
     widgetT2 = self.build_simple_wgt('devwidget.json', b'code')
     r1 = install_resource(widgetT2, self.user2)
     r2 = install_resource(widgetT2, self.user2)
     self.assertNotEqual(r1, r2)
Example #17
0
    def test_repeated_translation_indexes(self):
        template_uri = "http://example.com/path/widget.xml"
        template = self.read_template("template2.xml")

        self.network._servers["http"]["example.com"].add_response("GET", "/path/widget.xml", {"content": template})
        self.network._servers["http"]["example.com"].add_response(
            "GET", "/path/test.html", {"content": BASIC_HTML_GADGET_CODE}
        )
        resource = install_resource(template, template_uri, self.user, False)

        data = resource.get_processed_info()
        self.assertEqual(data["display_name"], "Test Widget")
        self.assertEqual(data["version"], "0.2")

        self.assertEqual(len(data["properties"]), 1)
        self.assertEqual(
            data["properties"],
            [
                {
                    u"default_value": u"",
                    u"secure": False,
                    u"name": u"prop",
                    u"label": u"Label",
                    u"type": u"text",
                    u"description": u"",
                }
            ],
        )

        self.assertEqual(len(data["preferences"]), 1)
        self.assertEqual(
            data["preferences"],
            [
                {
                    u"default_value": u"value",
                    u"secure": False,
                    u"name": u"pref",
                    u"label": u"Label",
                    u"readonly": False,
                    u"type": u"text",
                    u"description": u"Preference description",
                    u"value": None,
                }
            ],
        )

        self.assertEqual(len(data["wiring"]["inputs"]), 1)
        self.assertEqual(
            data["wiring"]["inputs"],
            [
                {
                    u"name": u"slot",
                    u"label": u"Label",
                    u"type": u"text",
                    u"description": u"",
                    u"friendcode": u"test_friend_code",
                    u"actionlabel": u"",
                }
            ],
        )

        self.assertEqual(len(data["wiring"]["outputs"]), 1)
        self.assertEqual(
            data["wiring"]["outputs"],
            [
                {
                    u"name": u"event",
                    u"label": u"Label",
                    u"type": u"text",
                    u"description": u"",
                    u"friendcode": u"test_friend_code",
                }
            ],
        )