Ejemplo n.º 1
0
    def _mk_context(self):
        import datetime
        from karl.testing import DummyCommunity
        from karl.testing import DummyModel
        from karl.testing import DummyProfile
        from karl.testing import DummyRoot
        from karl.testing import registerCatalogSearch

        site = DummyRoot()
        site.users = DummyUsers()
        site.tags = DummyTags()
        profiles = site['profiles'] = DummyModel()

        chet = profiles['chet'] = DummyProfile(
            firstname='Chet',
            lastname='Baker',
            created=datetime.datetime(2010, 5, 12, 2, 43),
            location='bathroom',
            department='Crooning',
        )

        chuck = profiles['chuck'] = DummyProfile(
            firstname='Chuck',
            lastname='Mangione',
            created=datetime.datetime(2010, 5, 12, 2, 42),
            location='kitchen',
            department='Blowing',
        )

        chuck = profiles['admin'] = DummyProfile(
            firstname='System',
            lastname='User',
            created=datetime.datetime(2010, 5, 12, 2, 42),
            location='The Machine',
            department='Big Brother',
        )

        communities = site['communities'] = DummyModel()
        dandies = communities['dandies'] = DummyModel()
        dandies.member_names = ['chet', 'chuck']
        dandies.moderator_names = ['chuck']

        loners = communities['loners'] = DummyModel()
        loners.member_names = ['chet']
        loners.moderator_names = ['chet']

        lads = communities['lads'] = DummyModel()
        lads.member_names = ['chet', 'chip', 'charlie']
        lads.moderator_names = ['chet', 'chip']

        return site
Ejemplo n.º 2
0
    def _mk_context(self):
        import datetime
        from karl.testing import DummyCommunity
        from karl.testing import DummyModel
        from karl.testing import DummyProfile
        from karl.testing import DummyRoot
        from karl.testing import registerCatalogSearch

        site = DummyRoot()
        site.users = DummyUsers()
        site.tags = DummyTags()
        profiles = site['profiles'] = DummyModel()

        chet = profiles['chet'] = DummyProfile(
            firstname='Chet',
            lastname='Baker',
            created=datetime.datetime(2010, 5, 12, 2, 43),
            location='bathroom',
            department='Crooning',
        )

        chuck = profiles['chuck'] = DummyProfile(
            firstname='Chuck',
            lastname='Mangione',
            created=datetime.datetime(2010, 5, 12, 2, 42),
            location='kitchen',
            department='Blowing',
        )

        chuck = profiles['admin'] = DummyProfile(
            firstname='System',
            lastname='User',
            created=datetime.datetime(2010, 5, 12, 2, 42),
            location='The Machine',
            department='Big Brother',
        )

        communities = site['communities'] = DummyModel()
        dandies = communities['dandies'] = DummyModel()
        dandies.member_names = ['chet', 'chuck']
        dandies.moderator_names = ['chuck']

        loners = communities['loners'] = DummyModel()
        loners.member_names = ['chet']
        loners.moderator_names = ['chet']

        lads = communities['lads'] = DummyModel()
        lads.member_names = ['chet', 'chip', 'charlie']
        lads.moderator_names = ['chet', 'chip']

        return site
Ejemplo n.º 3
0
    def test_show_locked_page(self):
        from karl.testing import DummyRoot
        site = DummyRoot()
        context = testing.DummyModel(title='title', docid=1)
        site.repo = DummyArchive([])
        site['foo'] = context

        import datetime
        lock_time = datetime.datetime.now() - datetime.timedelta(seconds=1)
        context.lock = {'time': lock_time, 'userid': 'foo'}

        request = testing.DummyRequest()
        response = self._callFUT(context, request)
        self.failUnless(response['lock_info']['is_locked'])
Ejemplo n.º 4
0
    def test_show_locked_page(self):
        from karl.testing import DummyRoot
        site = DummyRoot()
        context = testing.DummyModel(title='title', docid=1)
        site.repo = DummyArchive([])
        site['foo'] = context

        import datetime
        lock_time = datetime.datetime.now() - datetime.timedelta(seconds=1)
        context.lock = {'time': lock_time,
                        'userid': 'foo'}

        request = testing.DummyRequest()
        response = self._callFUT(context, request)
        self.failUnless(response['lock_info']['is_locked'])
