Commits

Olemis Lang  committed 45237e9

BH Multiproduct #355 : Rewrite test cases for default permissions store ... (errors=1)

  • Participants
  • Parent commits ab1d5df
  • Branches t355_trac_test_suite

Comments (0)

Files changed (4)

 #t115/t115_r1431447_product_envs_bep3_p1.diff
 #t115/t115_r1433322_unittest2_assertRaises_msg.diff
 t115/t115_r1436300_option_accessor.diff
+t355/t355_r1437383_trac_test_perm.diff
 #t355/t355_r1434677_trac_test_attachments.diff
-t355/t355_r1436300_trac_test_ticket_api.diff
+t355/t355_r1437383_trac_test_ticket_api.diff

File t355/t355_r1436300_trac_test_ticket_api.diff

-# HG changeset patch
-# Parent bdbd5545552f423a9df3eafa357b9cb6c29b3aae
-BH Multiproduct #355 : Rewrite Trac test cases for ticket API so as to run them against product environments
-
-diff -r bdbd5545552f bloodhound_multiproduct/tests/ticket/__init__.py
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/bloodhound_multiproduct/tests/ticket/__init__.py	Tue Jan 22 23:52:12 2013 -0500
-@@ -0,0 +1,20 @@
-+
-+#  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 tickets in product environments"""
-+
-diff -r bdbd5545552f bloodhound_multiproduct/tests/ticket/api.py
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/bloodhound_multiproduct/tests/ticket/api.py	Tue Jan 22 23:52:12 2013 -0500
-@@ -0,0 +1,55 @@
-+
-+#  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 tickets API in product environments"""
-+
-+import unittest
-+
-+from trac.perm import PermissionSystem
-+from trac.test import Mock
-+from trac.ticket.api import TicketSystem
-+from trac.ticket.tests.api import TicketSystemTestCase
-+
-+from multiproduct.env import ProductEnvironment
-+from tests.env import MultiproductTestCase
-+
-+class ProductTicketSystemTestCase(TicketSystemTestCase, MultiproductTestCase):
-+
-+    def setUp(self):
-+        self.global_env = self._setup_test_env(create_folder=False)
-+        self._upgrade_mp(self.global_env)
-+        self._setup_test_log(self.global_env)
-+        self._load_product_from_data(self.global_env, self.default_product)
-+        self.env = ProductEnvironment(self.global_env, self.default_product)
-+
-+        self.perm = PermissionSystem(self.env)
-+        self.ticket_system = TicketSystem(self.env)
-+        self.req = Mock()
-+
-+    def tearDown(self):
-+        self.global_env.reset_db()
-+
-+
-+def test_suite():
-+    return unittest.TestSuite([
-+            unittest.makeSuite(ProductTicketSystemTestCase,'test'),
-+        ])
-+
-+if __name__ == '__main__':
-+    unittest.main(defaultTest='test_suite')
-+

File t355/t355_r1437383_trac_test_perm.diff

+# HG changeset patch
+# Parent fe2d7e3af2da7bc7177fd4dd171280a3ef58ec2f
+BH Multiproduct #355 : Rewrite Trac test cases for default permissions data store
+
+diff -r fe2d7e3af2da bloodhound_multiproduct/tests/perm.py
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/bloodhound_multiproduct/tests/perm.py	Wed Jan 23 17:17:48 2013 -0500
+@@ -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')
++

File t355/t355_r1437383_trac_test_ticket_api.diff

+# HG changeset patch
+# Parent bdbd5545552f423a9df3eafa357b9cb6c29b3aae
+BH Multiproduct #355 : Rewrite Trac test cases for ticket API so as to run them against product environments
+
+diff -r bdbd5545552f bloodhound_multiproduct/tests/ticket/__init__.py
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/bloodhound_multiproduct/tests/ticket/__init__.py	Tue Jan 22 23:52:12 2013 -0500
+@@ -0,0 +1,20 @@
++
++#  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 tickets in product environments"""
++
+diff -r bdbd5545552f bloodhound_multiproduct/tests/ticket/api.py
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/bloodhound_multiproduct/tests/ticket/api.py	Tue Jan 22 23:52:12 2013 -0500
+@@ -0,0 +1,55 @@
++
++#  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 tickets API in product environments"""
++
++import unittest
++
++from trac.perm import PermissionSystem
++from trac.test import Mock
++from trac.ticket.api import TicketSystem
++from trac.ticket.tests.api import TicketSystemTestCase
++
++from multiproduct.env import ProductEnvironment
++from tests.env import MultiproductTestCase
++
++class ProductTicketSystemTestCase(TicketSystemTestCase, MultiproductTestCase):
++
++    def setUp(self):
++        self.global_env = self._setup_test_env(create_folder=False)
++        self._upgrade_mp(self.global_env)
++        self._setup_test_log(self.global_env)
++        self._load_product_from_data(self.global_env, self.default_product)
++        self.env = ProductEnvironment(self.global_env, self.default_product)
++
++        self.perm = PermissionSystem(self.env)
++        self.ticket_system = TicketSystem(self.env)
++        self.req = Mock()
++
++    def tearDown(self):
++        self.global_env.reset_db()
++
++
++def test_suite():
++    return unittest.TestSuite([
++            unittest.makeSuite(ProductTicketSystemTestCase,'test'),
++        ])
++
++if __name__ == '__main__':
++    unittest.main(defaultTest='test_suite')
++