Ignore:
Timestamp:
01/13/06 14:06:10 (14 years ago)
Author:
laszlo
Message:

closes #166 spent 3h

File:
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/tests/testPiece.py

    r67 r68  
    1010from Testing.ZopeTestCase.functional import Functional 
    1111from ToolboxTestCase import ToolboxTestCase 
    12 from Products.Toolbox.BaseAsset import BaseAsset 
     12from Products.Toolbox.Piece import Piece, ERROR_NOT_BOTH 
    1313from Products.Archetypes.public import PrimaryFieldMarshaller 
     14from StringIO import StringIO 
     15from urllib import urlencode 
     16from Products.PloneTestCase.setup import portal_owner, default_password 
     17from mimify import mimify 
    1418 
    15 types = ('ImageAsset','AudioAsset','HTMLTextAsset',) 
     19auth=':'.join((portal_owner, default_password)) 
    1620 
    17 class TestAssets(ToolboxTestCase,Functional): 
     21class TestPiece(ToolboxTestCase,Functional): 
    1822 
    1923    def afterSetUp(self): 
    20         self.types=self.portal.portal_types 
    21  
    22     def construct2(self, portal_type, id, folder): 
    23         fti = self.types.getTypeInfo(portal_type) 
    24         fti.constructInstance(folder, id=id) 
    25         self.failUnless(id in folder.objectIds()) 
    26         return getattr(folder, id) 
     24        pass 
    2725 
    2826    def testExistence(self): 
    29         for pt in types: 
    30             ob = self.construct(pt,pt,self.folder) 
    31             self.failUnlessEqual(ob._getPortalTypeName(),pt) 
    32             self.failUnlessEqual(ob.portal_type,pt) 
     27        ob = self.construct('Piece','TestPiece',self.folder) 
     28        self.failUnlessEqual(ob._getPortalTypeName(),'Piece') 
     29        self.failUnlessEqual(ob.portal_type,'Piece')     
    3330 
    34             id2 = "%s2" % pt 
    35             ob = self.construct(pt,id2,self.folder) 
    36             self.failUnlessEqual(ob._getPortalTypeName(),pt) 
    37             self.failUnlessEqual(ob.portal_type,pt) 
    38  
    39     def testBaseAssetAbstractness(self): 
    40         self.assertRaises(ValueError,self.construct,'BaseAsset','test',self.folder) 
    41      
    42  
    43 class TestImageAsset(TestAssets): 
    44  
    45     def afterSetUp(self): 
    46         self.content = self.construct('ImageAsset', 'TestAsset', self.folder) 
     31    def testEditing(self): 
     32        TITLE='Test' 
     33        BODY='<p>Test paragraph</p>' 
     34        ob=self.construct('Piece', 'TestPiece2' ,self.folder) 
     35        ob.edit(title=TITLE, body=BODY) 
     36        self.assertEqual(ob.Title(), TITLE) 
     37        self.assertEqual(ob.getBody(), BODY) 
    4738 
    4839    def testCompatibilityFileAccess(self): 
    4940        # Use an actual file, because if Python Imaging Library is installed, it 
    5041        # will complain when non-files are used as image data. 
     42        ob=self.construct('Piece', 'TestPiece7' ,self.folder) 
    5143        file_text = open("../skins/toolbox/toolbox_banner.png","r").read() 
    52         self.content.edit(file=file_text) 
    53         self.failUnlessEqual(self.content.data, file_text) 
    54         self.failUnlessEqual(self.content.get_data(), file_text) 
     44        ob.edit(file=file_text, source=file_text) 
     45        self.failUnlessEqual(ob.file.data, file_text, "File upload error") 
     46        self.failUnlessEqual(ob.source.data, file_text, "Source upload error") 
    5547 
    56     def test_schema_marshall(self): 
    57         schema = self.content.Schema() 
    58         marshall = schema.getLayerImpl('marshall') 
    59         self.failUnless(isinstance(marshall, PrimaryFieldMarshaller), marshall) 
     48    #~ def testFileUpload(self): 
     49        #~ file_text = open("../skins/toolbox/toolbox_banner.png","r").read() 
     50        #~ file = open("../skins/toolbox/toolbox_banner.png","r") 
     51        #~ ob=self.construct('Piece', 'TestPiece3' ,self.folder) 
     52        #~ post=StringIO() 
     53        #~ mimify(file,post) 
     54        #~ path=ob.absolute_url_path() 
     55        #~ result=self.publish(path,request_method='POST',basic=auth,stdin=post).getBody() 
     56        #~ self.failUnlessEqual(ob.file.data, file_text) 
    6057 
    61 #    def testWCAGLogo(self): 
    62 #        ID='image' 
    63 #        ob=self.construct('ImageAsset', ID ,self.folder) 
    64 #        path='/'.join((self.folder.absolute_url_path(),ID)) 
    65 #        result=self.publish(path).getBody() 
    66 #        self.failUnless(re.search("Explanation of Level Double-A Conformance", result)) 
    67  
    68 class TestAudioAsset(TestAssets): 
    69  
    70     def afterSetUp(self): 
    71         self.content = self.construct('AudioAsset', 'TestAsset', self.folder) 
    72  
    73     def testEditing(self): 
    74         TITLE='Test' 
    75         self.content.edit(title=TITLE) 
    76         self.assertEqual(self.content.Title(), TITLE) 
    77  
     58    #~ def testEditBoth(self): 
     59        #~ BODY='<p>Test paragraph</p>' 
     60        #~ file_text = open("../skins/toolbox/toolbox_banner.png","r").read() 
     61        #~ ob=self.construct('Piece', 'TestPiece5' ,self.folder) 
     62        #~ form={'body': BODY, 'file':file_text} 
     63        #~ post=StringIO(urlencode(form)) 
     64        #~ path=ob.absolute_url_path() 
     65        #~ result=self.publish(path,request_method='POST',basic=auth,stdin=post).getBody() 
     66        #~ self.failUnless(re.search("ERROR_NOT_BOTH", result)) 
     67         
    7868    def testWCAGLogo(self): 
    79         ID='audio' 
    80         ob=self.construct('AudioAsset', ID ,self.folder) 
    81         path='/'.join((self.folder.absolute_url_path(),ID)) 
     69        ob=self.construct('Piece', 'TestPiece4' ,self.folder) 
     70        path='/'.join((self.folder.absolute_url_path(),'TestPiece4')) 
    8271        result=self.publish(path).getBody() 
    8372        self.failUnless(re.search("Explanation of Level Double-A Conformance", result)) 
    8473 
    85 class TestHTMLTextAsset(TestAssets): 
    86  
    87     def testEditing(self): 
    88         ID='htmltext' 
    89         TITLE='Test' 
    90         BODY='<p>Test paragraph</p>' 
    91         ob=self.construct('HTMLTextAsset', ID ,self.folder) 
    92         ob.edit(title=TITLE, body=BODY) 
    93         self.assertEqual(ob.Title(), TITLE) 
    94         self.assertEqual(ob.getBody(), BODY) 
    95  
    96     def testEditHTMLzation(self): 
    97         ID='htmltext' 
    98         TITLE='Test' 
    99         BODY='Test paragraph' 
    100         BODYHTML='<p>Test paragraph</p>' 
    101         ob=self.construct('HTMLTextAsset', ID ,self.folder) 
    102         ob.edit(title=TITLE, body=BODY) 
    103         self.assertEqual(ob.Title(), TITLE) 
    104         self.assertEqual(ob.getBody(), BODYHTML) 
    105  
    106     def testView(self): 
    107         ID='htmltext' 
    108         TITLE='Test' 
    109         BODY='<p>Test paragraph</p><p>And another!</p>' 
    110         ob=self.construct('HTMLTextAsset', ID ,self.folder) 
    111         ob.edit(title=TITLE, body=BODY) 
    112         path='/'.join((self.folder.absolute_url_path(),ID)) 
    113         result=self.publish(path).getBody() 
    114         self.failUnless(re.search(BODY, result)) 
    115      
    116     def testWCAGLogo(self): 
    117         ID='htmltext' 
    118         ob=self.construct('HTMLTextAsset', ID ,self.folder) 
    119         path='/'.join((self.folder.absolute_url_path(),ID)) 
    120         result=self.publish(path).getBody() 
    121         self.failUnless(re.search("Explanation of Level Double-A Conformance", result)) 
    122          
    12374def test_suite(): 
    12475    from unittest import TestSuite, makeSuite 
    12576    suite = TestSuite() 
    126     suite.addTest(makeSuite(TestAssets)) 
    127     suite.addTest(makeSuite(TestImageAsset)) 
    128     suite.addTest(makeSuite(TestAudioAsset)) 
    129     suite.addTest(makeSuite(TestHTMLTextAsset)) 
     77    suite.addTest(makeSuite(TestPiece)) 
    13078    return suite 
    13179 
Note: See TracChangeset for help on using the changeset viewer.