[Checkins] SVN: zope.mkzeoinstance/trunk/ Test cases for creating ZEO instance in Unix
Baiju M
baiju.m.mail at gmail.com
Wed May 19 07:37:58 EDT 2010
Log message for revision 112517:
Test cases for creating ZEO instance in Unix
Changed:
A zope.mkzeoinstance/trunk/buildout.cfg
U zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/__init__.py
A zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/tests/
A zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/tests/__init__.py
A zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/tests/test_unix.py
-=-
Added: zope.mkzeoinstance/trunk/buildout.cfg
===================================================================
--- zope.mkzeoinstance/trunk/buildout.cfg (rev 0)
+++ zope.mkzeoinstance/trunk/buildout.cfg 2010-05-19 11:37:58 UTC (rev 112517)
@@ -0,0 +1,7 @@
+[buildout]
+develop = .
+parts = test
+
+[test]
+recipe = zc.recipe.testrunner
+eggs = zope.mkzeoinstance
Modified: zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/__init__.py
===================================================================
--- zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/__init__.py 2010-05-19 11:33:59 UTC (rev 112516)
+++ zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/__init__.py 2010-05-19 11:37:58 UTC (rev 112517)
@@ -130,6 +130,7 @@
print "All done."
class ZEOInstanceBuilder:
+
def run(self):
try:
opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
Added: zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/tests/__init__.py
===================================================================
--- zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/tests/__init__.py (rev 0)
+++ zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/tests/__init__.py 2010-05-19 11:37:58 UTC (rev 112517)
@@ -0,0 +1 @@
+# Python Package
Added: zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/tests/test_unix.py
===================================================================
--- zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/tests/test_unix.py (rev 0)
+++ zope.mkzeoinstance/trunk/src/zope/mkzeoinstance/tests/test_unix.py 2010-05-19 11:37:58 UTC (rev 112517)
@@ -0,0 +1,110 @@
+##############################################################################
+#
+# Copyright (c) 2003 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+
+import sys
+import unittest
+import tempfile
+import os
+import shutil
+import cStringIO
+
+from zope.mkzeoinstance import ZEOInstanceBuilder
+
+
+class ZeoInstanceParamsTest(unittest.TestCase):
+
+ def test_get_params(self):
+ builder = ZEOInstanceBuilder()
+
+ params = builder.get_params(zodb3_home='',
+ zdaemon_home='',
+ instance_home='',
+ address='')
+ expected_params = {'PACKAGE': 'ZEO',
+ 'python': sys.executable,
+ 'package': 'zeo',
+ 'zdaemon_home': '',
+ 'instance_home': '',
+ 'address': '',
+ 'zodb3_home': ''}
+
+ self.assertEqual(params, expected_params)
+
+
+class ZeoInstanceCreateTest(unittest.TestCase):
+
+ def setUp(self):
+ self.builder = ZEOInstanceBuilder()
+ self.temp_dir = tempfile.mkdtemp()
+
+ self.instance_home = os.path.join(self.temp_dir, 'instance')
+
+ import zdaemon
+ zdaemon_home = os.path.split(zdaemon.__path__[0])[0]
+
+ zodb3_home = None
+ for entry in sys.path:
+ if os.path.exists(os.path.join(entry, 'ZODB')):
+ zodb3_home = entry
+ break
+
+ self.params = {'PACKAGE': 'ZEO',
+ 'python': sys.executable,
+ 'package': 'zeo',
+ 'zdaemon_home': zdaemon_home,
+ 'instance_home': self.instance_home,
+ 'address': '99999',
+ 'zodb3_home': zodb3_home}
+
+ def tearDown(self):
+ shutil.rmtree(self.temp_dir)
+
+ def test_create_folders_and_files(self):
+ instance_home = self.instance_home
+ orig_stdout = sys.stdout
+
+ temp_out_file = cStringIO.StringIO()
+ sys.stdout = temp_out_file
+ self.builder.create(instance_home, self.params)
+ sys.stdout = orig_stdout
+
+ expected_out = """Created directory %(instance_home)s
+Created directory %(instance_home)s/etc
+Created directory %(instance_home)s/var
+Created directory %(instance_home)s/log
+Created directory %(instance_home)s/bin
+Wrote file %(instance_home)s/etc/zeo.conf
+Wrote file %(instance_home)s/bin/zeoctl
+Changed mode for %(instance_home)s/bin/zeoctl to 755
+Wrote file %(instance_home)s/bin/runzeo
+Changed mode for %(instance_home)s/bin/runzeo to 755
+""" % {'instance_home':
+ instance_home}
+
+ self.assertEqual(temp_out_file.getvalue(), expected_out)
+
+ self.assertTrue(os.path.exists(os.path.join(instance_home, 'etc')))
+ self.assertTrue(os.path.exists(os.path.join(instance_home, 'var')))
+ self.assertTrue(os.path.exists(os.path.join(instance_home, 'log')))
+ self.assertTrue(os.path.exists(os.path.join(instance_home, 'bin')))
+ self.assertTrue(os.path.exists(os.path.join(instance_home, 'etc', 'zeo.conf')))
+ self.assertTrue(os.path.exists(os.path.join(instance_home, 'bin', 'zeoctl')))
+ self.assertTrue(os.path.exists(os.path.join(instance_home, 'bin', 'runzeo')))
+
+
+def test_suite():
+ suite = unittest.TestSuite()
+ suite.addTest(unittest.makeSuite(ZeoInstanceParamsTest))
+ suite.addTest(unittest.makeSuite(ZeoInstanceCreateTest))
+ return suite
More information about the checkins
mailing list