[Zope3-checkins] CVS: Zope3/src/zope/app/applicationcontrol/tests - __init__.py:1.1.2.1 test_applicationcontrol.py:1.1.2.1 test_iservercontrol.py:1.1.2.1 test_runtimeinfo.py:1.1.2.1 test_zopeversion.py:1.1.2.1
Jim Fulton
jim@zope.com
Mon, 23 Dec 2002 14:30:58 -0500
Update of /cvs-repository/Zope3/src/zope/app/applicationcontrol/tests
In directory cvs.zope.org:/tmp/cvs-serv19908/zope/app/applicationcontrol/tests
Added Files:
Tag: NameGeddon-branch
__init__.py test_applicationcontrol.py test_iservercontrol.py
test_runtimeinfo.py test_zopeversion.py
Log Message:
Initial renaming before debugging
=== Added File Zope3/src/zope/app/applicationcontrol/tests/__init__.py ===
#
# This file is necessary to make this directory a package.
=== Added File Zope3/src/zope/app/applicationcontrol/tests/test_applicationcontrol.py ===
##############################################################################
#
# 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.
##############################################################################
"""
$Id: test_applicationcontrol.py,v 1.1.2.1 2002/12/23 19:30:57 jim Exp $
"""
from unittest import TestCase, TestSuite, main, makeSuite
from zope.interface.verify import verifyObject
import time
from zope.app.applicationcontrol.applicationcontrol import \
ApplicationControl
from zope.app.interfaces.applicationcontrol.applicationcontrol import \
IApplicationControl
# seconds, time values may differ in order to be assumed equal
time_tolerance = 2
#############################################################################
# If your tests change any global registries, then uncomment the
# following import and include CleanUp as a base class of your
# test. It provides a setUp and tearDown that clear global data that
# has registered with the test cleanup framework. Don't use this
# tests outside the Zope package.
# from zope.testing.cleanup import CleanUp # Base class w registry cleanup
#############################################################################
class Test(TestCase):
def _Test__new(self):
return ApplicationControl()
############################################################
# Interface-driven tests:
def test_IVerify(self):
verifyObject(IApplicationControl, self._Test__new())
def test_startTime(self):
assert_time = time.time()
test_time = self._Test__new().getStartTime()
self.failUnless(abs(assert_time - test_time) < time_tolerance)
def test_suite():
return makeSuite(Test)
if __name__=='__main__':
main(defaultTest='test_suite')
=== Added File Zope3/src/zope/app/applicationcontrol/tests/test_iservercontrol.py ===
##############################################################################
#
# 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.
##############################################################################
"""
$Id: test_iservercontrol.py,v 1.1.2.1 2002/12/23 19:30:57 jim Exp $
"""
from unittest import TestCase, TestSuite, main, makeSuite
from zope.interface.verify import verifyObject
from zope.app.interfaces.applicationcontrol.servercontrol import \
IServerControl, DoublePriorityError, NotCallableError
#############################################################################
# If your tests change any global registries, then uncomment the
# following import and include CleanUp as a base class of your
# test. It provides a setUp and tearDown that clear global data that
# has registered with the test cleanup framework. Don't use this
# tests outside the Zope package.
# from zope.testing.cleanup import CleanUp # Base class w registry cleanup
#############################################################################
def stub_callback():
"""stupid callable object"""
pass
class BaseTestIServerControl:
"""Base test cases for ServerControllers.
Subclasses need to define a method, '_Test__new', that
takes no arguments and that returns a new empty test ServerController.
"""
############################################################
# Interface-driven tests:
def test_IVerify(self):
verifyObject(IServerControl, self._Test__new())
def test_registerShutdownHook(self):
server_control = self._Test__new()
# Try to register a noncallable object
self.assertRaises(NotCallableError,
server_control.registerShutdownHook, None, 10, "test")
# Try to register a priority for a second time
server_control.registerShutdownHook(stub_callback, 10, "Test")
self.assertRaises(DoublePriorityError,
server_control.registerShutdownHook, stub_callback, 10, "test2")
class Test(BaseTestIServerControl, TestCase):
def _Test__new(self):
from zope.app.applicationcontrol.servercontrol \
import ServerControl
return ServerControl()
def test_suite():
return makeSuite(Test)
if __name__=='__main__':
main(defaultTest='test_suite')
=== Added File Zope3/src/zope/app/applicationcontrol/tests/test_runtimeinfo.py ===
##############################################################################
#
# 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.
##############################################################################
"""
Revision information:
$Id: test_runtimeinfo.py,v 1.1.2.1 2002/12/23 19:30:57 jim Exp $
"""
from unittest import TestCase, TestSuite, main, makeSuite
from zope.interface.verify import verifyObject
import os, sys, time
from zope.component import getService
from zope.app.interfaces.applicationcontrol.runtimeinfo import IRuntimeInfo
from zope.app.applicationcontrol.applicationcontrol import \
applicationController
from zope.app.interfaces.applicationcontrol.zopeversion import IZopeVersion
# seconds, time values may differ in order to be assumed equal
time_tolerance = 2
stupid_version_string = "3085t0klvn93850voids"
class TestZopeVersion:
"""A fallback implementation for the ZopeVersion utility."""
__implements__ = IZopeVersion
def getZopeVersion(self):
return stupid_version_string
from zope.app.services.tests.placefulsetup\
import PlacefulSetup
class Test(PlacefulSetup, TestCase):
def _Test__new(self):
from zope.app.applicationcontrol.runtimeinfo import RuntimeInfo
return RuntimeInfo(applicationController)
############################################################
# Interface-driven tests:
def testIRuntimeInfoVerify(self):
verifyObject(IRuntimeInfo, self._Test__new())
def test_ZopeVersion(self):
runtime_info = self._Test__new()
# we expect that there is no utility
self.assertEqual(runtime_info.getZopeVersion(), "")
getService(None,'Utilities').provideUtility(IZopeVersion,
TestZopeVersion())
self.assertEqual(runtime_info.getZopeVersion(),
stupid_version_string)
def test_PythonVersion(self):
runtime_info = self._Test__new()
self.assertEqual(runtime_info.getPythonVersion(), sys.version)
def test_SystemPlatform(self):
runtime_info = self._Test__new()
test_platform = (sys.platform,)
if hasattr(os, "uname"):
test_platform = os.uname()
self.assertEqual(runtime_info.getSystemPlatform(), test_platform)
def test_CommandLine(self):
runtime_info = self._Test__new()
self.assertEqual(runtime_info.getCommandLine(), sys.argv)
def test_ProcessId(self):
runtime_info = self._Test__new()
self.assertEqual(runtime_info.getProcessId(), os.getpid())
def test_Uptime(self):
runtime_info = self._Test__new()
# whats the uptime we expect?
start_time = applicationController.getStartTime()
asserted_uptime = time.time() - start_time
# get the uptime the current implementation calculates
test_uptime = runtime_info.getUptime()
self.failUnless(abs(asserted_uptime - test_uptime) < time_tolerance)
def test_suite():
return makeSuite(Test)
if __name__=='__main__':
main(defaultTest='test_suite')
=== Added File Zope3/src/zope/app/applicationcontrol/tests/test_zopeversion.py ===
##############################################################################
#
# 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.
#
##############################################################################
"""
Revision information:
$Id: test_zopeversion.py,v 1.1.2.1 2002/12/23 19:30:57 jim Exp $
"""
from unittest import TestCase, TestSuite, main, makeSuite
from zope.interface.verify import verifyObject
from zope.app.interfaces.applicationcontrol.zopeversion import IZopeVersion
from zope.app.applicationcontrol.zopeversion import ZopeVersion
import os
#############################################################################
# If your tests change any global registries, then uncomment the
# following import and include CleanUp as a base class of your
# test. It provides a setUp and tearDown that clear global data that
# has registered with the test cleanup framework. Don't use this
# tests outside the Zope package.
# from zope.testing.cleanup import CleanUp # Base class w registry cleanup
#############################################################################
class Test(TestCase):
def _Test__new(self):
return ZopeVersion()
def _getZopeVersion(self):
"""example zope version implementation
"""
version_id = "Development/Unknown"
version_tag = ""
is_cvs = 0
import Zope
zopedir = os.path.dirname(Zope.__file__)
# is this a CVS checkout?
cvsdir = os.path.join(zopedir, "CVS" )
if os.path.isdir(cvsdir):
is_cvs = 1
tagfile = os.path.join(cvsdir, "Tag")
# get the tag information
if os.path.isfile(tagfile):
f = open(tagfile)
tag = f.read()
if tag.startswith("T"):
version_tag = " (%s)" % tag[1:-1]
# try to get official Zope release information
versionfile = os.path.join(zopedir, "version.txt")
if os.path.isfile(versionfile) and not is_cvs:
f = open(versionfile)
version_id = f.read().split("\n")[0]
version = "%s%s" % (version_id, version_tag)
return version
def test_IVerify(self):
verifyObject(IZopeVersion, self._Test__new())
def test_ZopeVersion(self):
zope_version = self._Test__new()
self.assertEqual(zope_version.getZopeVersion(), self._getZopeVersion())
def test_suite():
return makeSuite(Test)
if __name__=='__main__':
main(defaultTest='test_suite')