Exemplo n.º 1
0
    def test_handle_no_email_attachments(self):
        import datetime
        from pyramid.testing import DummyModel
        from karl.content.interfaces import IBlogEntry

        self._set_NOW(datetime.datetime(2009, 01, 28, 10, 00, 00))
        self._registerFactory(IBlogEntry, _makeBlogEntryClass())
        self._registerContextURL()
        self._registerSettings()
        alerts = self._registerAlerts()
        workflow = self._registerSecurityWorkflow()
        context = DummyModel()
        root = makeRoot()
        root["foo"] = context
        context.__parent__ = root
        adapter = self._makeOne(context)
        message = object()  # ignored
        info = {"subject": "SUBJECT", "author": "phreddy", "date": datetime.datetime(2010, 5, 12, 2, 42)}

        adapter.handle(message, info, "TEXT", [])

        self.assertEqual(len(context), 1)
        entry_id, entry = context.items()[0]
        self.assertEqual(entry_id, "subject")
        self.assertEqual(entry.title, "SUBJECT")
        self.assertEqual(entry.creator, "phreddy")
        self.assertEqual(entry.text, "TEXT")
        self.assertEqual(entry.description, "TEXT")
        self.assertEqual(entry.created, datetime.datetime(2010, 5, 12, 2, 42))
        self.failIf(len(entry["attachments"]))

        self.assertEqual(len(alerts.emissions), 1)
        self.failUnless(workflow.initialized)
Exemplo n.º 2
0
    def test_handle_no_email_attachments(self):
        import datetime
        from pyramid.testing import DummyModel
        from karl.content.interfaces import IBlogEntry
        self._set_NOW(datetime.datetime(2009, 01, 28, 10, 00, 00))
        self._registerFactory(IBlogEntry, _makeBlogEntryClass())
        self._registerContextURL()
        self._registerSettings()
        alerts = self._registerAlerts()
        workflow = self._registerSecurityWorkflow()
        context = DummyModel()
        adapter = self._makeOne(context)
        message = object() # ignored
        info = {'subject': 'SUBJECT', 'author': 'phreddy',
                'date': datetime.datetime(2010, 5, 12, 2, 42)}

        adapter.handle(message, info, 'TEXT', [])

        self.assertEqual(len(context), 1)
        entry_id, entry = context.items()[0]
        self.assertEqual(entry_id, 'subject')
        self.assertEqual(entry.title, 'SUBJECT')
        self.assertEqual(entry.creator, 'phreddy')
        self.assertEqual(entry.text, 'TEXT')
        self.assertEqual(entry.description, 'TEXT')
        self.assertEqual(entry.created, datetime.datetime(2010, 5, 12, 2, 42))
        self.failIf(len(entry['attachments']))

        self.assertEqual(len(alerts.emissions), 1)
        self.assertEqual(alerts.emissions,
            [(entry, 'http://offline.example.com/app/subject')])
        self.failUnless(workflow.initialized)
Exemplo n.º 3
0
 def __init__(self):
     DummyModel.__init__(self)
     self[u"profiles"] = DummyModel()
     dummies = [(u"dummy1", u"Dummy One"), (u"dummy2", u"Dummy Two"), (u"dummy3", u"Dummy Three")]
     for dummy in dummies:
         self[u"profiles"][dummy[0]] = DummyModel(title=dummy[1])
     self[u"communities"] = DummyModel()
Exemplo n.º 4
0
 def __init__(self, title, text, description, creator):
     DummyModel.__init__(self,
                         title=title,
                         text=text,
                         description=description,
                         creator=creator)
     if init_attachments:
         self['attachments'] = DummyModel()
Exemplo n.º 5
0
Arquivo: tests.py Projeto: lslaz1/karl
 def _makeModel(self, name=None, parent=None, principals=('phreddy',)):
     from pyramid.testing import DummyModel
     model = DummyModel()
     if parent is not None:
         parent[name] = model
     if principals:
         model.__acl__ = [self._makeACE(principal=x) for x in principals]
     return model
