def test_rss_url(self): self.failUnless(verifyURLWithRequestVars( self.view.rss_url(), 'http://nohost/plone/psc/search_rss', ['portal_type=PSCRelease', 'sort_on=Date', 'sort_order=reverse', 'review_state=alpha', 'review_state=beta', 'review_state=release-candidate', 'review_state=final'] ))
def test_rss_url(self): self.failUnless(verifyURLWithRequestVars( self.view.rss_url(), 'http://nohost/plone/psc/search_rss', ['portal_type=PSCRelease', 'sort_on=Date', 'sort_order=reverse', 'review_state=alpha', 'review_state=beta', 'review_state=release-candidate', 'review_state=final'] ))
def test_release_rss_url(self): url = self.view.release_rss_url() self.failUnless(verifyURLWithRequestVars( url, 'http://nohost/plone/psc/proj/search_rss', ['portal_type=PSCRelease', 'sort_on=Date', 'sort_order=reverse', 'path=/plone/psc/proj', 'review_state=published'] ))
def test_release_rss_url(self): url = self.view.release_rss_url() # Removed review_state as it was removed in ProjectView @78203 self.failUnless(verifyURLWithRequestVars( url, 'http://nohost/plone/psc/proj/search_rss', ['portal_type=PSCRelease', 'sort_on=Date', 'sort_order=reverse', 'path=/plone/psc/proj'] ))
def test_categories(self): self.psc.setAvailableCategories([ 'cat1|Category 1|Projects of category 1', 'cat2|Category 2|Projects of category 2', 'cat3|Category 3|Projects of category 3', ]) self.psc.invokeFactory('PSCProject', 'proj1') self.psc.invokeFactory('PSCProject', 'proj2') self.psc.invokeFactory('PSCProject', 'proj3') self.psc.proj1.setCategories(['cat1']) self.psc.proj1.reindexObject() self.psc.proj2.setCategories(['cat1', 'cat2']) self.psc.proj2.reindexObject() self.psc.proj1.setTitle('Project A') self.psc.proj1.releases.invokeFactory('PSCRelease', '1.0') self.psc.proj1.releases['1.0'].setDescription('A release') self.psc.proj1.releases['1.0'].setEffectiveDate(DateTime('1/2/2000')) self.psc.proj1.releases['1.0'].reindexObject() self.psc.proj2.setTitle('Project B') self.psc.proj2.releases.invokeFactory('PSCRelease', '1.0') self.psc.proj2.releases['1.0'].setDescription('A release') self.psc.proj2.releases['1.0'].setEffectiveDate(DateTime('1/1/2000')) self.psc.proj2.releases['1.0'].reindexObject() self.resetView() categories = list(self.view.categories()) #cat1, cat2 are stored in that order in self.psc #So, self.view.categories() should also return the category info #for cat1 first, and cat2 second self.assertEqual(2, len(categories)) keys1, keys2 = list(categories[0].keys()), list(categories[1].keys()) keys1.sort() keys2.sort() self.assertEqual(['description', 'id', 'name', 'num_projects', 'releases', 'rss_url'], keys1) self.assertEqual(['description', 'id', 'name', 'num_projects', 'releases', 'rss_url'], keys2) # verify description, id, name, num_projects self.assertEqual('Category 1', categories[0]['name']) self.assertEqual('Projects of category 1', categories[0]['description']) self.assertEqual(2, categories[0]['num_projects']) self.assertEqual('cat1', categories[0]['id']) self.assertEqual('Category 2', categories[1]['name']) self.assertEqual('Projects of category 2', categories[1]['description']) self.assertEqual(1, categories[1]['num_projects']) self.assertEqual('cat2', categories[1]['id']) # verify rss_url for cat1 (we skip the analogous test for cat2) self.failUnless(verifyURLWithRequestVars( categories[0]['rss_url'], 'http://nohost/plone/search_rss', ['portal_type=PSCRelease', 'sort_on=Date', 'sort_order=reverse', 'path=/plone/psc', 'getCategories=cat1', 'review_state=alpha', 'review_state=beta', 'review_state=release-candidate', 'review_state=final'] )) #verify releases for cat1 (we skip the analogous test for cat2) #and only for the first release in the list, which is Project A 1.0 #because it was released later self.assertEqual(2, len(categories[0]['releases'])) releaseDict = categories[0]['releases'][0] keys = list(releaseDict.keys()) keys.sort() self.assertEqual(['date', 'description', 'parent_url', 'review_state', 'title'], keys) self.assert_(releaseDict['date'].startswith('2000-01-02')) self.assertEqual('A release', releaseDict['description']) self.assertEqual( 'http://nohost/plone/psc/proj1', releaseDict['parent_url']) self.assertEqual('pre-release', releaseDict['review_state']) self.assertEqual('Project A 1.0 (Unreleased)', releaseDict['title'])
def test_categories(self): self.psc.setAvailableCategories([ 'cat1|Category 1|Projects of category 1', 'cat2|Category 2|Projects of category 2', 'cat3|Category 3|Projects of category 3', ]) self.psc.invokeFactory('PSCProject', 'proj1') self.psc.invokeFactory('PSCProject', 'proj2') self.psc.invokeFactory('PSCProject', 'proj3') self.psc.proj1.setCategories(['cat1']) self.psc.proj1.reindexObject() self.psc.proj2.setCategories(['cat1', 'cat2']) self.psc.proj2.reindexObject() self.psc.proj1.setTitle('Project A') self.psc.proj1.releases.invokeFactory('PSCRelease', '1.0') self.psc.proj1.releases['1.0'].setDescription('A release') self.psc.proj1.releases['1.0'].setEffectiveDate(DateTime('1/2/2000')) self.psc.proj1.releases['1.0'].reindexObject() self.psc.proj2.setTitle('Project B') self.psc.proj2.releases.invokeFactory('PSCRelease', '1.0') self.psc.proj2.releases['1.0'].setDescription('A release') self.psc.proj2.releases['1.0'].setEffectiveDate(DateTime('1/1/2000')) self.psc.proj2.releases['1.0'].reindexObject() self.resetView() categories = list(self.view.categories()) #cat1, cat2 are stored in that order in self.psc #So, self.view.categories() should also return the category info #for cat1 first, and cat2 second self.assertEqual(2, len(categories)) keys1, keys2 = categories[0].keys(), categories[1].keys() keys1.sort() keys2.sort() self.assertEqual(['description', 'id', 'name', 'num_projects', 'releases', 'rss_url'], keys1) self.assertEqual(['description', 'id', 'name', 'num_projects', 'releases', 'rss_url'], keys2) # verify description, id, name, num_projects self.assertEqual('Category 1', categories[0]['name']) self.assertEqual('Projects of category 1', categories[0]['description']) self.assertEqual(2, categories[0]['num_projects']) self.assertEqual('cat1', categories[0]['id']) self.assertEqual('Category 2', categories[1]['name']) self.assertEqual('Projects of category 2', categories[1]['description']) self.assertEqual(1, categories[1]['num_projects']) self.assertEqual('cat2', categories[1]['id']) # verify rss_url for cat1 (we skip the analogous test for cat2) self.failUnless(verifyURLWithRequestVars( categories[0]['rss_url'], 'http://nohost/plone/search_rss', ['portal_type=PSCRelease', 'sort_on=Date', 'sort_order=reverse', 'path=/plone/psc', 'getCategories=cat1', 'review_state=alpha', 'review_state=beta', 'review_state=release-candidate', 'review_state=final'] )) #verify releases for cat1 (we skip the analogous test for cat2) #and only for the first release in the list, which is Project A 1.0 #because it was released later self.assertEqual(2, len(categories[0]['releases'])) releaseDict = categories[0]['releases'][0] keys = releaseDict.keys() keys.sort() self.assertEqual(['date', 'description', 'parent_url', 'review_state', 'title'], keys) self.assert_(releaseDict['date'].startswith('2000-01-02')) self.assertEqual('A release', releaseDict['description']) self.assertEqual( 'http://nohost/plone/psc/proj1', releaseDict['parent_url']) self.assertEqual('pre-release', releaseDict['review_state']) self.assertEqual('Project A 1.0 (Unreleased)', releaseDict['title'])