Annotation of kupuMPIWG/plone/tests/test_librarymanager.py, revision 1.1
1.1 ! dwinter 1: ##############################################################################
! 2: #
! 3: # Copyright (c) 2003-2005 Kupu Contributors. All rights reserved.
! 4: #
! 5: # This software is distributed under the terms of the Kupu
! 6: # License. See LICENSE.txt for license text. For a list of Kupu
! 7: # Contributors see CREDITS.txt.
! 8: #
! 9: ##############################################################################
! 10: """Tests for the library tool
! 11:
! 12: $Id: test_librarymanager.py 9879 2005-03-18 12:04:00Z yuppie $
! 13: """
! 14:
! 15: import os, sys
! 16: if __name__ == '__main__':
! 17: execfile(os.path.join(sys.path[0], 'framework.py'))
! 18:
! 19: import Acquisition
! 20: from Testing.ZopeTestCase import ZopeTestCase
! 21:
! 22: from Products.kupu.plone.plonelibrarytool import PloneKupuLibraryTool
! 23:
! 24: class FakeMembershipTool:
! 25: isAnonymousUser = lambda self: True
! 26:
! 27: class FakePortal(Acquisition.Implicit):
! 28: absolute_url = lambda(self): None
! 29: portal_membership = FakeMembershipTool()
! 30:
! 31: class FakeContextObject(Acquisition.Implicit):
! 32:
! 33: __allow_access_to_unprotected_subobjects__ = True
! 34: isPrincipiaFolderish = True
! 35: REQUEST = 42
! 36: absolute_url = lambda(self): "The answer is 42"
! 37:
! 38: class TestILibraryManager(ZopeTestCase):
! 39: """Test the implementation of ILibraryManger in KupuLibraryTool"""
! 40:
! 41: def afterSetUp(self):
! 42: self.libs = self.makeLibraries()
! 43:
! 44: def makeLibraries(self):
! 45: # need to use Plone specific tool for Acquisition. Sucks.
! 46: libs = PloneKupuLibraryTool()
! 47: self.portal = FakePortal()
! 48: context = FakeContextObject()
! 49: libs = libs.__of__(self.portal)
! 50: self.context = context.__of__(self.portal)
! 51: libs.addLibrary('foo_id', 'Foobar', 'foobar', 'foosrc', 'fooicon')
! 52: libs.addLibrary('bar_id', 'Barfoo', 'barfoo', 'barsrc', 'baricon')
! 53: libs.addLibrary('baz_id', 'Baz', 'foobarbaz', 'bazsrc', 'bazicon')
! 54: return libs
! 55:
! 56: def test_get_library(self):
! 57: libs = self.libs
! 58: expected = (
! 59: dict(id='foo_id', title='Foobar', uri='foobar',
! 60: src='foosrc', icon='fooicon'),
! 61: dict(id='bar_id', title='Barfoo', uri='barfoo',
! 62: src='barsrc', icon='baricon'),
! 63: dict(id='baz_id', title='Baz', uri='foobarbaz',
! 64: src='bazsrc', icon='bazicon'),
! 65: )
! 66: self.assertEqual(libs.getLibraries(self.context), expected)
! 67:
! 68: def test_expressions(self):
! 69: libs = self.libs
! 70: context = self.context
! 71: new_libs = (
! 72: dict(id='foo_id', title='Foobar', uri='python:request',
! 73: src='foosrc', icon='fooicon'),
! 74: dict(id='bar_id', title='Barfoo', uri='python:object',
! 75: src='barsrc', icon='baricon'),
! 76: dict(id='baz_id', title='Baz', uri='string:${object/absolute_url}',
! 77: src='bazsrc', icon='bazicon'),
! 78: )
! 79: libs.updateLibraries(new_libs)
! 80:
! 81: expected = (
! 82: dict(id='foo_id', title='Foobar', uri=42,
! 83: src='foosrc', icon='fooicon'),
! 84: dict(id='bar_id', title='Barfoo', uri=context,
! 85: src='barsrc', icon='baricon'),
! 86: dict(id='baz_id', title='Baz', uri="The answer is 42",
! 87: src='bazsrc', icon='bazicon')
! 88: )
! 89: self.assertEqual(libs.getLibraries(context), expected)
! 90:
! 91: def test_delete(self):
! 92: libs = self.libs
! 93: libs.deleteLibraries([1])
! 94: expected = (
! 95: dict(id='foo_id', title='Foobar', uri='foobar',
! 96: src='foosrc', icon='fooicon'),
! 97: dict(id='baz_id', title='Baz', uri='foobarbaz',
! 98: src='bazsrc', icon='bazicon'),
! 99: )
! 100: self.assertEqual(libs.getLibraries(self.context), expected)
! 101:
! 102: libs = self.makeLibraries()
! 103: libs.deleteLibraries([0, 1])
! 104: expected = (
! 105: dict(id='baz_id', title='Baz', uri='foobarbaz',
! 106: src='bazsrc', icon='bazicon'),
! 107: )
! 108: self.assertEqual(libs.getLibraries(self.context), expected)
! 109:
! 110: def test_update(self):
! 111: libs = self.libs
! 112: context = self.context
! 113: new_libs = (
! 114: dict(id='foo_new_id', title='Newfoo', uri="python:object",
! 115: src='foonewsrc', icon="foonewicon"),
! 116: dict(id='just_a_new_id'),
! 117: dict(src="python:'you stink'.upper()"),
! 118: )
! 119: libs.updateLibraries(new_libs)
! 120: expected = (
! 121: dict(id='foo_new_id', title='Newfoo', uri=context,
! 122: src='foonewsrc', icon='foonewicon'),
! 123: dict(id='just_a_new_id', title='Barfoo', uri='barfoo',
! 124: src='barsrc', icon='baricon'),
! 125: dict(id='baz_id', title='Baz', uri='foobarbaz',
! 126: src="YOU STINK", icon='bazicon'),
! 127: )
! 128: self.assertEqual(libs.getLibraries(context), expected)
! 129:
! 130: def test_move(self):
! 131: libs = self.libs
! 132: libs.moveUp([1])
! 133: expected = (
! 134: dict(id='bar_id', title='Barfoo', uri='barfoo',
! 135: src='barsrc', icon='baricon'),
! 136: dict(id='foo_id', title='Foobar', uri='foobar',
! 137: src='foosrc', icon='fooicon'),
! 138: dict(id='baz_id', title='Baz', uri='foobarbaz',
! 139: src='bazsrc', icon='bazicon'),
! 140: )
! 141: self.assertEqual(libs.getLibraries(self.context), expected)
! 142:
! 143: libs.moveDown([1])
! 144: expected = (
! 145: dict(id='bar_id', title='Barfoo', uri='barfoo',
! 146: src='barsrc', icon='baricon'),
! 147: dict(id='baz_id', title='Baz', uri='foobarbaz',
! 148: src='bazsrc', icon='bazicon'),
! 149: dict(id='foo_id', title='Foobar', uri='foobar',
! 150: src='foosrc', icon='fooicon'),
! 151: )
! 152: self.assertEqual(libs.getLibraries(self.context), expected)
! 153:
! 154: libs.moveUp([1, 2])
! 155: expected = (
! 156: dict(id='baz_id', title='Baz', uri='foobarbaz',
! 157: src='bazsrc', icon='bazicon'),
! 158: dict(id='foo_id', title='Foobar', uri='foobar',
! 159: src='foosrc', icon='fooicon'),
! 160: dict(id='bar_id', title='Barfoo', uri='barfoo',
! 161: src='barsrc', icon='baricon'),
! 162: )
! 163: self.assertEqual(libs.getLibraries(self.context), expected)
! 164:
! 165: libs.moveDown([2])
! 166: expected = (
! 167: dict(id='bar_id', title='Barfoo', uri='barfoo',
! 168: src='barsrc', icon='baricon'),
! 169: dict(id='foo_id', title='Foobar', uri='foobar',
! 170: src='foosrc', icon='fooicon'),
! 171: dict(id='baz_id', title='Baz', uri='foobarbaz',
! 172: src='bazsrc', icon='bazicon'),
! 173: )
! 174: self.assertEqual(libs.getLibraries(self.context), expected)
! 175:
! 176: if __name__ == '__main__':
! 177: framework()
! 178: else:
! 179: # While framework.py provides its own test_suite()
! 180: # method the testrunner utility does not.
! 181: from unittest import TestSuite, makeSuite
! 182: def test_suite():
! 183: suite = TestSuite()
! 184: suite.addTest(makeSuite(TestILibraryManager))
! 185: return suite
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>