Exemplo n.º 6
0
 def test_get_mail_store(self):
     from pyramid.testing import DummyModel
     from repoze.mailin.maildir import MaildirStore
     from repoze.mailin.monitor.models import Messages
     monitor = DummyModel()
     monitor.maildir_path = self._getTempdir()
     o = Messages(monitor)
     self.failUnless(isinstance(o._mail_store(), MaildirStore))
Exemplo n.º 7
0
 def __init__(self):
     DummyModel.__init__(self)
     self[u'profiles'] = DummyModel()
     dummies = [
         (u'dummy1', u'Dummy One'),
         (u'dummy2', u'Dummy Two'),
         (u'dummy3', u'Dummy Three'),
         ]
     for dummy in dummies:
         self[u'profiles'][dummy[0]] = DummyModel(title=dummy[1])
     self[u'communities'] = DummyModel()
Exemplo n.º 8
0
 def test_it(self):
     from pyramid.testing import DummyModel
     from pyramid.testing import DummyRequest
     context = DummyModel()
     context.message_id = 'foo'
     context.message = 'bar'
     renderer = self.config.testing_add_renderer('templates/show_message.pt')
     from repoze.mailin.monitor.views import show_message_view
     show_message_view(context, DummyRequest())
     self.assertEqual(renderer.message_id, 'foo')
     self.assertEqual(renderer.raw, 'bar')
Exemplo n.º 9
0
    def test_it(self):
        from datetime import datetime
        from datetime import timedelta
        from pyramid.testing import DummyModel
        request = testing.DummyRequest()

        site = testing.DummyModel()
        communities = site["communities"] = testing.DummyModel()
        community1 = communities["community1"] = testing.DummyModel()
        community1.title = "Test Community 1"
        community1.last_activity_date = datetime.now()

        community2 = communities["community2"] = testing.DummyModel()
        community2.title = "Test Community 2"
        community2.last_activity_date = datetime.now() - timedelta(2)

        community3 = communities["community3"] = testing.DummyModel()
        community3.title = "Test Community 3"
        community3.last_activity_date = datetime.now() - timedelta(1)

        request.context = context = site
        site["profiles"] = profiles = DummyModel()
        profiles["userid"] = DummyProfile()

        item1 = DummyModel()
        item1.__name__ = 'doc1'
        item1.title = 'Doc 1'
        item1.modified = datetime.now()

        item2 = DummyModel()
        item2.__name__ = 'doc2'
        item2.title = 'Doc 2'
        item2.modified = datetime.now() - timedelta(1)

        registerCatalogSearch(results={'modified_by=userid': [item1, item2]})

        response = self._callFUT(context, request)
        data = response['data']
        communities = data['panels'][0]['communities']
        recent = data['panels'][1]['contexts']
        self.assertEqual(data['profile_name'], 'firstname lastname')
        self.assertEqual(data['profile_url'],
                'http://example.com/profiles/userid/')
        self.assertEqual(data['icon_url'],
                'http://example.com/static/images/defaultUser.gif')
        self.assertEqual(data['logout_url'], 'http://example.com/logout.html')
        self.assertEqual(data['department'], '4a')
        self.assertEqual(data['position'], 'halfback')
        self.assertEqual(data['email'], '*****@*****.**')
        self.assertEqual(data['extension'], '911')
        self.assertEqual(data['phone'], '555-55555')
        self.assertEqual(len(communities), 3)
        self.assertEqual(len(recent), 2)
        self.assertEqual(communities[0]['title'], 'Test Community 1')
        self.assertEqual(communities[1]['title'], 'Test Community 3')
        self.assertEqual(communities[2]['title'], 'Test Community 2')
        self.assertEqual(recent[0]['title'], 'Doc 1')
        self.assertEqual(recent[1]['title'], 'Doc 2')
