You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by ju...@apache.org on 2013/02/18 16:14:09 UTC
svn commit: r1447303 - in
/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests:
env.py ticket/notification.py
Author: jure
Date: Mon Feb 18 15:14:09 2013
New Revision: 1447303
URL: http://svn.apache.org/r1447303
Log:
#355, test cases for ticket notifications, patch t355_r1444754_trac_test_ticket_notification.diff applied (from Olemis)
Added:
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/ticket/notification.py
Modified:
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/env.py
Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/env.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/env.py?rev=1447303&r1=1447302&r2=1447303&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/env.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/env.py Mon Feb 18 15:14:09 2013
@@ -45,6 +45,13 @@ from multiproduct.api import MultiProduc
from multiproduct.env import ProductEnvironment
from multiproduct.model import Product
+class ProductEnvironmentStub(ProductEnvironment):
+ r"""A product environment slightly tweaked for testing purposes
+ """
+ def get_known_users(self, cnx=None):
+ return self.known_users
+
+
# FIXME: Subclass TestCase explictly ?
class MultiproductTestCase(unittest.TestCase):
r"""Mixin providing access to multi-product testing extensions.
Added: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/ticket/notification.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/ticket/notification.py?rev=1447303&view=auto
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/ticket/notification.py (added)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/ticket/notification.py Mon Feb 18 15:14:09 2013
@@ -0,0 +1,69 @@
+
+# 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 notifications
+in product environments"""
+
+import unittest
+
+from trac.tests.notification import SMTPThreadedServer
+from trac.ticket.tests import notification
+
+from tests.env import ProductEnvironmentStub as ProductEnvironment
+from tests.env import MultiproductTestCase
+
+class ProductNotificationTestCase(notification.NotificationTestCase,
+ MultiproductTestCase):
+
+ @property
+ def env(self):
+ env = getattr(self, '_env', None)
+ if env is None:
+ 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.global_env, self.default_product)
+ self._env = env = ProductEnvironment(
+ self.global_env, self.default_product)
+ self._load_default_data(self._env)
+ return env
+
+ @env.setter
+ def env(self, value):
+ pass
+
+ def tearDown(self):
+ notification.notifysuite.tear_down()
+ self.global_env.reset_db()
+
+class ProductNotificationTestSuite(notification.NotificationTestSuite):
+ def __init__(self):
+ """Start the local SMTP test server"""
+ notification.NotificationTestSuite.__init__(self)
+ self._tests = []
+ self.addTest(unittest.makeSuite(ProductNotificationTestCase, 'test'))
+
+
+def test_suite():
+ if not notification.notifysuite:
+ notification.notifysuite = ProductNotificationTestSuite()
+ return notification.notifysuite
+
+if __name__ == '__main__':
+ unittest.TextTestRunner(verbosity=2).run(test_suite())
+