def test_syndication(self): self.portal.publisher = 'The publisher' addNyEvent(self.portal['info'], id='9000', contributor='Me', title='Eveniment', lang='en', start_date='12/12/2012', end_date='13/12/2012', host='Me', location='Somewhere') event = self.portal['info']['9000'] tree = etree.XML(event.syndicateThis()) event_contrib = tree.xpath('./dc:contributor', namespaces=rdf_ns_map)[0] event_type = tree.xpath('./dc:type', namespaces=rdf_ns_map)[0] event_format = tree.xpath('./dc:format', namespaces=rdf_ns_map)[0] event_source = tree.xpath('./dc:source', namespaces=rdf_ns_map)[0] event_host = tree.xpath('./ev:organizer', namespaces=rdf_ns_map)[0] event_startdate = tree.xpath('./ev:startdate', namespaces=rdf_ns_map)[0] event_enddate = tree.xpath('./ev:enddate', namespaces=rdf_ns_map)[0] event_location = tree.xpath('./ev:location', namespaces=rdf_ns_map)[0] about = tree.xpath('//@rdf:about', namespaces=rdf_ns_map)[0] lang = self.portal.gl_get_selected_language() self.assertEqual(about, event.absolute_url()) self.assertEqual(event_contrib.text, "Me") self.assertEqual(event_type.text, 'Event') self.assertEqual(event_format.text, 'text') self.assertEqual(event_source.text, self.portal.publisher) self.assertEqual(event_host.text, event.host) self.assertEqual(event_location.text, event.location) self.assertEqual(event_startdate.text, event.utShowFullDateTimeHTML(event.start_date)) self.assertEqual(event_enddate.text, event.utShowFullDateTimeHTML(event.end_date))
def test_events(self): """ Find NaayaEvents """ calendar_id = 'portal_calendar' #add calendar manage_addEventCalendar(self._portal(), id=calendar_id, title='Events calendar', day_len='3', start_day='Monday', catalog='portal_catalog') calendar = self._portal()._getOb(calendar_id) calendar.cal_meta_types = calendar.setCalMetaTypes('Naaya Event') #add portal catalog index catalog = self._portal()._getOb('portal_catalog') extra = Record(since_field='start_date', until_field='end_date') catalog.addIndex('resource_interval', 'DateRangeIndex', extra) #add event addNyFolder(self._portal(), 'myfolder') addNyEvent(self._portal().myfolder, id='myevent', title='My event', lang='en', start_date="10/10/2000", end_date="15/10/2000") event = self._portal().myfolder._getOb('myevent') #get events self.assertEqual(calendar.getEvents(year=2000, month=10), [(event, '10 October 2000', '15 October 2000')])
def afterSetUp(self): from Products.Naaya.NyFolder import addNyFolder from naaya.content.event.event_item import addNyEvent addNyFolder(self.portal, 'myfolder', contributor='contributor', submitted=1) addNyEvent(self.portal.myfolder, id='myevent', title='My event', submitted=1, contributor='contributor', start_date="10/10/2000") import transaction; transaction.commit()
def test_change_topitem_status(self): """ show/hide event on the front page """ #add NyEvent addNyEvent(self._portal().info, id='event1', title='event1', lang='en', start_date="10/10/2000", topitem=False) meta = self._portal().getCatalogedObjectsCheckView( meta_type=['Naaya Event'], topitem=1) self.assertEqual(meta, []) #show event on the front page self._portal().info.event1.change_topitem_status() meta = self._portal().getCatalogedObjectsCheckView( meta_type=['Naaya Event'], topitem=1) self.assertEqual(meta[0].getLocalProperty('title', 'en'), 'event1') #hide event from the front page self._portal().info.event1.change_topitem_status() meta = self._portal().getCatalogedObjectsCheckView( meta_type=['Naaya Event'], topitem=1) self.assertEqual(meta, [])
def test_main(self): """ Add, Find, Edit and Delete Naaya Events """ #add NyEvent addNyEvent(self._portal().info, id='event1', title='event1', lang='en') addNyEvent(self._portal().info, id='event1_fr', title='event1_fr', lang='fr') meta = self._portal().getCatalogedObjectsCheckView(meta_type=['Naaya Event']) #get added NyEvent for x in meta: if x.getLocalProperty('title', 'en') == 'event1': meta = x if x.getLocalProperty('title', 'fr') == 'event1_fr': meta_fr = x self.assertEqual(meta.getLocalProperty('title', 'en'), 'event1') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'event1_fr') #change NyEvent title meta.saveProperties(title='event1_edited', lang='en') meta_fr.saveProperties(title='event1_fr_edited', lang='fr') self.assertEqual(meta.getLocalProperty('title', 'en'), 'event1_edited') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'event1_fr_edited') #delete NyEvent self._portal().info.manage_delObjects([meta.id]) self._portal().info.manage_delObjects([meta_fr.id]) meta = self._portal().getCatalogedObjectsCheckView(meta_type=['Naaya Event']) self.assertEqual(meta, [])
def test_export_event(self): addNyEvent(self.test_folder, id="interesting_event", title="Great event", start_date="10/10/2000") export_value = self.test_folder.zip_export.do_export() self.assertFalse(isinstance(export_value, list), ("Errors are raised: ", export_value)) zip = ZipFile(export_value, "r") self.assertEqual(sorted(zip.namelist()), sorted(["index.txt", "zip_export_folder/Great event.html"])) exported_event_content = zip.read("zip_export_folder/Great event.html") obj = self.test_folder["interesting_event"] schema = self.portal.getSchemaTool().getSchemaForMetatype("Naaya Event") obj_data = [] obj_data.append("<html><body>") obj_data.append("<h1>%s</h1>" % obj.title_or_id()) for widget in schema.listWidgets(): if widget.prop_name() in ["sortorder", "topitem", "title"]: continue if not widget.visible: continue obj_widget_value = getattr(obj, widget.prop_name(), "") widget_data = widget._convert_to_form_string(obj_widget_value) if not widget_data: continue obj_data.append("<h2>%s</h2><p><div>%s</div></p>" % (widget.title, widget_data)) obj_data.append("</body></html>") self.assertEqual("\n".join(obj_data), exported_event_content)
def test_main(self): """ Add, Find, Edit and Delete Naaya Events """ # add NyEvent addNyEvent(self._portal().info, id="event1", title="event1", lang="en", start_date="10/10/2000") addNyEvent(self._portal().info, id="event1_fr", title="event1_fr", lang="fr", start_date="10/10/2000") meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya Event"]) # get added NyEvent for x in meta: if x.getLocalProperty("title", "en") == "event1": meta = x if x.getLocalProperty("title", "fr") == "event1_fr": meta_fr = x self.assertEqual(meta.getLocalProperty("title", "en"), "event1") self.assertEqual(meta_fr.getLocalProperty("title", "fr"), "event1_fr") # change NyEvent title meta.saveProperties(title="event1_edited", lang="en", start_date="10/10/2000") meta_fr.saveProperties(title="event1_fr_edited", lang="fr", start_date="10/10/2000") self.assertEqual(meta.getLocalProperty("title", "en"), "event1_edited") self.assertEqual(meta_fr.getLocalProperty("title", "fr"), "event1_fr_edited") # delete NyEvent self._portal().info.manage_delObjects([meta.id]) self._portal().info.manage_delObjects([meta_fr.id]) meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya Event"]) self.assertEqual(meta, [])
def afterSetUp(self): from naaya.content.event.event_item import addNyEvent addNyEvent(self.portal.info, id='ver_event', title='ver_event', submitted=1, start_date="10/10/2000") import transaction transaction.commit()
def afterSetUp(self): from Products.Naaya.NyFolder import addNyFolder from naaya.content.event.event_item import addNyEvent addNyFolder(self.portal, 'myfolder', contributor='contributor', submitted=1) addNyEvent(self.portal.myfolder, id='myevent', title='My event', submitted=1, contributor='contributor', start_date="10/10/2000") import transaction transaction.commit()
def import_items(self): """ """ import xmlrpclib sdo = xmlrpclib.ServerProxy('http://sd-online.ewindows.eu.org') folder_name = skel.INFO_TYPES[self.info_type]['folder_name'] obs = sdo.urls_export(folder_name) total_obs = len(obs) current_ob = 0 for ob in obs: current_ob += 1 self.translate_info(ob) if self.info_type == 'enterprises': object_id = NyEnterprise.addNyEnterprise(self, contributor='admin', **ob) if self.info_type == 'networks': object_id = NyNetwork.addNyNetwork(self, contributor='admin', **ob) if self.info_type == 'events': object_id = event_item.addNyEvent(self, contributor='admin', **ob) if self.info_type == 'tools': object_id = NyTool.addNyTool(self, contributor='admin', **ob) if self.info_type == 'trainings': object_id = NyTraining.addNyTraining(self, contributor='admin', **ob) print '%s of %s objects, SDO Id: %s, ID: %s' % ( current_ob, total_obs, ob['original_sdo_id'], object_id) print 'Import finished.'
def test_change_topitem_status(self): """ show/hide event on the front page """ # add NyEvent addNyEvent(self._portal().info, id="event1", title="event1", lang="en", start_date="10/10/2000", topitem=False) meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya Event"], topitem=1) self.assertEqual(meta, []) # show event on the front page self._portal().info.event1.change_topitem_status() meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya Event"], topitem=1) self.assertEqual(meta[0].getLocalProperty("title", "en"), "event1") # hide event from the front page self._portal().info.event1.change_topitem_status() meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya Event"], topitem=1) self.assertEqual(meta, [])
def test_main(self): """ Add, Find, Edit and Delete Naaya Events """ #add NyEvent addNyEvent(self._portal().info, id='event1', title='event1', lang='en', start_date="10/10/2000") addNyEvent(self._portal().info, id='event1_fr', title='event1_fr', lang='fr', start_date="10/10/2000") meta = self._portal().getCatalogedObjectsCheckView( meta_type=['Naaya Event']) #get added NyEvent for x in meta: if x.getLocalProperty('title', 'en') == 'event1': meta = x if x.getLocalProperty('title', 'fr') == 'event1_fr': meta_fr = x self.assertEqual(meta.getLocalProperty('title', 'en'), 'event1') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'event1_fr') #change NyEvent title meta.saveProperties(title='event1_edited', lang='en', start_date='10/10/2000') meta_fr.saveProperties(title='event1_fr_edited', lang='fr', start_date='10/10/2000') self.assertEqual(meta.getLocalProperty('title', 'en'), 'event1_edited') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'event1_fr_edited') #delete NyEvent self._portal().info.manage_delObjects([meta.id]) self._portal().info.manage_delObjects([meta_fr.id]) meta = self._portal().getCatalogedObjectsCheckView( meta_type=['Naaya Event']) self.assertEqual(meta, [])
def test_rss_item_for_object(self): syndication_tool = self.portal.getSyndicationTool() namespaces = {} for n in syndication_tool.getNamespaceItemsList(): if n.prefix != '': namespaces[n.prefix] = n.value else: namespaces['a'] = n.value addNyEvent(self.portal['info'], id='9000', contributor='Me', title='Eveniment', start_date='12/12/2012', description='About something') event = self.portal['info']['9000'] event.approveThis() self.portal.recatalogNyObject(self.portal['info']['9000']) lang = self.portal.gl_get_selected_language() self.portal._setLocalPropValue('rights', lang, 'No rights') tree = rss_item_for_object(event, lang) title = tree.xpath('./title', namespaces=namespaces)[0] link = tree.xpath('./link', namespaces=namespaces)[0] description = tree.xpath('./description', namespaces=namespaces)[0] dc_title = tree.xpath('./dc:title', namespaces=namespaces)[0] identifier = tree.xpath('./dc:identifier', namespaces=namespaces)[0] dc_description = tree.xpath('./dc:description', namespaces=namespaces)[0] contributor = tree.xpath('./dc:contributor', namespaces=namespaces)[0] language = tree.xpath('./dc:language', namespaces=namespaces)[0] rights = tree.xpath('./dc:rights', namespaces=namespaces)[0] self.assertEqual(title.text, event.title) self.assertEqual(link.text, event.absolute_url()) self.assertEqual(description.text, event.description) self.assertEqual(dc_title.text, event.title) self.assertEqual(identifier.text, event.absolute_url()) self.assertEqual(dc_description.text, event.description) self.assertEqual(contributor.text, event.contributor) self.assertEqual(language.text, lang) self.assertEqual(rights.text, event.rights)
def afterSetUp(self): addNyEvent(self.portal.info, id='event1', title='event1', start_date='12/12/2010', end_date='13/12/2010', lang='en') addNyEvent(self.portal.info, id='event1_fr', title='event1_fr', start_date='12/12/2010', end_date='12/12/2010', lang='fr') addNyEvent(self.portal.info, id='event2', title='event2', start_date='28/11/2010', end_date='02/12/2010', lang='fr')
def test_export_event(self): addNyEvent(self.test_folder, id='interesting_event', title='Great event', start_date='10/10/2000') export_value = self.test_folder.zip_export.do_export() self.assertFalse(isinstance(export_value, list), ('Errors are raised: ', export_value)) zip = ZipFile(export_value, 'r') self.assertEqual( sorted(zip.namelist()), sorted(['index.txt', 'zip_export_folder/Great event.html'])) exported_event_content = zip.read('zip_export_folder/Great event.html') obj = self.test_folder['interesting_event'] schema = self.portal.getSchemaTool().getSchemaForMetatype( 'Naaya Event') obj_data = [] obj_data.append('<html><body>') obj_data.append('<h1>%s</h1>' % obj.title_or_id()) for widget in schema.listWidgets(): if widget.prop_name() in ['sortorder', 'topitem', 'title']: continue if not widget.visible: continue obj_widget_value = getattr(obj, widget.prop_name(), '') widget_data = widget._convert_to_form_string(obj_widget_value) if not widget_data: continue obj_data.append('<h2>%s</h2><p><div>%s</div></p>' % (widget.title, widget_data)) obj_data.append('</body></html>') self.assertEqual('\n'.join(obj_data), exported_event_content)
def test_export_event(self): addNyEvent(self.test_folder, id='interesting_event', title='Great event', start_date='10/10/2000') export_value = self.test_folder.zip_export.do_export() self.assertFalse(isinstance(export_value, list), ('Errors are raised: ', export_value)) zip = ZipFile(export_value, 'r') self.assertEqual(sorted(zip.namelist()), sorted(['index.txt', 'zip_export_folder/interesting_event.html'])) exported_event_content = \ zip.read('zip_export_folder/interesting_event.html') obj = self.test_folder['interesting_event'] schema = self.portal.getSchemaTool().getSchemaForMetatype('Naaya Event') obj_data = [] obj_data.append('<html><body>') obj_data.append('<h1>%s</h1>' % obj.title_or_id()) for widget in schema.listWidgets(): if widget.prop_name() in ['sortorder', 'topitem', 'title']: continue if not widget.visible: continue obj_widget_value = getattr(obj, widget.prop_name(), '') widget_data = widget._convert_to_form_string(obj_widget_value) if not widget_data: continue obj_data.append('<h2>%s</h2><p><div>%s</div></p>' % (widget.title, widget_data)) obj_data.append('</body></html>') self.assertEqual('\n'.join(obj_data), exported_event_content)
def import_items(self): """ """ import xmlrpclib sdo = xmlrpclib.ServerProxy('http://sd-online.ewindows.eu.org') folder_name = skel.INFO_TYPES[self.info_type]['folder_name'] obs = sdo.urls_export(folder_name) total_obs = len(obs) current_ob = 0 for ob in obs: current_ob += 1 self.translate_info(ob) if self.info_type == 'enterprises': object_id = NyEnterprise.addNyEnterprise(self, contributor='admin', **ob) if self.info_type == 'networks': object_id = NyNetwork.addNyNetwork(self, contributor='admin', **ob) if self.info_type == 'events': object_id = event_item.addNyEvent(self, contributor='admin', **ob) if self.info_type == 'tools': object_id = NyTool.addNyTool(self, contributor='admin', **ob) if self.info_type == 'trainings': object_id = NyTraining.addNyTraining(self, contributor='admin', **ob) print '%s of %s objects, SDO Id: %s, ID: %s' % (current_ob, total_obs, ob['original_sdo_id'], object_id) print 'Import finished.'
def afterSetUp(self): portal = self.app.portal addNyFolder(portal, 'test_folder') addNyEvent(portal.test_folder, id='test_event', title='Test event')
def add_object(self, parent): kwargs = {'title': 'My event', 'start_date': "10/10/2000"} ob = parent[addNyEvent(parent, **kwargs)] ob.approveThis() return ob
def afterSetUp(self): from naaya.content.event.event_item import addNyEvent addNyEvent(self.portal.info, id='ver_event', title='ver_event', submitted=1, start_date="10/10/2000") import transaction; transaction.commit()
def add_object(self, parent, **kwargs): from naaya.content.event.event_item import addNyEvent if 'start_date' not in kwargs: kwargs['start_date'] = "05/11/2010" return addNyEvent(parent, **kwargs)