Exemplo n.º 10
0
    def test_handle_with_email_attachments_w_entry_attachments(self):
        import datetime
        from pyramid.testing import DummyModel
        from karl.content.interfaces import IBlogEntry
        from karl.content.interfaces import ICommunityFile
        self._set_NOW(datetime.datetime(2009, 01, 28, 10, 00, 00))
        self._registerFactory(IBlogEntry, _makeBlogEntryClass())
        self._registerFactory(ICommunityFile)
        self._registerContextURL()
        self._registerSettings()
        alerts = self._registerAlerts()
        workflow = self._registerSecurityWorkflow()
        context = DummyModel()
        adapter = self._makeOne(context)
        message = object() # ignored
        info = {'subject': 'SUBJECT', 'author': 'phreddy',
                'date': datetime.datetime(2010, 5, 12, 2, 42)}
        attachments = [('file1.bin', 'application/octet-stream', 'DATA'),
                       ('file2.png', 'image/png', 'IMAGE'),
                      ]

        adapter.handle(message, info, 'TEXT', attachments)

        self.assertEqual(len(context), 1)
        entry_id, entry = context.items()[0]
        self.assertEqual(entry_id, 'subject')
        self.assertEqual(entry.title, 'SUBJECT')
        self.assertEqual(entry.creator, 'phreddy')
        self.assertEqual(entry.text, 'TEXT')

        attachments = entry['attachments']
        self.assertEqual(len(attachments), 2)
        file1 = attachments['file1.bin']
        self.assertEqual(file1.title, 'file1.bin')
        self.assertEqual(file1.filename, 'file1.bin')
        self.assertEqual(file1.mimetype, 'application/octet-stream')
        self.assertEqual(file1.stream.read(), 'DATA')
        file2 = attachments['file2.png']
        self.assertEqual(file2.title, 'file2.png')
        self.assertEqual(file2.filename, 'file2.png')
        self.assertEqual(file2.mimetype, 'image/png')
        self.assertEqual(file2.stream.read(), 'IMAGE')

        self.assertEqual(len(alerts.emissions), 1)
        self.assertEqual(alerts.emissions,
            [(entry, 'http://offline.example.com/app/subject')])
        self.failUnless(workflow.initialized)
Exemplo n.º 11
0
    def test_handle_with_email_attachments_w_entry_attachments(self):
        import datetime
        from pyramid.testing import DummyModel
        from karl.content.interfaces import IBlogEntry
        from karl.content.interfaces import ICommunityFile

        self._set_NOW(datetime.datetime(2009, 01, 28, 10, 00, 00))
        self._registerFactory(IBlogEntry, _makeBlogEntryClass())
        self._registerFactory(ICommunityFile)
        self._registerContextURL()
        self._registerSettings()
        alerts = self._registerAlerts()
        workflow = self._registerSecurityWorkflow()
        context = DummyModel()
        root = makeRoot()
        root["foo"] = context
        context.__parent__ = root
        adapter = self._makeOne(context)
        message = object()  # ignored
        info = {"subject": "SUBJECT", "author": "phreddy", "date": datetime.datetime(2010, 5, 12, 2, 42)}
        attachments = [("file1.bin", "application/octet-stream", "DATA"), ("file2.png", "image/png", "IMAGE")]

        adapter.handle(message, info, "TEXT", attachments)

        self.assertEqual(len(context), 1)
        entry_id, entry = context.items()[0]
        self.assertEqual(entry_id, "subject")
        self.assertEqual(entry.title, "SUBJECT")
        self.assertEqual(entry.creator, "phreddy")
        self.assertEqual(entry.text, "TEXT")

        attachments = entry["attachments"]
        self.assertEqual(len(attachments), 2)
        file1 = attachments["file1.bin"]
        self.assertEqual(file1.title, "file1.bin")
        self.assertEqual(file1.filename, "file1.bin")
        self.assertEqual(file1.mimetype, "application/octet-stream")
        self.assertEqual(file1.stream.read(), "DATA")
        file2 = attachments["file2.png"]
        self.assertEqual(file2.title, "file2.png")
        self.assertEqual(file2.filename, "file2.png")
        self.assertEqual(file2.mimetype, "image/png")
        self.assertEqual(file2.stream.read(), "IMAGE")

        self.assertEqual(len(alerts.emissions), 1)
        self.failUnless(workflow.initialized)