Ejemplo n.º 5
0
 def test__call__lock(self):
     from karl.testing import DummyRoot
     self._register()
     site = DummyRoot()
     context = testing.DummyModel()
     context.title = 'title'
     site['foo'] = context
     request = testing.DummyRequest()
     controller = self._makeOne(context, request)
     controller()
     self.failUnless(context.lock)
Ejemplo n.º 6
0
 def test___call__(self):
     from karl.testing import DummyRoot
     self._register()
     site = DummyRoot()
     context = testing.DummyModel()
     context.title = 'title'
     site['foo'] = context
     request = testing.DummyRequest()
     controller = self._makeOne(context, request)
     response = controller()
     self.failUnless('api' in response)
     self.assertEqual(response['api'].page_title, 'Edit title')
Ejemplo n.º 7
0
    def _mk_site(self):
        from karl.models.interfaces import ICommunity
        from karl.testing import DummyCommunity
        from karl.testing import DummyModel
        from karl.testing import DummyRoot
        from zope.interface import directlyProvides

        search_results = {
            'daniela': [],
            'stough': [],
            'fred': [],
        }

        self.site = site = DummyRoot()
        communities = site['communities'] = DummyModel()

        profiles = site['profiles'] = DummyModel()
        profiles['daniela'] = DummyModel()
        profiles['stough'] = DummyModel()
        profiles['fred'] = DummyModel()

        big_endians = communities['big_endians'] = DummyCommunity()
        self.big_endians = big_endians
        directlyProvides(big_endians, ICommunity)

        content = big_endians['wiki1'] = DummyModel()
        content.created = datetime.datetime(2010, 5, 12, 3, 42)
        search_results['daniela'].append(content)

        content = big_endians['wiki2'] = DummyModel()
        content.created = datetime.datetime(1975, 7, 7, 7, 23)
        search_results['fred'].append(content)

        little_endians = communities['little_endians'] = DummyCommunity()
        self.little_endians = little_endians
        directlyProvides(little_endians, ICommunity)

        content = little_endians['blog1'] = DummyModel()
        content.created = datetime.datetime(2010, 5, 12, 3, 43)
        search_results['stough'].append(content)

        content['comment1'] = DummyModel()
        content = content['comment1']
        content.created = datetime.datetime(2010, 5, 12, 3, 44)
        search_results['stough'].append(content)

        content['comment2'] = DummyModel()
        content = content['comment2']
        content.created = datetime.datetime(2010, 5, 12, 3, 45)
        search_results['daniela'].append(content)

        self.registerCatalogSearch(DummySearchAdapterFactory(search_results))
Ejemplo n.º 8
0
 def test__call__lock(self):
     from karl.utilities import lock
     from karl.testing import DummyRoot
     self._register()
     site = DummyRoot()
     context = testing.DummyModel()
     context.title = 'title'
     site['foo'] = context
     request = testing.DummyRequest()
     request.layout_manager = mock.Mock()
     request.layout_manager.layout.head_data = dict(panel_data={})
     controller = self._makeOne(context, request)
     response = controller()
     self.failUnless(context.lock)
