Back to index

plone3  3.1.7
Public Member Functions | Static Public Attributes
ATContentTypes.tests.test_atfile.TestSiteATFile Class Reference
Inheritance diagram for ATContentTypes.tests.test_atfile.TestSiteATFile:
Inheritance graph
[legend]
Collaboration diagram for ATContentTypes.tests.test_atfile.TestSiteATFile:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def test_implementsFileContent
def test_implementsZ3FileContent
def test_implementsATFile
def test_implementsZ3ATFile
def test_edit
def testCompatibilityFileAccess
def testCompatibilityContentTypeAccess
def test_schema_marshall
def testInvokeFactoryWithFileContents
def testUpperCaseFilename
def testUpperCaseFilenameWithFunnyCharacters
def testWindowsUploadFilename
def testWindowsDuplicateFiles
def afterSetUp
def test_000testsetup
def test_dcEdit
def test_typeInfo
def test_doesImplementDC
def test_doesImplementATCT
def test_doesImplementZ3ATCT
def test_doesImplementAT
def test_implementsTranslateable
def test_not_implements_ITemplateMixin
def test_implements_ISelectableBrowserDefault
def compareDC
def test_idValidation
def test_getobjpositioninparent
def beforeTearDown

Static Public Attributes

 klass = ATFile
string portal_type = 'File'
string title = 'File'
string meta_type = 'ATFile'
string icon = 'file_icon.gif'
 cmf_klass = None
string cmf_portal_type = ''

Detailed Description

Definition at line 59 of file test_atfile.py.


Member Function Documentation

Reimplemented in ATContentTypes.tests.test_attopic.TestSiteATTopic.

Definition at line 89 of file atcttestcase.py.

00089 
00090     def afterSetUp(self):
00091         #self.setRoles(['Manager', 'Member'])
00092         self._ATCT = self._createType(self.folder, self.portal_type, 'ATCT')
00093         if self.cmf_klass:
00094             self._cmf = self._createType(self.folder, self.cmf_portal_type, 'cmf')

Definition at line 231 of file atcttestcase.py.

00231 
00232     def beforeTearDown(self):
00233         self.logout()

Here is the call graph for this function:

def ATContentTypes.tests.atcttestcase.ATCTTypeTestCase.compareDC (   self,
  first,
  second = None,
  kwargs 
) [inherited]

Definition at line 181 of file atcttestcase.py.

00181 
00182     def compareDC(self, first, second=None, **kwargs):
00183         """
00184         """
00185         if second != None:
00186             title = second.Title()
00187             description = second.Description()
00188         else:
00189             title = kwargs.get('title')
00190             description = kwargs.get('description')
00191 
00192         self.failUnlessEqual(first.Title(), title)
00193         self.failUnlessEqual(first.Description(), description)

Here is the caller graph for this function:

Definition at line 107 of file atcttestcase.py.

00107 
00108     def test_000testsetup(self):
00109         # test if we really have the right test setup
00110         # vars
00111         self.failUnless(self.klass)
00112         self.failUnless(self.portal_type)
00113         self.failUnless(self.title)
00114         self.failUnless(self.meta_type)
00115         self.failUnless(self.icon)
00116         if self.cmf_klass:
00117             self.failUnless(self.cmf_klass)
00118             self.failUnless(self.cmf_portal_type)
00119 
00120         # portal types
00121         self.failUnlessEqual(self._ATCT.portal_type, self.portal_type)
00122         if self.cmf_klass:
00123             self.failUnlessEqual(self._cmf.portal_type, self.cmf_portal_type)
00124 
00125         # classes
00126         atct_class = self._ATCT.__class__
00127         self.failUnlessEqual(self.klass, atct_class)
00128         if self.cmf_klass:
00129             cmf_class = self._cmf.__class__
00130             self.failUnlessEqual(self.cmf_klass, cmf_class)

Reimplemented in ATContentTypes.tests.test_atimage.TestSiteATImage.

Definition at line 131 of file atcttestcase.py.

00131 
00132     def test_dcEdit(self):
00133         new = self._ATCT
00134         dcEdit(new)
00135         if self.cmf_klass:
00136             old = self._cmf
00137             dcEdit(old)
00138             self.compareDC(old, new)

Here is the call graph for this function:

Definition at line 160 of file atcttestcase.py.

00160 
00161     def test_doesImplementAT(self):
00162         self.failUnless(IBaseContent.isImplementedBy(self._ATCT))
00163         self.failUnless(IReferenceable.isImplementedBy(self._ATCT))
00164         self.failUnless(verifyObject(IBaseContent, self._ATCT))
00165         self.failUnless(verifyObject(IReferenceable, self._ATCT))

Definition at line 152 of file atcttestcase.py.

00152 
00153     def test_doesImplementATCT(self):
00154         self.failUnless(IATContentType.isImplementedBy(self._ATCT))
00155         self.failUnless(verifyObject(IATContentType, self._ATCT))

Definition at line 146 of file atcttestcase.py.