Exemplo n.º 12
0
 def __init__(self):
     DummyModel.__init__(self)
     self[u'profiles'] = DummyModel()
     dummies = [
         (u'dummy1', u'Dummy One'),
         (u'dummy2', u'Dummy Two'),
         (u'dummy3', u'Dummy Three'),
         ]
     for dummy in dummies:
         self[u'profiles'][dummy[0]] = DummyModel(title=dummy[1])
     self[u'communities'] = DummyModel()
     from karl.models.site import Site
     self.settings = Site._default_settings.copy()
     self.settings.update({
         'title': 'karl3test',
         'system_email_domain': "karl3.example.com",
         'admin_email': '*****@*****.**',
         'min_pw_length': 8,
         'site_url': "http://offline.example.com/app",
         'selectable_groups': 'group.KarlAdmin group.KarlLovers',
         'system_list_subdomain': 'karl3.example.com'
         })
     self.sessions = DummySessions()
Exemplo n.º 13
0
    def test_process_message_report(self):
        from zope.interface import directlyProvides
        from pyramid.testing import DummyModel
        from karl.models.interfaces import IPeopleDirectory
        INFO = {
            'targets': [{
                'report': 'section+testing',
                'community': None,
                'tool': None,
            }],
            'author':
            'phreddy',
            'subject':
            'Feedback'
        }
        text = 'This entry stinks!'
        attachments = [('foo.txt', 'text/plain', 'My attachment')]
        message = DummyMessage(INFO, text, attachments)
        self._set_up_queue([
            message,
        ])

        mailin = self._makeOne()
        pd = mailin.root['people'] = DummyModel()
        directlyProvides(pd, IPeopleDirectory)
        section = pd['section'] = DummyModel()
        testing = section['testing'] = DummyModel()

        mailin()
        mailin.close()

        self.assertEqual(len(self.handlers), 1)
        handler = self.handlers[0]
        self.failUnless(handler.context is testing)
        self.assertEqual(handler.handle_args,
                         (message, INFO, text, attachments))
        self.assertEqual(len(self.mailer), 0)
Exemplo n.º 14
0
    def test_quarantine_message(self):
        from pyramid.testing import DummyModel
        info = {
            'targets': [{
                'community': 'testing',
                'tool': 'random',
                'in_reply_to': '7FFFFFFF',  # token for docid 0
                'author': 'phreddy',
            }],
            'subject':
            'Feedback',
            'exception':
            'Not witty enough',
        }
        text = 'This entry stinks!'
        attachments = ()
        message = DummyMessage(info, text, attachments)
        self._set_up_queue([
            message,
        ])

        mailin = self._makeOne()
        catalog = mailin.root.catalog = DummyCatalog()
        cf = mailin.root['communities'] = DummyModel()
        testing = cf['testing'] = DummyModel()
        tool = testing['random'] = DummyModel()
        entry = tool['entry'] = DummyModel()
        entry['comments'] = DummyModel()
        catalog.document_map._map[0] = '/communities/testing/random/entry'
        self.config.testing_resources(
            {'/communities/testing/random/entry': entry})

        mailin()
        q_message, error = self.queue.quarantined[0]
        self.assertEqual(q_message, message)
        self.failUnless('Not witty enough' in error)
        self.assertEqual(len(self.mailer), 1)