Ejemplo n.º 9
0
    def _mk_dummy_site(self):
        import datetime
        from karl.content.interfaces import IBlogEntry
        from karl.content.interfaces import ICalendarEvent
        from karl.content.interfaces import ICommunityFile
        from karl.content.interfaces import IWikiPage
        from karl.models.interfaces import IComment
        from karl.testing import DummyCommunity
        from karl.testing import DummyModel
        from karl.testing import DummyRoot
        from repoze.workflow.testing import registerDummyWorkflow
        from repoze.workflow.testing import DummyWorkflow
        from zope.interface import directlyProvides

        site = DummyRoot()
        site.tags = DummyTags()
        communities = site['communities'] = DummyModel()

        big_endians = communities['big_endians'] = DummyCommunity()
        big_endians.title = 'Big Endians'
        big_endians.member_names = ['fred', 'martin', 'daniela']
        big_endians.moderator_names = ['fred', 'daniela']
        big_endians.created = datetime.datetime(2010, 5, 12, 2, 42)
        big_endians.creator = 'daniela'
        big_endians.content_modified = datetime.datetime(2010, 6, 12, 2, 42)
        big_endians.__custom_acl__ = True

        content = big_endians['wiki1'] = DummyModel()
        content.created = datetime.datetime(2010, 5, 12, 3, 42)
        content.creator = 'daniela'
        directlyProvides(content, IWikiPage)

        content = big_endians['wiki2'] = DummyModel()
        content.created = datetime.datetime(1975, 7, 7, 7, 23)
        content.creator = 'fred'
        directlyProvides(content, IWikiPage)

        little_endians = communities['little_endians'] = DummyCommunity()
        little_endians.title = 'Little Endians'
        little_endians.member_names = ['dusty', 'roberta', 'nina']
        little_endians.moderator_names = ['nina']
        little_endians.created = datetime.datetime(2010, 5, 13, 6, 23)
        little_endians.creator = 'nina'
        little_endians.content_modified = datetime.datetime(
            2010, 6, 12, 3, 42
        )
        little_endians._p_deactivate = lambda: None
        little_endians.state = 'public'

        content = little_endians['blog1'] = DummyModel()
        content.created = datetime.datetime.now()
        content.creator = 'nina'
        directlyProvides(content, IBlogEntry)

        content['comment1'] = DummyModel()
        content = content['comment1']
        content.created = datetime.datetime.now()
        content.creator = 'roberta'
        directlyProvides(content, IComment)

        content = little_endians['file1'] = DummyModel()
        content.created = datetime.datetime.now()
        content.creator = 'dusty'
        directlyProvides(content, ICommunityFile)

        content = little_endians['event1'] = DummyModel()
        content.created = datetime.datetime.now()
        content.creator = 'dusty'
        directlyProvides(content, ICalendarEvent)

        registerDummyWorkflow('security', DummyWorkflow())

        return site
Ejemplo n.º 10
0
    def _mk_dummy_site(self):
        import datetime
        from karl.content.interfaces import IBlogEntry
        from karl.content.interfaces import ICalendarEvent
        from karl.content.interfaces import ICommunityFile
        from karl.content.interfaces import IWikiPage
        from karl.models.interfaces import IComment
        from karl.testing import DummyCommunity
        from karl.testing import DummyModel
        from karl.testing import DummyRoot
        from repoze.workflow.testing import registerDummyWorkflow
        from repoze.workflow.testing import DummyWorkflow
        from zope.interface import directlyProvides

        site = DummyRoot()
        site.tags = DummyTags()
        communities = site['communities'] = DummyModel()

        big_endians = communities['big_endians'] = DummyCommunity()
        big_endians.title = 'Big Endians'
        big_endians.member_names = ['fred', 'martin', 'daniela']
        big_endians.moderator_names = ['fred', 'daniela']
        big_endians.created = datetime.datetime(2010, 5, 12, 2, 42)
        big_endians.creator = 'daniela'
        big_endians.content_modified = datetime.datetime(2010, 6, 12, 2, 42)
        big_endians.__custom_acl__ = True

        content = big_endians['wiki1'] = DummyModel()
        content.created = datetime.datetime(2010, 5, 12, 3, 42)
        content.creator = 'daniela'
        directlyProvides(content, IWikiPage)

        content = big_endians['wiki2'] = DummyModel()
        content.created = datetime.datetime(1975, 7, 7, 7, 23)
        content.creator = 'fred'
        directlyProvides(content, IWikiPage)

        little_endians = communities['little_endians'] = DummyCommunity()
        little_endians.title = 'Little Endians'
        little_endians.member_names = ['dusty', 'roberta', 'nina']
        little_endians.moderator_names = ['nina']
        little_endians.created = datetime.datetime(2010, 5, 13, 6, 23)
        little_endians.creator = 'nina'
        little_endians.content_modified = datetime.datetime(2010, 6, 12, 3, 42)
        little_endians._p_deactivate = lambda: None
        little_endians.state = 'public'

        content = little_endians['blog1'] = DummyModel()
        content.created = datetime.datetime.now()
        content.creator = 'nina'
        directlyProvides(content, IBlogEntry)

        content['comment1'] = DummyModel()
        content = content['comment1']
        content.created = datetime.datetime.now()
        content.creator = 'roberta'
        directlyProvides(content, IComment)

        content = little_endians['file1'] = DummyModel()
        content.created = datetime.datetime.now()
        content.creator = 'dusty'
        directlyProvides(content, ICommunityFile)

        content = little_endians['event1'] = DummyModel()
        content.created = datetime.datetime.now()
        content.creator = 'dusty'
        directlyProvides(content, ICalendarEvent)

        registerDummyWorkflow('security', DummyWorkflow())

        return site