Example #1
0
 def test_form_defaults(self):
     context = self.context
     from karl.testing import DummyFile
     context['attachments']['a'] = DummyFile(__name__='1',
                                             mimetype='text/plain')
     controller = self._makeOne(context, self.request)
     defaults = controller.form_defaults()
     self.assertEqual(defaults.get('title'), 'dummytitle')
     self.assertEqual(defaults.get('text'), 'dummytext')
     self.assertEqual(len(defaults['attachments']), 1)
Example #2
0
 def test_with_filename(self):
     from karl.content.interfaces import ICommunityFile
     from StringIO import StringIO
     attachments = [ DummyFile(filename='abc', mimetype='text/plain',
                               file=StringIO('abc')) ]
     folder = testing.DummyModel()
     from repoze.lemonade.testing import registerContentFactory
     registerContentFactory(DummyFile, ICommunityFile)
     request = testing.DummyRequest()
     self._callFUT(attachments, folder, 'chris', request)
     self.failUnless('abc' in folder)
Example #3
0
 def test_without_filename_remove(self):
     from karl.content.interfaces import ICommunityFile
     attachment = DummyFile(filename=None, metadata={'remove':True,
                                                     'default':'a'})
     attachments = [ attachment ]
     folder = testing.DummyModel()
     folder['a'] = testing.DummyModel()
     from repoze.lemonade.testing import registerContentFactory
     registerContentFactory(DummyFile, ICommunityFile)
     request = testing.DummyRequest()
     self._callFUT(attachments, folder, 'chris', request)
     self.failIf('a' in folder)
Example #4
0
 def test_form_defaults(self):
     self._registerDummyWorkflow()
     context = self._makeContext()
     context.title = 'title'
     context.text = 'abc'
     context['attachments'] = testing.DummyModel()
     context['attachments']['a'] = DummyFile(__name__='1',
                                             mimetype='text/plain')
     context.security_state = 'private'
     request = self._makeRequest()
     controller = self._makeOne(context, request)
     defaults = controller.form_defaults()
     self.assertEqual(defaults['title'], 'title')
     self.assertEqual(defaults['tags'], [])
     self.assertEqual(defaults['text'], 'abc')
     self.assertEqual(len(defaults['attachments']), 1)
     self.assertEqual(defaults['security_state'], 'private')
Example #5
0
 def test_with_filename_too_big(self):
     from karl.testing import registerSettings
     from karl.content.interfaces import ICommunityFile
     from StringIO import StringIO
     registerSettings(upload_limit=1)
     attachments = [ DummyFile(filename='abc', mimetype='text/plain',
                               file=StringIO('abc')) ]
     folder = testing.DummyModel()
     from repoze.lemonade.testing import registerContentFactory
     class BigDummyFile(object):
         def __init__(self, **kw):
             self.__dict__.update(kw)
             self.size = 10000
     registerContentFactory(BigDummyFile, ICommunityFile)
     request = testing.DummyRequest()
     self.assertRaises(ValueError,
                       self._callFUT, attachments, folder, 'chris', request)