[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/Services/AddableService/tests - __init__.py:1.1.2.1 testAddable.py:1.1.2.1

Gary Poster garyposter@earthlink.net
Mon, 22 Apr 2002 15:03:23 -0400


Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/Services/AddableService/tests
In directory cvs.zope.org:/tmp/cvs-serv31509/App/OFS/Services/AddableService/tests

Added Files:
      Tag: Zope-3x-branch
	__init__.py testAddable.py 
Log Message:
1. As per ZopeTop discussion, moved Addable out of ZMI into the Services folder, and turned it into a true service (this involved a lot of small changes, particularly in the folders and a number of tests) and gave it some hooks
2. used SteveA's ContextWrapper.ContextMethod to make the ServiceManager and Services placefully look up to parent placeful equivalents
3. Made Event into a more standard service, and gave it some hooks
4. Built the beginning of a placeful EventService (will need tests, and views, and EventChannels, and more meat; just wanted to check this in for now)
5. made it so you can't add an item to a folder with a blank string id, and updated the folder interface
6. some typos fixed here and there
7. a few more tests here and there

I'm checking this in then checking it out again to check my work; also tagged previous version as gary-service_update.



=== Added File Zope3/lib/python/Zope/App/OFS/Services/AddableService/tests/__init__.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.
# 
##############################################################################


=== Added File Zope3/lib/python/Zope/App/OFS/Services/AddableService/tests/testAddable.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: testAddable.py,v 1.1.2.1 2002/04/22 19:03:22 poster Exp $
"""

import unittest, sys
from Zope.App.OFS.Services.AddableService.Addable import Addable
from Zope.App.OFS.Services.AddableService.GlobalAddableService import addableContent
from Zope.Testing.CleanUp import CleanUp # Base class w registry cleanup

class Test(CleanUp, unittest.TestCase):

    def testService(self):

        self.assertEqual(addableContent.getAddables(None), [])

        addableContent.provideAddable('Contact', 'Personal Contact',
                                        'blah\nblah')

        self.assertEqual(addableContent.getAddables(None), [
            Addable('Contact', 'Personal Contact', 'blah\nblah'),
            ])

        addableContent.provideAddable('spam', 'junk mail', 'spam\nspam')

        self.assertEqual(addableContent.getAddables(None), [
            Addable('Contact', 'Personal Contact', 'blah\nblah'),
            Addable('spam', 'junk mail', 'spam\nspam'),
            ])
        
    def setAValue(self, add,val):
        add.id=val
    
    def testAddable(self):
        myAddable=Addable('Contact', 'Personal Contact',
                                        'blah\nblah')
        self.assertRaises(AttributeError, self.setAValue, myAddable, 'AnotherId')

def test_suite():
    loader=unittest.TestLoader()
    return loader.loadTestsFromTestCase(Test)

if __name__=='__main__':
    unittest.TextTestRunner().run(test_suite())