00146 
00147     def test_doesImplementDC(self):
00148         self.failUnless(IDublinCore.isImplementedBy(self._ATCT))
00149         self.failUnless(IMutableDublinCore.isImplementedBy(self._ATCT))
00150         self.failUnless(verifyObject(IDublinCore, self._ATCT))
00151         self.failUnless(verifyObject(IMutableDublinCore, self._ATCT))

Definition at line 156 of file atcttestcase.py.

00156 
00157     def test_doesImplementZ3ATCT(self):
00158         iface = Z3IATContentType
00159         self.failUnless(Z3verifyObject(iface, self._ATCT))

Definition at line 85 of file test_atfile.py.

00085 
00086     def test_edit(self):
00087         new = self._ATCT
00088         editATCT(new)

Here is the call graph for this function:

Definition at line 215 of file atcttestcase.py.

00215 
00216     def test_getobjpositioninparent(self):
00217         # TODO: not a real test
00218         self._ATCT.getObjPositionInParent()

Definition at line 194 of file atcttestcase.py.

00194 
00195     def test_idValidation(self):
00196         self.setRoles(['Manager', 'Member']) # for ATTopic
00197         asdf = self._createType(self.folder, self.portal_type, 'asdf')
00198         asdf2 = self._createType(self.folder, self.portal_type, 'asdf2')
00199         self.setRoles(['Member'])
00200 
00201         request = FakeRequestSession()
00202 
00203         # invalid ids
00204         ids = ['asdf2', '???', '/asdf2', ' asdf2', 'portal_workflow',
00205             'portal_url']
00206         for id in ids:
00207             request.form = {'id':id, 'fieldset':'default'}
00208             self.assertNotEquals(asdf.validate(REQUEST=request), {}, "Not catched id: %s" % id)
00209 
00210         # valid ids
00211         ids = ['', 'abcd', 'blafasel']
00212         for id in ids:
00213             request.form = {'id':id}
00214             self.assertEquals(asdf.validate(REQUEST=request), {})

Here is the call graph for this function:

Definition at line 176 of file atcttestcase.py.

00176 
00177     def test_implements_ISelectableBrowserDefault(self):
00178         iface = ISelectableBrowserDefault
00179         self.failUnless(iface.providedBy(self._ATCT))
00180         self.failUnless(Z3verifyObject(iface, self._ATCT))

Definition at line 76 of file test_atfile.py.

00076 
00077     def test_implementsATFile(self):
00078         iface = IATFile
00079         self.failUnless(iface.isImplementedBy(self._ATCT))
00080         self.failUnless(verifyObject(iface, self._ATCT))

Definition at line 67 of file test_atfile.py.

00067 
00068     def test_implementsFileContent(self):
00069         iface = IFileContent
00070         self.failUnless(iface.isImplementedBy(self._ATCT))
00071         self.failUnless(verifyObject(iface, self._ATCT))

Definition at line 166 of file atcttestcase.py.

00166 
00167     def test_implementsTranslateable(self):
00168         # lingua plone is adding the ITranslatable interface to all types
00169         if not HAS_LINGUA_PLONE:
00170             return
00171         self.failUnless(ITranslatable.isImplementedBy(self._ATCT))
00172         self.failUnless(verifyObject(ITranslatable, self._ATCT))

Definition at line 81 of file test_atfile.py.

00081 
00082     def test_implementsZ3ATFile(self):
00083         iface = Z3IATFile
00084         self.failUnless(Z3verifyObject(iface, self._ATCT))

Definition at line 72 of file test_atfile.py.

00072 
00073     def test_implementsZ3FileContent(self):
00074         iface = Z3IFileContent
00075         self.failUnless(Z3verifyObject(iface, self._ATCT))

Definition at line 173 of file atcttestcase.py.

00173 
00174     def test_not_implements_ITemplateMixin(self):
00175         self.failIf(ITemplateMixin.isImplementedBy(self._ATCT))

Reimplemented from ATContentTypes.tests.atcttestcase.ATCTTypeTestCase.

Definition at line 104 of file test_atfile.py.

00104 
00105     def test_schema_marshall(self):
00106         atct = self._ATCT
00107         schema = atct.Schema()
00108         marshall = schema.getLayerImpl('marshall')
00109         marshallers = [PrimaryFieldMarshaller]
00110         try:
00111             from Products.Marshall import ControlledMarshaller
00112             marshallers.append(ControlledMarshaller)
00113         except ImportError:
00114             pass
00115         self.failUnless(isinstance(marshall, tuple(marshallers)), marshall)

Definition at line 139 of file atcttestcase.py.

00139 
00140     def test_typeInfo(self):
00141         ti = self._ATCT.getTypeInfo()
00142         self.failUnlessEqual(ti.getId(), self.portal_type)
00143         self.failUnlessEqual(ti.Title(), self.title)
00144         self.failUnlessEqual(ti.getIcon(), self.icon)
00145         self.failUnlessEqual(ti.Metatype(), self.meta_type)