Exemplo n.º 15
0
    def _makeItem(self, ifaces=(), **kw):
        from zope.interface import directlyProvides
        from pyramid.testing import DummyModel

        class _DummyOrdering:
            # The one in karl.testing doesn't have a working sync.
            def sync(self, entries):
                self._items = entries

            def items(self):
                return self._items

        item = DummyModel(ordering=_DummyOrdering(), **kw)
        directlyProvides(item, ifaces)
        return item
Exemplo n.º 16
0
    def test_handle_no_email_attachments(self):
        import datetime
        from pyramid.testing import DummyModel
        from karl.content.interfaces import IBlogEntry
        self._set_NOW(datetime.datetime(2009, 01, 28, 10, 00, 00))
        self._registerFactory(IBlogEntry, _makeBlogEntryClass())
        self._registerContextURL()
        self._registerSettings()
        alerts = self._registerAlerts()
        workflow = self._registerSecurityWorkflow()
        context = DummyModel()
        root = makeRoot()
        root['foo'] = context
        context.__parent__ = root
        adapter = self._makeOne(context)
        message = object()  # ignored
        info = {
            'subject': 'SUBJECT',
            'author': 'phreddy',
            'date': datetime.datetime(2010, 5, 12, 2, 42)
        }

        adapter.handle(message, info, 'TEXT', [])

        self.assertEqual(len(context), 1)
        entry_id, entry = context.items()[0]
        self.assertEqual(entry_id, 'subject')
        self.assertEqual(entry.title, 'SUBJECT')
        self.assertEqual(entry.creator, 'phreddy')
        self.assertEqual(entry.text, 'TEXT')
        self.assertEqual(entry.description, 'TEXT')
        self.assertEqual(entry.created, datetime.datetime(2010, 5, 12, 2, 42))
        self.failIf(len(entry['attachments']))

        self.assertEqual(len(alerts.emissions), 1)
        self.failUnless(workflow.initialized)
Exemplo n.º 17
0
    def test_handle_submit_context_wo_ordering(self):
        from pyramid.testing import DummyModel
        from karl.testing import DummyCatalog
        from karl.testing import DummyTags
        context = DummyModel(tags=DummyTags(),
                             catalog=DummyCatalog())
        controller = self._makeOne(context=context)
        self._registerFactory(controller)
        converted = {'title': u'Ref Manual Title',
                     'tags': [u'foo', u'bar'],
                     'description': u'ref manual description',
                     }
        controller.handle_submit(converted)

        self.failUnless(u'ref-manual-title' in context)
        manual = context[u'ref-manual-title']
        self.assertEqual(manual.title, u'Ref Manual Title')
        self.assertEqual(manual.description, u'ref manual description')
        self.assertEqual(context.tags._called_with[1]['tags'],
                         [u'foo', u'bar'])
Exemplo n.º 18
0
    def _makeItem(self, **kw):
        from pyramid.testing import DummyModel

        class _DummyOrdering:
            # The one in karl.testing doesn't have a working sync.
            _moved_up = _moved_down = None
            _sync_called = False

            def sync(self, entries):
                self._items = entries
                self._sync_called = True

            def items(self):
                return self._items

            def moveUp(self, name):
                self._moved_up = name

            def moveDown(self, name):
                self._moved_down = name

        return DummyModel(ordering=_DummyOrdering(), **kw)
Exemplo n.º 19
0
    def _callFUT(self, root=None, filename=None, force_reindex=False):
        from karl.scripts.peopleconf import load_peopleconf

        args = []

        def _func(root, tree, force_reindex):
            args.append((root, tree, force_reindex))

        if root is None:
            from pyramid.testing import DummyModel
            root = DummyModel()

        if filename is None:
            filename = self.xml_filename

        load_peopleconf(root,
                        filename,
                        peopleconf_func=_func,
                        force_reindex=force_reindex)

        self.assertEqual(len(args), 1)
        return args[0]
