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']
       ))
Example #2
0
 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']
       ))
Example #3
0
 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']
       ))
Example #4
0
 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'])
Example #6
0
 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'])