incubator-bloodhound-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject svn commit: r1441419 - /incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/perm.py
Date Fri, 01 Feb 2013 12:19:36 GMT
Author: jure
Date: Fri Feb  1 12:19:36 2013
New Revision: 1441419

URL: http://svn.apache.org/viewvc?rev=1441419&view=rev
Log:
#355, Trac test cases rewritten for default permission data store, patch t355_r1437383_trac_test_perm.diff
(from Olemis)


Added:
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/perm.py

Added: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/perm.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/perm.py?rev=1441419&view=auto
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/perm.py
(added)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/perm.py
Fri Feb  1 12:19:36 2013
@@ -0,0 +1,83 @@
+# -*- 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.
+
+"""Tests for Apache(TM) Bloodhound's product permissions subsystem"""
+
+import unittest
+
+from trac import perm
+from trac.tests.perm import DefaultPermissionStoreTestCase
+
+from multiproduct.env import ProductEnvironment
+from tests.env import MultiproductTestCase
+
+
+class ProductDefaultPermissionStoreTestCase(DefaultPermissionStoreTestCase, 
+        MultiproductTestCase):
+
+    def setUp(self):
+        self.global_env = self._setup_test_env()
+        self._upgrade_mp(self.global_env)
+        self._setup_test_log(self.global_env)
+        self._load_product_from_data(self.env, self.default_product)
+        self.env = ProductEnvironment(self.env, self.default_product)
+
+        self.store = perm.DefaultPermissionStore(self.env)
+
+    def test_env_isolation(self):
+        global_env = self.global_env
+        env = self.env
+
+        self._load_product_from_data(self.global_env, 'tp2')
+        env1 = ProductEnvironment(self.global_env, 'tp2')
+
+        global_store = perm.DefaultPermissionStore(global_env)
+        store = perm.DefaultPermissionStore(env)
+        store1 = perm.DefaultPermissionStore(env1)
+
+        global_env.db_transaction.executemany(
+            "INSERT INTO permission VALUES (%s,%s)", 
+            [('dev', 'WIKI_MODIFY'),
+             ('dev', 'REPORT_ADMIN'),
+             ('john', 'dev')])
+        env.db_transaction.executemany(
+            "INSERT INTO permission VALUES (%s,%s)", 
+            [('dev', 'WIKI_VIEW'),
+             ('dev', 'REPORT_VIEW'),
+             ('john', 'dev')])
+        env1.db_transaction.executemany(
+            "INSERT INTO permission VALUES (%s,%s)", 
+            [('dev', 'TICKET_CREATE'),
+             ('dev', 'MILESTONE_VIEW'),
+             ('john', 'dev')])
+
+        self.assertEquals(['REPORT_ADMIN', 'WIKI_MODIFY'],
+                          sorted(global_store.get_user_permissions('john')))
+        self.assertEquals(['REPORT_VIEW', 'WIKI_VIEW'],
+                          sorted(store.get_user_permissions('john')))
+        self.assertEquals(['MILESTONE_VIEW', 'TICKET_CREATE'],
+                          sorted(store1.get_user_permissions('john')))
+
+
+def test_suite():
+    return unittest.makeSuite(ProductDefaultPermissionStoreTestCase,'test')
+
+if __name__ == '__main__':
+    unittest.main(defaultTest='test_suite')
+



Mime
View raw message