Exemplo n.º 20
0
    def test_handle_no_email_attachments(self):
        from pyramid.testing import DummyModel
        from karl.models.interfaces import IComment
        import datetime
        self._registerFactory(IComment, DummyModel)
        self._registerContextURL()
        self._registerSettings()
        alerts = self._registerAlerts()
        workflow = self._registerSecurityWorkflow()
        context = _makeBlogEntryClass()('foo', 'foo', 'foo', 'foo')
        root = makeRoot()
        root['entry'] = context
        context.__parent__ = root
        comments = context['comments'] = DummyModel()
        comments.next_id = '1'
        adapter = self._makeOne(context)
        message = object()  # ignored
        info = {
            'subject': 'SUBJECT',
            'author': 'phreddy',
            'date': datetime.datetime(2010, 5, 12, 2, 42)
        }

        adapter.handle(message, info, 'TEXT', [])

        self.assertEqual(len(comments), 1)
        comment_id, comment = comments.items()[0]
        self.assertEqual(comment_id, '1')
        self.assertEqual(comment.title, 'SUBJECT')
        self.assertEqual(comment.creator, 'phreddy')
        self.assertEqual(comment.text, 'TEXT')
        self.assertEqual(comment.description, 'TEXT')
        self.assertEqual(comment.created,
                         datetime.datetime(2010, 5, 12, 2, 42))
        self.failIf('attachments' in comment)

        self.assertEqual(len(alerts.emissions), 1)
        self.failUnless(workflow.initialized)
Exemplo n.º 21
0
    def _callFUT(self, root=None, filename=None, force_reindex=False):
        from karl.scripts.peopleconf import load

        args = []

        def _func(root, tree, force_reindex):
            args.append((root, tree, force_reindex))

        if root is None:
            from pyramid.testing import DummyModel
            root = DummyModel()

        if filename is None:
            filename = self.xml_filename

        argv = [None]
        if force_reindex:
            argv.append('--force-reindex')
        argv.append(filename)
        load(argv, peopleconf=_func, root=root)

        self.assertEqual(len(args), 1)
        return args[0]
Exemplo n.º 22
0
 def factory(title, description, creator):
     rm = DummyModel(title=title, description=description,
                     creator=creator)
     return rm
Exemplo n.º 23
0
 def __getitem__(self, item):
     dummy = DummyModel()
     dummy.__name__ = item
     return dummy
Exemplo n.º 24
0
 def __init__(self, *message_ids):
     DummyModel.__init__(self)
     monitor = DummyModel()
     monitor['quarantine'] = self
     self.message_ids = message_ids
Exemplo n.º 25
0
 def __init__(self, **kw):
     DummyModel.__init__(self)
     for k,v in kw.items():
         self[k] = DummyMessage(v)
Exemplo n.º 26
0
 def test___call___no_settings(self):
     from pyramid.testing import DummyModel
     context = DummyModel()
     url = self._makeOne(context)
     self.assertRaises(ValueError, url)
Exemplo n.º 27
0
 def _makeContext(self, **kw):
     from pyramid.testing import DummyModel
     return DummyModel(**kw)
Exemplo n.º 28
0
 def __init__(self):
     DummyModel.__init__(self)
     root = DummyRoot()
     root["communities"]["community"] = self
Exemplo n.º 29
0
 def _makeOne(self, model=None):
     from pyramid.testing import DummyModel
     if model is None:
         model = DummyModel()
     return self._getTargetClass()(model, None)
Exemplo n.º 30
0
 def test_instance_conforms_to_IMailinHandler(self):
     from zope.interface.verify import verifyObject
     from pyramid.testing import DummyModel
     from karl.adapters.interfaces import IMailinHandler
     verifyObject(IMailinHandler, self._makeOne(DummyModel()))
Exemplo n.º 31
0
 def test_w_UTF8_attrs(self):
     from pyramid.testing import DummyModel
     FIRSTNAME = u'Phr\xE9d'
     profile = DummyModel(title='title', firstname=FIRSTNAME.encode('UTF8'))
     callable = self._callFUT(profile)
     self.assertEqual(callable(), ('title', FIRSTNAME))
Exemplo n.º 32
0
    def test_it(self):
        from zope.interface import Interface
        from zope.interface import alsoProvides
        from pyramid.testing import DummyModel
        from pyramid.testing import DummyRequest
        from karl.models.interfaces import ICommunity
        from karl.models.interfaces import ISite
        from karl.models.interfaces import IIntranet
        from karl.models.interfaces import IIntranets
        from karl.views.interfaces import IIntranetPortlet
        from karl.testing import registerAdapter
        from karl.testing import registerDummyRenderer
        ANY = (Interface, Interface)
        WELL = u'<h1>WELL</h1>'
        BODY = u'<h1>BODY</h1>'
        FEATURE = u'<p>FEATURE</p>'
        root = DummyModel()
        alsoProvides(root, ISite)
        offices = root['offices'] = DummyModel()
        alsoProvides(offices, IIntranets)
        offices.feature = FEATURE
        context = offices['nice'] = DummyModel(title='nice office')
        context['foo'] = DummyModel()
        context['bar'] = DummyModel()
        context['spam'] = DummyModel()
        alsoProvides(context, ICommunity)
        alsoProvides(context, IIntranet)
        context.middle_portlets = ['foo', 'bar|baz']
        context.right_portlets = ['spam|qux']
        request = DummyRequest()

        class _Portlet(object):
            def __init__(self, text):
                self._text = text
            @property
            def asHTML(self):
                return self._text

        _nameless_contexts = []
        NAMELESS = '<p>NAMELESS</p>'
        def _nameless(context, req):
            assert req is request
            _nameless_contexts.append(context)
            return _Portlet(NAMELESS)
        registerAdapter(_nameless, ANY, IIntranetPortlet)

        _baz_contexts = []
        BAZ = '<p>BAZ</p>'
        def _baz(context, req):
            assert req is request
            _baz_contexts.append(context)
            return _Portlet(BAZ)
        registerAdapter(_baz, ANY, IIntranetPortlet, name='baz')

        _qux_contexts = []
        QUX = '<p>QUX</p>'
        def _qux(context, req):
            assert req is request
            _qux_contexts.append(context)
            return _Portlet(QUX)
        registerAdapter(_qux, ANY, IIntranetPortlet, name='qux')

        _ihb_data = []
        def _IHB(data, _):
            _ihb_data.append(data)
            return WELL
        registerDummyRenderer(
            'karl.views:templates/intranethome_body.pt', _IHB)

        _ihp_data = []
        def _IHP(data, _):
            _ihp_data.append(data)
            return BODY
        registerDummyRenderer(
            'karl.views:templates/intranet_homepage.pt', _IHP)

        response = self._callFUT(context, request)
        self.assertEqual(response.body, BODY)
        self.assertEqual(len(_ihp_data), 1)
        self.assertEqual(_ihp_data[0]['body'], WELL)
        self.assertEqual(len(_ihb_data), 1)
        self.assertTrue(_ihb_data[0]['current_intranet'] is context)
        self.assertEqual(_ihb_data[0]['feature'], FEATURE)
        self.assertEqual(_ihb_data[0]['middle_portlet_html'], NAMELESS + BAZ)
        self.assertEqual(_ihb_data[0]['right_portlet_html'], QUX)
Exemplo n.º 33
0
 def test_short_address_not_overridden_uses_parent_name(self):
     from pyramid.testing import DummyModel
     parent = DummyModel(__name__='testing')
     mlist = self._makeOne()
     mlist.__parent__ = parent
     self.assertEqual(mlist.short_address, 'testing')
Exemplo n.º 34
0
 def __init__(self, *message_ids):
     DummyModel.__init__(self)
     monitor = DummyModel()
     monitor['quarantine'] = self
     self.message_ids = message_ids
Exemplo n.º 35
0
 def __init__(self, message):
     DummyModel.__init__(self)
     self.message = message
