def test_tags(self): from karl.testing import DummyUsers self._registerTagbox() self._registerCatalogSearch() testing.registerDummySecurityPolicy('eddie') TAGS = {'beaver': 1, 'wally': 3} context = DummyProfile() context.title = "Eddie" context.__name__ = "eddie" users = context.users = DummyUsers() users.add("eddie", "eddie", "password", []) tags = context.tags = testing.DummyModel() def _getTags(items=None, users=None, community=None): assert items is None assert list(users) == ['eddie'] assert community is None return TAGS.keys() tags.getTags = _getTags def _getFrequency(tags=None, community=None, user=None): assert community is None assert tags is not None assert user == 'eddie' return TAGS.items() tags.getFrequency = _getFrequency request = testing.DummyRequest() renderer = testing.registerDummyRenderer('templates/profile.pt') response = self._callFUT(context, request) self.assertEqual(len(renderer.tags), 2) self.failUnless(renderer.tags[0], {'name': 'wally', 'count': 3}) self.failUnless(renderer.tags[1], {'name': 'beaver', 'count': 1})
def test_with_content(self): search_args = {} def searcher(context): def search(**args): search_args.update(args) doc1 = testing.DummyModel(title='doc1') doc2 = testing.DummyModel(title='doc2') docids = [doc1, None, doc2] return len(docids), docids, lambda docid: docid return search from karl.models.interfaces import ICatalogSearch from repoze.bfg.testing import registerAdapter from zope.interface import Interface registerAdapter(searcher, (Interface), ICatalogSearch) from karl.models.interfaces import IGridEntryInfo testing.registerAdapter(DummyGridEntryAdapter, (Interface, Interface), IGridEntryInfo) context = DummyProfile() context.title = 'Z' request = testing.DummyRequest() renderer = testing.registerDummyRenderer( 'templates/profile_recent_content.pt') self._callFUT(context, request) self.assert_(renderer.api is not None) self.assertEquals(len(renderer.recent_items), 2) self.assertEquals(renderer.recent_items[0].context.title, 'doc1') self.assertEquals(renderer.recent_items[1].context.title, 'doc2') self.assertFalse(renderer.batch_info['batching_required'])
def test_noconfirm(self): context = DummyProfile(firstname='Mori', lastname='Turi') context.title = 'Context' request = testing.DummyRequest() renderer = testing.registerDummyRenderer( 'templates/delete_profile.pt') response = self._callFUT(context, request) self.assertEqual(response.status, '200 OK')
def setUp(self): cleanUp() sessions = DummySessions() context = DummyProfile(sessions=sessions) context.title = 'title' self.context = context request = testing.DummyRequest() request.environ['repoze.browserid'] = '1' self.request = request
def setUp(self): cleanUp() self.sessions = sessions = DummySessions() context = DummyProfile(sessions=sessions) context.title = 'title' self.context = context request = testing.DummyRequest() request.environ['repoze.browserid'] = '1' self.request = request # this initializes the available groups karltesting.registerSettings()
def test_without_content(self): context = DummyProfile() context.title = 'Z' request = testing.DummyRequest() renderer = testing.registerDummyRenderer( 'templates/profile_recent_content.pt') from karl.testing import registerCatalogSearch registerCatalogSearch() self._callFUT(context, request) self.assert_(renderer.api is not None) self.assertEquals(len(renderer.recent_items), 0) self.assertFalse(renderer.batch_info['batching_required'])
def test_tags_capped_at_ten(self): from karl.testing import DummyUsers self._registerTagbox() self._registerCatalogSearch() testing.registerDummySecurityPolicy('eddie') TAGS = {'alpha': 1, 'bravo': 2, 'charlie': 3, 'delta': 4, 'echo': 5, 'foxtrot': 6, 'golf': 7, 'hotel': 8, 'india': 9, 'juliet': 10, 'kilo': 11, } context = DummyProfile() context.title = "Eddie" context.__name__ = "eddie" users = context.users = DummyUsers() users.add("eddie", "eddie", "password", []) tags = context.tags = testing.DummyModel() def _getTags(items=None, users=None, community=None): assert items is None assert list(users) == ['eddie'] assert community is None return TAGS.keys() tags.getTags = _getTags def _getFrequency(tags=None, community=None, user=None): assert community is None assert tags is not None assert user == 'eddie' return TAGS.items() tags.getFrequency = _getFrequency request = testing.DummyRequest() renderer = testing.registerDummyRenderer('templates/profile.pt') response = self._callFUT(context, request) self.assertEqual(len(renderer.tags), 10) self.failUnless(renderer.tags[0], {'name': 'kilo', 'count': 11}) self.failUnless(renderer.tags[1], {'name': 'juliet', 'count': 10}) self.failUnless(renderer.tags[9], {'name': 'bravo', 'count': 2})
def test_success(self): from karl.testing import DummyUsers context = DummyProfile() context.__name__ = 'me' parent = testing.DummyModel() parent.__name__ = '' parent.__parent__ = None context.__parent__ = parent context.title = 'Me' context.email = '*****@*****.**' parent.users = DummyUsers() parent.users.add('me', 'me', self._old_password(), []) request = testing.DummyRequest({ 'form.submitted': 1, 'old_password': '******', 'password': '******', 'password_confirm': 'newnewnew', }) renderer = testing.registerDummyRenderer( 'templates/change_password.pt') from repoze.sendmail.interfaces import IMailDelivery from karl.testing import DummyMailer mailer = DummyMailer() testing.registerUtility(mailer, IMailDelivery) response = self._callFUT(context, request) from repoze.who.plugins.zodb.users import get_sha_password new_enc = get_sha_password('newnewnew') self.assertEqual(parent.users.get_by_id('me')['password'], new_enc) self.assertEqual(response.location, 'http://example.com/me/?status_message=Password%20changed') self.assertEqual(len(mailer), 1) msg = mailer.pop() self.assertEqual(msg.mto, ['*****@*****.**']) self.assertEqual(msg.mfrom, "*****@*****.**")