Definition at line 99 of file test_atfile.py.

00099 
00100     def testCompatibilityContentTypeAccess(self):
00101         new = self._ATCT
00102         editATCT(new)
00103         # TODO: more tests

Here is the call graph for this function:

Definition at line 89 of file test_atfile.py.

00089 
00090     def testCompatibilityFileAccess(self):
00091         new = self._ATCT
00092         editATCT(new)
00093         # test for crappy access ways of CMF :)
00094         self.failUnlessEqual(str(new), file_text)
00095         self.failUnlessEqual(new.data, file_text)
00096         self.failUnlessEqual(str(new.getFile()), file_text)
00097         self.failUnlessEqual(new.getFile().data, file_text)
00098         self.failUnlessEqual(new.get_data(), file_text)

Here is the call graph for this function:

Definition at line 116 of file test_atfile.py.

00116 
00117     def testInvokeFactoryWithFileContents(self):
00118         # test for Plone tracker #4939
00119         class fakefile(StringIO.StringIO):
00120             pass
00121         fakefile = fakefile()
00122         fakefile.filename = 'some-filename'
00123         id = self.folder.invokeFactory(self.portal_type,
00124                                        'image.2005-11-18.4066860572',
00125                                        file=fakefile)
00126         self.assertEquals(id, fakefile.filename)

Definition at line 127 of file test_atfile.py.

00127 
00128     def testUpperCaseFilename(self):
00129         class fakefile(StringIO.StringIO):
00130             pass
00131         fakefile = fakefile()
00132         fakefile.filename = 'Some-filename-With-Uppercase.txt'
00133         id = 'file.2005-11-18.4066860573'
00134         self.folder.invokeFactory(self.portal_type, id)
00135         self.folder[id].setFile(fakefile)
00136         self.failIf(id in self.folder.objectIds())
00137         self.failUnless(fakefile.filename in self.folder.objectIds())

Definition at line 138 of file test_atfile.py.

00138 
00139     def testUpperCaseFilenameWithFunnyCharacters(self):
00140         class fakefile(StringIO.StringIO):
00141             pass
00142         fakefile = fakefile()
00143         fakefile.filename = 'Zope&Plo?ne .txt'
00144         id = 'file.2005-11-18.4066860574'
00145         self.folder.invokeFactory(self.portal_type, id)
00146         self.folder[id].setFile(fakefile)
00147         self.failIf(id in self.folder.objectIds())
00148         self.failUnless('Zope-Plo-ne .txt' in self.folder.objectIds())

Definition at line 161 of file test_atfile.py.

00161 
00162     def testWindowsDuplicateFiles(self):
00163         class fakefile(StringIO.StringIO):
00164             pass
00165         fakefile = fakefile()
00166         fakefile.filename = 'c:\\Windows\\Is\\Worthless\\file.txt'
00167         id = 'file.2005-11-18.4066860574'
00168         self.folder.invokeFactory(self.portal_type, id)
00169         self.folder[id].setFile(fakefile)
00170         self.folder.invokeFactory(self.portal_type, id)
00171         request = self.folder.REQUEST
00172         request.form['id'] = id
00173         request.form['file_file'] = fakefile
00174         errors = {}
00175         self.folder[id].post_validate(request, errors)
00176         self.failUnless(errors.has_key('file'))
00177 
00178 tests.append(TestSiteATFile)

Definition at line 149 of file test_atfile.py.

00149 
00150     def testWindowsUploadFilename(self):
00151         class fakefile(StringIO.StringIO):
00152             pass
00153         fakefile = fakefile()
00154         fakefile.filename = 'c:\\Windows\\Is\\Worthless\\file.txt'
00155         id = 'file.2005-11-18.4066860574'
00156         self.folder.invokeFactory(self.portal_type, id)
00157         self.folder[id].setFile(fakefile)
00158         self.failIf(id in self.folder.objectIds())
00159         self.failIf(fakefile.filename in self.folder.objectIds())
00160         self.failUnless('file.txt' in self.folder.objectIds())


Member Data Documentation

Definition at line 82 of file atcttestcase.py.

Definition at line 84 of file atcttestcase.py.

string ATContentTypes.tests.test_atfile.TestSiteATFile.icon = 'file_icon.gif' [static]

Reimplemented from ATContentTypes.tests.atcttestcase.ATCTTypeTestCase.

Definition at line 65 of file test_atfile.py.

Reimplemented from ATContentTypes.tests.atcttestcase.ATCTTypeTestCase.

Definition at line 61 of file test_atfile.py.

Reimplemented from ATContentTypes.tests.atcttestcase.ATCTTypeTestCase.

Definition at line 64 of file test_atfile.py.

Reimplemented from ATContentTypes.tests.atcttestcase.ATCTTypeTestCase.

Definition at line 62 of file test_atfile.py.

Reimplemented from ATContentTypes.tests.atcttestcase.ATCTTypeTestCase.

Definition at line 63 of file test_atfile.py.


The documentation for this class was generated from the following file: