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