From b5202cfe3886c410080f10aa34bbc03de1868567 Mon Sep 17 00:00:00 2001 From: Guido van Rossum <guido@python.org> Date: Sat, 18 Jan 2003 03:51:47 +0000 Subject: [PATCH] A few unit tests for zdaemo.zdoptons.ZDOptions and ZEO.runzeo.ZEOOptions. --- src/ZEO/tests/testZEOOptions.py | 107 ++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 src/ZEO/tests/testZEOOptions.py diff --git a/src/ZEO/tests/testZEOOptions.py b/src/ZEO/tests/testZEOOptions.py new file mode 100644 index 00000000..55df73e2 --- /dev/null +++ b/src/ZEO/tests/testZEOOptions.py @@ -0,0 +1,107 @@ +############################################################################## +# +# Copyright (c) 2001, 2002 Zope Corporation and Contributors. +# All Rights Reserved. +# +# This software is subject to the provisions of the Zope Public License, +# Version 2.0 (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 +# +############################################################################## + +"""Test suite for ZEO.runzeo.ZEOOptions.""" + +import os +import sys +import tempfile +import unittest +from StringIO import StringIO + +import ZODB.config + +from ZEO.runzeo import ZEOOptions +from zdaemon.tests.testzdoptions import TestZDOptions + +class TestZEOOptions(TestZDOptions): + + OptionsClass = ZEOOptions + + input_args = ["-f", "Data.fs", "-a", "5555"] + output_opts = [("-f", "Data.fs"), ("-a", "5555")] + output_args = [] + + configdata = """ + <zeo> + address 5555 + </zeo> + <filestorage fs> + path Data.fs + </filestorage> + """ + + def setUp(self): + self.tempfilename = tempfile.mktemp() + f = open(self.tempfilename, "w") + f.write(self.configdata) + f.close() + + def tearDown(self): + try: + os.remove(self.tempfilename) + except os.error: + pass + + def test_configure(self): + # Hide the base class test_configure + pass + + def test_defaults_with_schema(self): + options = self.OptionsClass() + options.realize(["-C", self.tempfilename]) + self.assertEqual(options.address, ("", 5555)) + self.assertEqual(len(options.storages), 1) + opener = options.storages[0] + self.assertEqual(opener.name, "fs") + self.assertEqual(opener.__class__, ZODB.config.FileStorage) + self.assertEqual(options.read_only, 0) + self.assertEqual(options.transaction_timeout, None) + self.assertEqual(options.invalidation_queue_size, 100) + + def test_defaults_without_schema(self): + options = self.OptionsClass() + options.realize(["-a", "5555", "-f", "Data.fs"]) + self.assertEqual(options.address, ("", 5555)) + self.assertEqual(len(options.storages), 1) + opener = options.storages[0] + self.assertEqual(opener.name, "1") + self.assertEqual(opener.__class__, ZODB.config.FileStorage) + self.assertEqual(opener.config.path, "Data.fs") + self.assertEqual(options.read_only, 0) + self.assertEqual(options.transaction_timeout, None) + self.assertEqual(options.invalidation_queue_size, 100) + + def test_commandline_overrides(self): + options = self.OptionsClass() + options.realize(["-C", self.tempfilename, + "-a", "6666", "-f", "Wisdom.fs"]) + self.assertEqual(options.address, ("", 6666)) + self.assertEqual(len(options.storages), 1) + opener = options.storages[0] + self.assertEqual(opener.__class__, ZODB.config.FileStorage) + self.assertEqual(opener.config.path, "Wisdom.fs") + self.assertEqual(options.read_only, 0) + self.assertEqual(options.transaction_timeout, None) + self.assertEqual(options.invalidation_queue_size, 100) + + +def test_suite(): + suite = unittest.TestSuite() + for cls in [TestZEOOptions]: + suite.addTest(unittest.makeSuite(cls)) + return suite + +if __name__ == "__main__": + unittest.main(defaultTest='test_suite') -- 2.30.9