def testRandomContent(self):
     portal = self.layer['portal']
     setRoles(portal, TEST_USER_ID, ('Manager',))
     make_test_doc(portal)
     folder = make_test_folder(portal, register=True)
     # Note: the folder itself is an excellent random content item,
     # so we do not need to add another document.
     #folder_doc = make_test_doc(folder)
     view = portal.restrictedTraverse('randomcontent')
     result = view()
     self.assertFalse(result)
     response = self.layer['request'].response
     self.assertEqual(response.status, 302)
     self.assertEqual(response.headers.get('location'),
                      folder.absolute_url())
     # Let's see if that is not a lucky break.
     locations = set()
     for i in range(10):
         result = view()
         self.assertFalse(result)
         response = self.layer['request'].response
         self.assertEqual(response.status, 302)
         location = response.headers.get('location')
         self.assertTrue(location)
         locations.add(location)
     self.assertEqual(len(locations), 1)
 def testRandomSiteImageNoDoc(self):
     # When searching for images, we should never find documents.
     portal = self.layer['portal']
     setRoles(portal, TEST_USER_ID, ('Manager',))
     image = make_test_image(portal)
     make_test_doc(portal)
     view = portal.restrictedTraverse('randomsiteimage')
     locations = set()
     for i in range(10):
         result = view()
         self.assertFalse(result)
         response = self.layer['request'].response
         self.assertEqual(response.status, 302)
         location = response.headers.get('location')
         self.assertTrue(location)
         locations.add(location)
     self.assertEqual(len(locations), 1)
     self.assertEqual(locations.pop(),
                      image.absolute_url())
 def testRandomSiteContent(self):
     portal = self.layer['portal']
     setRoles(portal, TEST_USER_ID, ('Manager',))
     doc = make_test_doc(portal)
     view = portal.restrictedTraverse('randomsitecontent')
     result = view()
     self.assertFalse(result)
     response = self.layer['request'].response
     self.assertEqual(response.status, 302)
     self.assertEqual(response.headers.get('location'),
                      doc.absolute_url())