From 94a3be0a1611455dad7ee84976d5afd7f72ab5d5 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Wed, 17 Oct 2012 23:27:49 -0300
Subject: [PATCH] Added test for erp5_promise

 Scope only includes cloudooo, memcached and kumofs configuration for
 now.
---
 product/ERP5Type/tests/testERP5Promise.py | 67 +++++++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 product/ERP5Type/tests/testERP5Promise.py

diff --git a/product/ERP5Type/tests/testERP5Promise.py b/product/ERP5Type/tests/testERP5Promise.py
new file mode 100644
index 0000000000..7a3f768468
--- /dev/null
+++ b/product/ERP5Type/tests/testERP5Promise.py
@@ -0,0 +1,67 @@
+##############################################################################
+#
+# Copyright (c) 2012 Nexedi SA and Contributors. All Rights Reserved.
+#                    Rafael Monnerat <rafael@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+import unittest
+from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
+
+class TestERP5Promise(ERP5TypeTestCase):
+
+    def getBusinessTemplateList(self):
+      """
+        Return the list of business templates.
+      """
+      return ("erp5_promise", "erp5_base")
+
+    def _test_promise_alarm(self, alarm_id):
+      alarm = getattr(self.portal.portal_alarms, alarm_id, None)
+      self.assertNotEquals(alarm, None, "Alarm %s not found" % alarm_id)
+      alarm.activeSense()
+      self.tic()
+      self.assertTrue(alarm.sense())
+      alarm.solve()
+      self.tic()
+      alarm.activeSense()
+      self.tic()
+      self.assertFalse(alarm.sense())
+    
+    def test_promise_conversion_server(self):
+      self._test_promise_alarm("promise_conversion_server")
+
+    def test_promise_kumofs_server(self):
+      self._test_promise_alarm("promise_kumofs_server")
+
+    def test_promise_memcached_server(self):
+      self._test_promise_alarm("promise_memcached_server")
+
+    def test_promise_certificate_autority_tool(self):
+      self._test_promise_alarm("promise_certificate_autority_tool")
+
+def test_suite():
+  suite = unittest.TestSuite()
+  suite.addTest(unittest.makeSuite(TestERP5Promise))
+  return suite
-- 
2.30.9