Author: rjollos
Date: Sat Nov 16 08:01:26 2013
New Revision: 1542473

URL: http://svn.apache.org/r1542473
Log:
0.8dev: Added a functional test for rendering forbidden pages. Refs #667.

Added:
    bloodhound/trunk/bloodhound_multiproduct/tests/functional/admin.py   (with 
props)
Modified:
    bloodhound/trunk/bloodhound_multiproduct/tests/functional/__init__.py

Modified: bloodhound/trunk/bloodhound_multiproduct/tests/functional/__init__.py
URL: 
http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/functional/__init__.py?rev=1542473&r1=1542472&r2=1542473&view=diff
==============================================================================
--- bloodhound/trunk/bloodhound_multiproduct/tests/functional/__init__.py 
(original)
+++ bloodhound/trunk/bloodhound_multiproduct/tests/functional/__init__.py Sat 
Nov 16 08:01:26 2013
@@ -1072,14 +1072,15 @@ def functionalSuite():
 def test_suite():
     suite = functionalSuite()
 
-    # TODO: Load Bloodhound-specific functional test cases
-
     #from tests import TestLoader
     # FIXME: Does this work for functional tests suite ?
     # bhsuite = TestLoader().discover_package('tests.functional', 
pattern='*.py')
 
     trac_functionalSuite(suite)
 
+    import tests.functional.admin
+    tests.functional.admin.functionalSuite(suite)
+
     return suite
 
 if __name__ == '__main__':

Added: bloodhound/trunk/bloodhound_multiproduct/tests/functional/admin.py
URL: 
http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/functional/admin.py?rev=1542473&view=auto
==============================================================================
--- bloodhound/trunk/bloodhound_multiproduct/tests/functional/admin.py (added)
+++ bloodhound/trunk/bloodhound_multiproduct/tests/functional/admin.py Sat Nov 
16 08:01:26 2013
@@ -0,0 +1,67 @@
+# -*- coding: utf-8 -*-
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+import unittest
+
+from trac.perm import PermissionSystem
+from trac.tests.functional import FunctionalTwillTestCaseSetup, internal_error
+from trac.tests.functional.tester import tc
+
+from multiproduct.env import ProductEnvironment
+from tests.functional import MultiproductFunctionalTestCase
+
+#----------------
+# Functional test cases for admin web UI & CLI
+#----------------
+
+
+class RegressionTestBhTicket667(MultiproductFunctionalTestCase,
+                                FunctionalTwillTestCaseSetup):
+
+    def runTest(self):
+        """User is redirected to the login page when the page they are
+        navigating to is forbidden.
+        """
+        env = self._testenv.get_trac_environment()
+        actions = PermissionSystem(env).get_user_permissions('anonymous')
+
+        # Revoke all permissions for 'anonymous'
+        self._testenv._tracadmin('permission', 'remove', 'anonymous', *actions)
+        self._testenv.restart()  # TODO: can be removed when #539 is resolved
+        try:
+            with self._tester.as_user(None):
+                tc.go(self._tester.url)
+                tc.notfind(internal_error)
+                tc.url(self._tester.url + '/login\?referer=%2F$')
+        finally:
+            self._testenv._tracadmin('permission', 'add', 'anonymous',
+                                     *actions)
+
+
+def functionalSuite(suite=None):
+    if not suite:
+        import tests.functional
+        suite = tests.functional.functionalSuite()
+
+    suite.addTest(RegressionTestBhTicket667())
+    return suite
+
+
+if __name__ == '__main__':
+    unittest.main(defaultTest='functionalSuite')

Propchange: bloodhound/trunk/bloodhound_multiproduct/tests/functional/admin.py
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to