1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
"""Common imports and declarations
common includes a set of basic things that every test needs. Ripped of from my
Archetypes test suit
$Id: common.py,v 1.9 2004/09/17 13:35:19 tiran Exp $
"""
__author__ = 'Christian Heimes'
__docformat__ = 'restructuredtext'
# enable nice names for True and False from newer python versions
try:
dummy=True
except NameError: # python 2.1
True = 1
False = 0
import time
def Xprint(s):
"""print helper
print data via print is not possible, you have to use
ZopeTestCase._print or this function
"""
ZopeTestCase._print(str(s)+'\n')
def dcEdit(obj):
"""dublin core edit (inplace)
"""
obj.setTitle('Test Title')
obj.setDescription('Test description')
# XXX more
from AccessControl.SecurityManagement import newSecurityManager
from AccessControl.SecurityManagement import noSecurityManager
###
# general test suits including products
###
from Testing import ZopeTestCase
ZopeTestCase.installProduct('CMFCore', 1)
ZopeTestCase.installProduct('CMFDefault', 1)
ZopeTestCase.installProduct('CMFCalendar', 1)
ZopeTestCase.installProduct('CMFTopic', 1)
ZopeTestCase.installProduct('DCWorkflow', 1)
ZopeTestCase.installProduct('CMFActionIcons', 1)
ZopeTestCase.installProduct('CMFQuickInstallerTool', 1)
ZopeTestCase.installProduct('CMFFormController', 1)
ZopeTestCase.installProduct('GroupUserFolder', 1)
ZopeTestCase.installProduct('ZCTextIndex', 1)
ZopeTestCase.installProduct('CMFPlone', 1)
ZopeTestCase.installProduct('MailHost', 1)
ZopeTestCase.installProduct('PageTemplates', 1)
ZopeTestCase.installProduct('PythonScripts', 1)
ZopeTestCase.installProduct('ExternalMethod', 1)
ZopeTestCase.installProduct('ZCatalog', 1)
ZopeTestCase.installProduct('Archetypes', 1)
ZopeTestCase.installProduct('ArchExample', 1)
ZopeTestCase.installProduct('ArchetypesTestUpdateSchema', 1)
ZopeTestCase.installProduct('PortalTransforms', 1)
ZopeTestCase.installProduct('ATContentTypes', 1)
###
# from archetypes
###
from Products.Archetypes.public import *
from Products.Archetypes.config import PKG_NAME
from Products.Archetypes.tests import ArchetypesTestCase
from Products.Archetypes.tests.test_baseschema import BaseSchemaTest
from Products.Archetypes.interfaces.layer import ILayerContainer
from Products.Archetypes.Storage import AttributeStorage, MetadataStorage
from Products.Archetypes import listTypes
from Products.Archetypes.Widget import IdWidget, StringWidget, BooleanWidget, \
KeywordWidget, TextAreaWidget, CalendarWidget, SelectionWidget
from Products.Archetypes.utils import DisplayList
from Products.CMFCore import CMFCorePermissions
from Products.Archetypes.ExtensibleMetadata import FLOOR_DATE,CEILING_DATE
from DateTime import DateTime
from Products.CMFCore.utils import getToolByName
###
# ATContentTypes + migration
###
from Products.ATContentTypes.types import ATDocument, ATEvent, \
ATFavorite, ATFile, ATFolder, ATImage, ATLink, ATNewsItem
from Products.ATContentTypes.migration.ATCTMigrator import DocumentMigrator,\
EventMigrator, FavoriteMigrator, FileMigrator, ImageMigrator, LinkMigrator,\
NewsItemMigrator, FolderMigrator
from Products.validation import ValidationChain
EmptyValidator = ValidationChain('isEmpty')
EmptyValidator.appendSufficient('isEmpty')
TidyHTMLValidator = ValidationChain('isTidyHtmlChain')
#TidyHTMLValidator.appendSufficient('isEmpty')
TidyHTMLValidator.appendRequired('isTidyHtmlWithCleanup')
URLValidator = ValidationChain('isURL')
URLValidator.appendSufficient('isEmptyNoError')
URLValidator.appendRequired('isURL')
RequiredURLValidator = ValidationChain('isRequiredURL')
RequiredURLValidator.appendRequired('isURL')
EmailValidator = ValidationChain('isEmailChain')
EmailValidator.appendSufficient('isEmptyNoError')
EmailValidator.appendRequired('isEmail')
PhoneValidator = ValidationChain('isPhoneChain')
PhoneValidator.appendSufficient('isEmptyNoError')
PhoneValidator.appendRequired('isInternationalPhoneNumber')
###
# CMF Default Types
###
from Products.CMFCore import PortalFolder
from Products.CMFDefault import Document, Favorite, File, Image, Link, NewsItem
from Products.CMFCalendar import Event
# import Interface for interface testing
try:
import Interface
except ImportError:
# set dummy functions and exceptions for older zope versions
def verifyClass(iface, candidate, tentative=0):
return True
def verifyObject(iface, candidate, tentative=0):
return True
def getImplementsOfInstances(object):
return ()
def getImplements(object):
return ()
def flattenInterfaces(interfaces, remove_duplicates=1):
return ()
class BrokenImplementation(Exception): pass
class DoesNotImplement(Exception): pass
class BrokenMethodImplementation(Exception): pass
else:
from Interface.Implements import getImplementsOfInstances, \
getImplements, flattenInterfaces
from Interface.Verify import verifyClass, verifyObject
from Interface.Exceptions import BrokenImplementation, DoesNotImplement
from Interface.Exceptions import BrokenMethodImplementation
###
# ATContentTypes tests
###
from ATCTSiteTestCase import ATCTFieldTestCase
from ATCTSiteTestCase import ATCTSiteTestCase
|