def test_build_template_from_workspace_forced_values(self): # Workspace with iwidgets options = { 'vendor': 'Wirecloud Test Suite', 'name': 'Test Mashup', 'version': '1', 'author': 'test', 'email': '*****@*****.**', 'readOnlyWidgets': True, 'parametrization': { '1': { 'username': {'source': 'current', 'status': 'readonly', 'value': 'default'}, 'password': {'source': 'current', 'status': 'hidden', 'value': 'initial text'}, } }, } template = build_template_from_workspace(options, self.workspace_with_iwidgets, self.user) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[1]/Preference[@name="username"]', 'readonly', 'true') self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[1]/Preference[@name="username"]', 'hidden', 'false', optional=True) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[1]/Preference[@name="username"]', 'value', 'default') self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[1]/Preference[@name="password"]', 'readonly', 'true') self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[1]/Preference[@name="password"]', 'hidden', 'true') self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[1]/Preference[@name="password"]', 'value', 'initial text') self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[2]/Preference[@name="username"]', 'readonly', 'false', optional=True) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[2]/Preference[@name="username"]', 'hidden', 'false', optional=True) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[2]/Preference[@name="username"]', 'value', 'test_username') self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[2]/Preference[@name="password"]', 'readonly', 'false', optional=True) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[2]/Preference[@name="password"]', 'hidden', 'false', optional=True) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[2]/Preference[@name="password"]', 'value', 'test_password')
def test_build_template_from_workspace(self): options = { 'vendor': 'Wirecloud Test Suite', 'name': 'Test Mashup', 'version': '1', 'author': 'test', 'email': '*****@*****.**', 'readOnlyWidgets': True, } template = build_template_from_workspace(options, self.workspace, self.user) # Basic info self.assertXPathText(template, '/Template/Catalog.ResourceDescription/Vendor', 'Wirecloud Test Suite') self.assertXPathText(template, '/Template/Catalog.ResourceDescription/Name', 'Test Mashup') self.assertXPathText(template, '/Template/Catalog.ResourceDescription/Version', '1') self.assertXPathText(template, '/Template/Catalog.ResourceDescription/Author', 'test') self.assertXPathText(template, '/Template/Catalog.ResourceDescription/Mail', '*****@*****.**') # IWidgets self.assertXPathCount(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab', 1) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]', 'name', 'Tab') self.assertXPathCount(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/IWidget', 0) # Workspace with iwidgets options = { 'vendor': 'Wirecloud Test Suite', 'name': 'Test Mashup', 'version': '1', 'author': 'test', 'email': '*****@*****.**', 'readOnlyWidgets': True, } template = build_template_from_workspace(options, self.workspace_with_iwidgets, self.user) # Basic info self.assertXPathText(template, '/Template/Catalog.ResourceDescription/Vendor', 'Wirecloud Test Suite') self.assertXPathText(template, '/Template/Catalog.ResourceDescription/Name', 'Test Mashup') self.assertXPathText(template, '/Template/Catalog.ResourceDescription/Version', '1') self.assertXPathText(template, '/Template/Catalog.ResourceDescription/Author', 'test') self.assertXPathText(template, '/Template/Catalog.ResourceDescription/Mail', '*****@*****.**') # IWidgets self.assertXPathCount(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab', 1) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]', 'name', 'tab') self.assertXPathCount(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource', 2)
def test_build_template_from_workspace(self): options = { 'vendor': 'Wirecloud Test Suite', 'name': 'Test Mashup', 'version': '1', 'author': 'test', 'email': '*****@*****.**', } template = build_template_from_workspace(options, self.workspace, self.user) self.check_basic_xml_workspace_template_info(template) self.check_empty_xml_wiring_info(template) # IWidgets self.assertXPathCount(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab', 1) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]', 'name', 'Tab') self.assertXPathCount(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/IWidget', 0) # Workspace with iwidgets options = { 'vendor': 'Wirecloud Test Suite', 'name': 'Test Mashup', 'version': '1', 'author': 'test', 'email': '*****@*****.**', 'doc_uri': 'http://example.com/test-mashup/docs/index.html', 'readOnlyWidgets': False, } template = build_template_from_workspace(options, self.workspace_with_iwidgets, self.user) self.check_basic_xml_workspace_template_info(template) # IWidgets self.assertXPathCount(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab', 1) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]', 'name', 'tab') self.assertXPathCount(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource', 2) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[1]', 'readonly', 'false', optional=True) self.assertXPathAttr(template, '/Template/Catalog.ResourceDescription/IncludedResources/Tab[1]/Resource[2]', 'readonly', 'false', optional=True) self.check_empty_xml_wiring_info(template)