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
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
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'])
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'])
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)
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')
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))
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)
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
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