def afterSetUp(self): from Products.Naaya.NyFolder import addNyFolder from naaya.content.url.url_item import addNyURL addNyFolder(self.portal, 'myfolder', contributor='contributor', submitted=1) addNyURL(self.portal.myfolder, id='myurl', title='My url', locator='http://www.eaudeweb.ro', submitted=1, contributor='contributor') import transaction; transaction.commit()
def test_addNyURL_duplicates(self): self.login("contributor") url_item.addNyURL(self.app.portal.test_folder, id="urldup1", title="urldup1", locator="www.google.com") self.assertTrue(hasattr(self.app.portal.test_folder, "urldup1"), "URL object urldup1 was not found in folder 'test_folder'") url_item.addNyURL(self.app.portal.test_folder, id="urldup1", title="urldup1", locator="www.google.com") self.assertTrue(hasattr(self.app.portal.test_folder, "urldup1-1"), "URL object urldup1 was not found in folder 'test_folder'") self.logout()
def test_export_this_body_custom(self): self.login("contributor") url_item.addNyURL(self.app.portal.test_folder, title="urly", contributor="cristiroma", locator="www.google.com") url = self.app.portal.test_folder.urly exportStr = url.export_this_body_custom() self.assertTrue(exportStr == '<locator lang="en"><![CDATA[http://www.google.com]]></locator>', "Exported custom body is malformed") self.logout()
def afterSetUp(self): from Products.Naaya.NyFolder import addNyFolder from naaya.content.url.url_item import addNyURL addNyFolder(self.portal, 'myfolder', contributor='contributor', submitted=1) addNyURL(self.portal.myfolder, id='myurl', title='My url', locator='http://www.eaudeweb.ro', submitted=1, contributor='contributor') import transaction; transaction.commit()
def test_main(self): """ Add, Find, Edit and Delete Naaya URLs """ #add NyURL addNyURL(self._portal().info, id='url1', title='url1', lang='en') addNyURL(self._portal().info, id='url1_fr', title='url1_fr', lang='fr') meta = self._portal().getCatalogedObjectsCheckView(meta_type=['Naaya URL']) #get added NyURL for x in meta: if x.getLocalProperty('title', 'en') == 'url1': meta = x if x.getLocalProperty('title', 'fr') == 'url1_fr': meta_fr = x self.assertEqual(meta.getLocalProperty('title', 'en'), 'url1') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'url1_fr') #change NyURL title meta.saveProperties(title='url1_edited', lang='en', locator='www.google.com') meta_fr.saveProperties(title='url1_fr_edited', lang='fr', locator='www.wikipedia.org') self.assertEqual(meta.getLocalProperty('title', 'en'), 'url1_edited') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'url1_fr_edited') self.assertEqual(meta.sortorder, 100) #delete NyURL self._portal().info.manage_delObjects([meta.id]) self._portal().info.manage_delObjects([meta_fr.id]) meta = self._portal().getCatalogedObjectsCheckView(meta_type=['Naaya URL']) self.assertEqual(meta, [])
def afterSetUp(self): addNyFolder(self.portal, id='myfol', title='myfol') addNyFolder(self.portal.myfol, id='f1', title='f1') addNyFolder(self.portal.myfol.f1, id='f1a', title='f1a') addNyFolder(self.portal.myfol.f1, id='f1b', title='f1b') addNyFolder(self.portal.myfol, id='f2', title='f2') addNyURL(self.portal.myfol.f1, id='u1c', title='u1c') addNyURL(self.portal.myfol.f1.f1b, id='u1bx', title='u1bx')
def afterSetUp(self): addNyFolder(self.portal, id='myfol', title='myfol') addNyFolder(self.portal.myfol, id='f1', title='f1') addNyFolder(self.portal.myfol.f1, id='f1a', title='f1a') addNyFolder(self.portal.myfol.f1, id='f1b', title='f1b') addNyFolder(self.portal.myfol, id='f2', title='f2') addNyURL(self.portal.myfol.f1, id='u1c', title='u1c') addNyURL(self.portal.myfol.f1.f1b, id='u1bx', title='u1bx')
def afterSetUp(self): addNyFolder(self.portal, id="myfol", title="myfol") addNyFolder(self.portal.myfol, id="f1", title="f1") addNyFolder(self.portal.myfol.f1, id="f1a", title="f1a") addNyFolder(self.portal.myfol.f1, id="f1b", title="f1b") addNyFolder(self.portal.myfol, id="f2", title="f2") addNyURL(self.portal.myfol.f1, id="u1c", title="u1c") addNyURL(self.portal.myfol.f1.f1b, id="u1bx", title="u1bx")
def test_approve_unapprove(self): addNyURL(self.portal.resources, id='url', title='url', coverage='Georgia, Not Existing', topics=['atopic'], url='http://eaudeweb.ro', contributor='simiamih') ob = self.portal.resources.url a_pointer = self.portal.countries.georgia.url self.assertEqual(ob.approved, a_pointer.approved) ob.approveThis(1, 'simiamih') self.assertEqual(ob.approved, a_pointer.approved)
def test_nyurl(self): myfol = self.portal["myfol"] self.assertEqual(len(self.search(NyURL.meta_type)), 0) addNyURL(myfol, id="ob", title="Test URL") self.assertEqual(len(self.search(NyURL.meta_type)), 1) myfol.manage_delObjects(["ob"]) self.assertEqual(len(self.search(NyURL.meta_type)), 0)
def test_nyurl(self): myfol = self.portal['myfol'] self.assertEqual(len(self.search(NyURL.meta_type)), 0) addNyURL(myfol, id='ob', title='Test URL') self.assertEqual(len(self.search(NyURL.meta_type)), 1) myfol.manage_delObjects(['ob']) self.assertEqual(len(self.search(NyURL.meta_type)), 0)
def test_cut_paste(self): loginUnrestricted() addNyURL(self.portal.resources, id='url', title='url', coverage='Georgia, Not Existing', topics=['atopic'], url='http://eaudeweb.ro', contributor='simiamih') transaction.commit() cp = self.portal.resources.manage_cutObjects('url') self.portal.countries.manage_pasteObjects(cp) ob = self.portal.countries.url new_path = path_in_site(ob) self.assertEqual(self.portal.topics.atopic.url.pointer, new_path) self.assertTrue(self.portal.countries.georgia.url.pointer, new_path)
def test_approve_unapprove(self): addNyURL(self.portal.resources, id='url', title='url', coverage='Georgia, Not Existing', topics=['atopic'], url='http://eaudeweb.ro', contributor='simiamih') ob = self.portal.resources.url a_pointer = self.portal.countries.georgia.url self.assertEqual(ob.approved, a_pointer.approved) ob.approveThis(1, 'simiamih') self.assertEqual(ob.approved, a_pointer.approved)
def test_disseminate_url(self): addNyURL(self.portal.resources, id='url', title='url', coverage='Georgia, Not Existing', topics=['atopic'], url='http://eaudeweb.ro', contributor='simiamih') self.assertTrue(isinstance(getattr(self.portal.topics.atopic, 'url', None), NyPointer)) self.assertTrue(isinstance(getattr(self.portal.countries.georgia, 'url', None), NyPointer)) self.assertEqual(getattr(self.portal.countries.southgeorgia, 'url', None), None) log_content = self.logfile.read() self.assertTrue("Country 'Not Existing' not found in destinet countries" in log_content)
def test_pointers_update_on_cut_paste_data(self): """ Moving an object that has a pointer to it, updates the pointer """ cat = self.portal.getCatalogTool() cat.addIndex('pointer', 'FieldIndex') addNyURL(self.portal.info, id='some_url_ob', title='Some Url', url='http://eaudeweb.ro', contributor='simiamih') addNyPointer(self.portal.info, id='point', title='point', lang='en', pointer='info/some_url_ob') addNyFolder(self.portal.info, id='sub_info') transaction.commit() cp = self.portal.info.manage_cutObjects('some_url_ob') self.portal.info.sub_info.manage_pasteObjects(cp) new_path = path_in_site(self.portal.info.sub_info.some_url_ob) self.assertEqual(self.portal.info.point.pointer, new_path)
def test_export_this_tag_custom(self): import re self.login("contributor") url_item.addNyURL(self.app.portal.test_folder, title="urlx", contributor="cristiroma", locator="www.google.com") url = self.app.portal.test_folder.urlx self.app.portal.test_folder.validateObject(id="urlx", status="-1", comment="No comment") exportStr = url.export_this_tag_custom() strre=re.compile(exportStr, re.IGNORECASE) self.assertTrue(exportStr.find('validation_status="-1"') >= 0, "Exported custom tag is malformed") #TODO: self.assertTrue(strre.search('validation_date') != None, "Exported custom tag is malformed") self.assertTrue(exportStr.find('validation_by="contributor"') >= 0, "Exported custom tag is malformed") self.assertTrue(exportStr.find('validation_comment="No comment"') >= 0, "Exported custom tag is malformed") self.logout()
def url_entry(self, parent_path, ob_id, filename, url, title, description, keywords, date, userid): parent = get_parent(self.context, parent_path) orig_path = join_parent_path(parent_path, ob_id) assert orig_path not in self.rename kwargs = { 'id': ob_id, 'contributor': userid or self.default_userid, 'releasedate': nydateformat(date), 'title': title, 'description': description, 'keywords': keywords, 'locator': url, '_send_notifications': False, } url_id = addNyURL(parent, **kwargs) if parent_path: self.rename[orig_path] = parent_path + '/' + url_id else: self.rename[orig_path] = url_id new_url = parent[url_id] logger.info("Added url: %r", path_in_site(new_url)) self.count['urls'] += 1
def afterSetUp(self): from Products.Naaya.NyFolder import addNyFolder from naaya.content.url.url_item import addNyURL addNyFolder(self.portal, "myfolder", contributor="contributor", submitted=1) addNyURL( self.portal.myfolder, id="myurl", title="My url", locator="http://www.eaudeweb.ro", submitted=1, contributor="contributor", ) import transaction transaction.commit()
def url_entry(self, parent_path, ob_id, filename, url, title, description, keywords, date, userid): parent = get_parent(self.context, parent_path) orig_path = join_parent_path(parent_path, ob_id) assert orig_path not in self.rename kwargs = { 'id': ob_id, 'contributor': userid or self.default_userid, 'releasedate': nydateformat(date), 'title': title, 'description': description, 'keywords': keywords, 'locator': url, '_send_notifications': False, } url_id = addNyURL(parent, **kwargs) if parent_path: self.rename[orig_path] = parent_path + '/' + url_id else: self.rename[orig_path] = url_id new_url = parent[url_id] logger.info("Added url: %r", path_in_site(new_url)) self.count['urls'] += 1
def test_cut_paste(self): loginUnrestricted() addNyURL(self.portal.resources, id='url', title='url', coverage='Georgia, Not Existing', topics=['atopic'], url='http://eaudeweb.ro', contributor='simiamih') transaction.commit() cp = self.portal.resources.manage_cutObjects('url') self.portal.countries.manage_pasteObjects(cp) ob = self.portal.countries.url new_path = path_in_site(ob) self.assertEqual(self.portal.topics.atopic.url.pointer, new_path) self.assertTrue(self.portal.countries.georgia.url.pointer, new_path)
def test_custom_tmpl_edit(self): from naaya.content.url.url_item import addNyURL addNyURL(self.portal['info'], id='test_url', title="Teh URLz", sortorder=100) self._set_custom_tmpl() transaction.commit() self.browser_do_login('contributor', 'contributor') self.browser.go('http://localhost/portal/info/test_url/edit_html') correct_value = ( "[[[[" "path ('', 'portal', 'portal_schemas', 'NyURL', 'title-property')," "ctxpath ('', 'portal', 'info', 'test_url')," "value Teh URLz," "errors None," "prop_id title," "]]]]") assert correct_value in self.browser.get_html(), self.browser.get_html()
def setUp(self): from naaya.content.url.url_item import addNyURL self.portal.gl_add_site_language('de') glossary = self._set_up_glossary(self.portal) self.portal.keywords_glossary = glossary.getId() widget = self.portal['portal_schemas']['NyURL']['keywords-property'] widget.glossary_id = glossary.getId() url_id = addNyURL(self.portal['info'], title="My URL") self.url = self.portal['info'][url_id]
def setUp(self): from naaya.content.url.url_item import addNyURL self.portal.gl_add_site_language('de') glossary = self._set_up_glossary(self.portal) self.portal.keywords_glossary = glossary.getId() widget = self.portal['portal_schemas']['NyURL']['keywords-property'] widget.glossary_id = glossary.getId() url_id = addNyURL(self.portal['info'], title="My URL") self.url = self.portal['info'][url_id]
def test_addNyURL_fullattrs(self): import time self.login("contributor") time.sleep(1) url_item.addNyURL( self.app.portal.test_folder, id="test2", title="test2", description="description", coverage="coverage", keywords="keyword1, keywords2", sortorder=1, locator="www.google.com", contributor="cristiroma", releasedate="30/04/2008", discussion=1, lang="ar", ) self.assertTrue( hasattr(self.app.portal.test_folder, "test2"), "URL object test2 was not found in folder 'test_folder'" ) meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya URL"]) test2 = None for url in meta: if url.getLocalProperty("title", "ar") == "test2": test2 = url self.assertTrue(test2 != None, "URL not found via CatalogedObjectsCheckView") self.assertEqual(test2.id, "test2") self.assertEqual(test2.getLocalProperty("title", "ar"), "test2") self.assertEqual(test2.getLocalProperty("description", "ar"), "description") self.assertEqual(test2.getLocalProperty("coverage", "ar"), "coverage") self.assertEqual(test2.getLocalProperty("keywords", "ar"), "keyword1, keywords2") self.assertEqual(test2.sortorder, 1) self.assertEqual(test2.getLocalProperty("locator", "ar"), "www.google.com") self.assertEqual(test2.contributor, "cristiroma") self.assertEqual(test2.releasedate.day(), 30, "Release day does not match") self.assertEqual(test2.releasedate.month(), 4, "Release month does not match") self.assertEqual(test2.releasedate.year(), 2008, "Release year does not match") self.assertEqual(test2.discussion, 1) self.logout()
def test_disseminate_url(self): addNyURL(self.portal.resources, id='url', title='url', coverage='Georgia, Not Existing', topics=['atopic'], url='http://eaudeweb.ro', contributor='simiamih') self.assertTrue( isinstance(getattr(self.portal.topics.atopic, 'url', None), NyPointer)) self.assertTrue( isinstance(getattr(self.portal.countries.georgia, 'url', None), NyPointer)) self.assertEqual( getattr(self.portal.countries.southgeorgia, 'url', None), None) log_content = self.logfile.read() self.assertTrue( "Country 'Not Existing' not found in destinet countries" in log_content)
def test_main(self): """ Add, Find, Edit and Delete Naaya URLs """ #add NyURL addNyURL(self._portal().info, id='url1', title='url1', lang='en') addNyURL(self._portal().info, id='url1_fr', title='url1_fr', lang='fr') meta = self._portal().getCatalogedObjectsCheckView( meta_type=['Naaya URL']) #get added NyURL for x in meta: if x.getLocalProperty('title', 'en') == 'url1': meta = x if x.getLocalProperty('title', 'fr') == 'url1_fr': meta_fr = x self.assertEqual(meta.getLocalProperty('title', 'en'), 'url1') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'url1_fr') #change NyURL title meta.saveProperties(title='url1_edited', lang='en', locator='www.google.com') meta_fr.saveProperties(title='url1_fr_edited', lang='fr', locator='www.wikipedia.org') self.assertEqual(meta.getLocalProperty('title', 'en'), 'url1_edited') self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'url1_fr_edited') self.assertEqual(meta.sortorder, 100) #delete NyURL self._portal().info.manage_delObjects([meta.id]) self._portal().info.manage_delObjects([meta_fr.id]) meta = self._portal().getCatalogedObjectsCheckView( meta_type=['Naaya URL']) self.assertEqual(meta, [])
def test_addNyURL_has_requiredattrs(self): self.login("contributor") id = url_item.addNyURL(self.app.portal.test_folder, title="test1", locator="www.google.com") self.assertTrue(hasattr(self.app.portal.test_folder, "test1"), "URL object test1 was not found in folder 'test_folder'") meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya URL"]) test1 = None for url in meta: if url.title == "test1": test1 = url self.assertNotEqual(test1, None, "URL not found via CatalogedObjectsCheckView") self.assertEqual(test1.title, "test1") self.assertEqual(test1.locator, "http://www.google.com") self.logout()
def test_addNyURL_fullattrs(self): import time self.login("contributor") time.sleep(1) url_item.addNyURL(self.app.portal.test_folder, id="test2", title="test2", description = "description", coverage = "coverage", keywords = "keyword1, keywords2", sortorder = 1, locator="www.google.com", contributor = "cristiroma", releasedate = "30/04/2008", discussion = 1, lang = "ar" ) self.assertTrue(hasattr(self.app.portal.test_folder, "test2"), "URL object test2 was not found in folder 'test_folder'") meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya URL"]) test2 = None for url in meta: if url.getLocalProperty("title", "ar") == "test2": test2 = url self.assertTrue(test2 != None, "URL not found via CatalogedObjectsCheckView") self.assertEqual(test2.id, "test2") self.assertEqual(test2.getLocalProperty("title", "ar"), "test2") self.assertEqual(test2.getLocalProperty("description", "ar"), "description") self.assertEqual(test2.getLocalProperty("coverage", "ar"), "coverage") self.assertEqual(test2.getLocalProperty("keywords", "ar"), "keyword1, keywords2") self.assertEqual(test2.sortorder, 1) self.assertEqual(test2.getLocalProperty("locator", "ar"), "http://www.google.com") self.assertEqual(test2.contributor, "cristiroma") self.assertEqual(test2.releasedate.day(), 30, "Release day does not match") self.assertEqual(test2.releasedate.month(), 4, "Release month does not match") self.assertEqual(test2.releasedate.year(), 2008, "Release year does not match") self.assertEqual(test2.discussion, 1) self.logout()
def url_entry(self, parent_path, ob_id, filename, url, title, description, date, userid): parent = get_parent(self.context, parent_path) orig_path = parent_path + '/' + ob_id assert orig_path not in self.rename kwargs = { 'contributor': userid, 'releasedate': nydateformat(date), 'title': title, 'description': description, 'locator': url, '_send_notifications': False, } new_url_id = addNyURL(parent, **kwargs) self.rename[orig_path] = parent_path + '/' + new_url_id new_url = parent[new_url_id] #print>>self.report, "url: %r" % path_in_site(new_url) self.count['urls'] += 1
def add_object(self, parent): ob = parent[addNyURL(parent, title='My url')] ob.approveThis() return ob
def _submit_obj(self): object_id = addNyURL(self.portal['info'], 'testurl', title="URL") return self.portal['info'][object_id]
def afterSetUp(self): portal = self.app.portal addNyFolder(portal, 'test_folder') addNyURL(portal.test_folder, id='test_url', title='test_url')
def afterSetUp(self): addNyFolder(self.portal, 'folder', contributor='admin', submission=1) addNyURL(self.portal.folder, id='test_url', title='test url') transaction.commit()
def afterSetUp(self): addNyFolder(self.portal, "folder", contributor="admin", submission=1) addNyURL(self.portal.folder, id="test_url", title="test url") transaction.commit()
def add_object(self, parent): ob = parent[addNyURL(parent, title='My url')] ob.approveThis() return ob
def afterSetUp(self): addNyFolder(self.portal, 'folder', contributor='admin', submission=1) addNyURL(self.portal.folder, id='test_url', title='test url') transaction.commit()
def add_object(self, parent, **kwargs): from naaya.content.url.url_item import addNyURL return addNyURL(parent, **kwargs)
def test_startVersion(self): import traceback self.login("contributor") url_item.addNyURL(self.app.portal.test_folder, id="test2", title="test2", description = "description", coverage = "coverage", keywords = "keyword1, keywords2", sortorder = 1, locator="www.google.com", contributor = "cristiroma", releasedate = "30/04/2008", discussion = 1, lang = "ar" ) url = self.app.portal.test_folder.test2 #Contributor is not allowed to start versioning # TODO: fix this test #try: # url.startVersion() # self.fail() #except: # pass self.logout() self.login() url.startVersion() url.saveProperties( title='test22', description='', coverage='', keywords='', sortorder=10, locator='www.yahoo.com', releasedate='02/02/2003', discussion=0, lang="ar") self.assertEqual(url.id, "test2") self.assertEqual(url.getLocalProperty("title", "ar"), "test2") self.assertEqual(url.getLocalProperty("description", "ar"), "description") self.assertEqual(url.getLocalProperty("coverage", "ar"), "coverage") self.assertEqual(url.getLocalProperty("keywords", "ar"), "keyword1, keywords2") self.assertEqual(url.sortorder, 1) self.assertEqual(url.getLocalProperty("locator", "ar"), "http://www.google.com") self.assertEqual(url.contributor, "cristiroma") self.assertEqual(url.releasedate.day(), 30, "Release day does not match") self.assertEqual(url.releasedate.month(), 4, "Release month does not match") self.assertEqual(url.releasedate.year(), 2008, "Release year does not match") #Discussion field passes the versioning system, no need to test self.assertEqual(url.discussion, 1) url.commitVersion() self.assertEqual(url.id, "test2") self.assertEqual(url.getLocalProperty("title", "ar"), "test22") self.assertEqual(url.getLocalProperty("description", "ar"), "") self.assertEqual(url.getLocalProperty("coverage", "ar"), "") self.assertEqual(url.getLocalProperty("keywords", "ar"), "") self.assertEqual(url.sortorder, 10) self.assertEqual(url.getLocalProperty("locator", "ar"), "http://www.yahoo.com") self.assertEqual(url.contributor, "cristiroma") self.assertEqual(url.releasedate.day(), 2, "Release day does not match") self.assertEqual(url.releasedate.month(), 2, "Release month does not match") self.assertEqual(url.releasedate.year(), 2003, "Release year does not match") #Discussion field passes the versioning system, no noeed to test self.assertEqual(url.discussion, 0) url.startVersion() url.saveProperties( title='1', description='1', coverage='1', keywords='1', sortorder=1, locator='1', releasedate='03/03/2004', discussion=1, lang="ar") url.discardVersion() self.assertEqual(url.id, "test2") self.assertEqual(url.getLocalProperty("title", "ar"), "test22") self.assertEqual(url.getLocalProperty("description", "ar"), "") self.assertEqual(url.getLocalProperty("coverage", "ar"), "") self.assertEqual(url.getLocalProperty("keywords", "ar"), "") self.assertEqual(url.sortorder, 10) self.assertEqual(url.getLocalProperty("locator", "ar"), "http://www.yahoo.com") self.assertEqual(url.contributor, "cristiroma") self.assertEqual(url.releasedate.day(), 2, "Release day does not match") self.assertEqual(url.releasedate.month(), 2, "Release month does not match") self.assertEqual(url.releasedate.year(), 2003, "Release year does not match")
def _submit_obj(self): object_id = addNyURL(self.portal["info"], "testurl", title="URL") return self.portal["info"][object_id]
def test_addNyURL_nologin(self): """ Test adding URL without being logged in """ url_item.addNyURL(self.app.portal.test_folder, title="testURL") self.assertFalse(hasattr(self.app.portal.test_folder, "testURL"))
def _submit_obj(self): object_id = addNyURL(self.portal['info'], 'testurl', title="URL") return self.portal['info'][object_id]
def test_addNyURL_no_requiredattrs(self): self.login("contributor") self.failUnlessRaises(ValueError, lambda: url_item.addNyURL(self.app.portal.test_folder)) self.assertFalse(hasattr(self.app.portal.test_folder, "testURL")) self.logout()