Exemplo n.º 36
0
 def __init__(self, *args, **kw):
     DummyModel.__init__(self)
     for item in kw.items():
         setattr(self, item[0], item[1])
     self._alert_prefs = {}
     self._pending_alerts = DummyAccumulator()
Exemplo n.º 37
0
 def __init__(self, **kw):
     DummyModel.__init__(self)
     for k, v in kw.items():
         self[k] = DummyMessage(v)
Exemplo n.º 38
0
    def test_it(self):
        from datetime import datetime
        from datetime import timedelta
        from pyramid.testing import DummyModel
        request = testing.DummyRequest()

        site = testing.DummyModel()
        communities = site["communities"] = testing.DummyModel()
        community1 = communities["community1"] = testing.DummyModel()
        community1.title = "Test Community 1"
        community1.last_activity_date = datetime.now()

        community2 = communities["community2"] = testing.DummyModel()
        community2.title = "Test Community 2"
        community2.last_activity_date = datetime.now() - timedelta(2)

        community3 = communities["community3"] = testing.DummyModel()
        community3.title = "Test Community 3"
        community3.last_activity_date = datetime.now() - timedelta(1)

        request.context = context = site
        site["profiles"] = profiles = DummyModel()
        profiles["userid"] = DummyProfile()

        item1 = DummyModel()
        item1.__name__ = 'doc1'
        item1.title = 'Doc 1'
        item1.modified = datetime.now()

        item2 = DummyModel()
        item2.__name__ = 'doc2'
        item2.title = 'Doc 2'
        item2.modified = datetime.now() - timedelta(1)

        registerCatalogSearch(results={'modified_by=userid': [item1, item2]})

        response = self._callFUT(context, request)
        data = response['data']
        communities = data['panels'][0]['communities']
        recent = data['panels'][1]['contexts']
        self.assertEqual(data['profile_name'], 'firstname lastname')
        self.assertEqual(data['profile_url'],
                         'http://example.com/profiles/userid/')
        self.assertEqual(data['icon_url'],
                         'http://example.com/static/images/defaultUser.gif')
        self.assertEqual(data['logout_url'], 'http://example.com/logout.html')
        self.assertEqual(data['department'], '4a')
        self.assertEqual(data['position'], 'halfback')
        self.assertEqual(data['email'], '*****@*****.**')
        self.assertEqual(data['extension'], '911')
        self.assertEqual(data['phone'], '555-55555')
        self.assertEqual(len(communities), 3)
        self.assertEqual(len(recent), 2)
        self.assertEqual(communities[0]['title'], 'Test Community 1')
        self.assertEqual(communities[1]['title'], 'Test Community 3')
        self.assertEqual(communities[2]['title'], 'Test Community 2')
        self.assertEqual(recent[0]['title'], 'Doc 1')
        self.assertEqual(recent[1]['title'], 'Doc 2')
Exemplo n.º 39
0
 def __init__(self, message):
     DummyModel.__init__(self)
     self.message = message
Exemplo n.º 40
0
 def __init__(self, *args, **kw):
     DummyModel.__init__(self)
     for item in kw.items():
         setattr(self, item[0], item[1])
     self._alert_prefs = {}
     self._pending_alerts = DummyAccumulator()
Exemplo n.º 41
0
 def test_getProfileByEmail_mixedcase(self):
     from pyramid.testing import DummyModel
     pf = self._makeOne()
     profile = pf['extant'] = DummyModel()
     pf.email_to_name['*****@*****.**'] = 'extant'
     self.failUnless(pf.getProfileByEmail('*****@*****.**') is profile)
Exemplo n.º 42
0
 def __init__(self):
     DummyModel.__init__(self)
     root = DummyRoot()
     root["communities"]["community"] = self
Exemplo n.º 43
0
 def test_no_attrs(self):
     from pyramid.testing import DummyModel
     callable = self._callFUT(DummyModel(title='title'))
     self.assertEqual(callable(), ('title', ''))