def test_avatar_url_request_user(self, db_session): api = self.make() api.request.user = Dummy(email="*****@*****.**") result = api.avatar_url() assert result.startswith( "https://secure.gravatar.com/avatar/" "d3aeefdd7afe103ab70875172135cab7" )
def test_send_set_password_add_query(self): from kotti.message import send_set_password user = Dummy(name=u'joe', email='*****@*****.**', title=u'Joe') send_set_password(user, DummyRequest(), add_query={'another': 'param'}) assert self.mailer.send.called message = self.mailer.send.call_args[0][0] assert 'another=param' in message.body
def test_send_set_password_other_template(self): from kotti.message import send_set_password user = Dummy(name=u'joe', email='*****@*****.**', title=u'Joe') send_set_password(user, DummyRequest(), templates='reset-password') assert self.mailer.send.called message = self.mailer.send.call_args[0][0] assert 'Reset your password' in message.subject
def test_workflow_callback(self): from kotti.workflow import workflow_callback context = Dummy(__acl__=[]) info = Dummy() info.transition = {"to_state": "next_state"} info.workflow = Dummy() info.workflow.initial_state = "bar" info.workflow._state_data = { "next_state": {"role:me": "myfirstpermission mysecondpermission", "role:you": " \t yourpermission "} } workflow_callback(context, info) assert sorted(context.__acl__) == [ ("Allow", "role:me", "myfirstpermission"), ("Allow", "role:me", "mysecondpermission"), ("Allow", "role:you", "yourpermission"), ("Deny", "system.Everyone", ALL_PERMISSIONS), ]
def test_email_set_password_other_template(self, db_session): from kotti.message import email_set_password user = Dummy(name=u'joe', email='*****@*****.**', title=u'Joe') email_set_password( user, DummyRequest(), template_name='kotti:templates/email-reset-password.pt') assert self.mailer.send.called message = self.mailer.send.call_args[0][0] assert message.subject.startswith('Reset your password')
def test_workflow_callback_with_inheritance(self): from kotti.workflow import workflow_callback context = Dummy(__acl__=[]) info = Dummy() info.transition = {"to_state": "next_state"} info.workflow = Dummy() info.workflow.initial_state = 'bar' info.workflow._state_data = { "next_state": { "role:me": "myfirstpermission mysecondpermission", "role:you": " \t yourpermission ", "inherit": "true", }, } workflow_callback(context, info) self.assertEqual(sorted(context.__acl__), [ ('Allow', 'role:me', 'myfirstpermission'), ('Allow', 'role:me', 'mysecondpermission'), ('Allow', 'role:you', 'yourpermission'), ])
def test_workflow_callback(self): from kotti.workflow import workflow_callback context = Dummy(__acl__=[]) info = Dummy() info.transition = {"to_state": "next_state"} info.workflow = Dummy() info.workflow.initial_state = 'bar' info.workflow._state_data = { "next_state": { "role:me": "myfirstpermission mysecondpermission", "role:you": " \t yourpermission ", }, } workflow_callback(context, info) self.assertEqual(sorted(context.__acl__), [ ('Allow', 'role:me', 'myfirstpermission'), ('Allow', 'role:me', 'mysecondpermission'), ('Allow', 'role:you', 'yourpermission'), ('Deny', 'system.Everyone', ALL_PERMISSIONS), ])
def test_workflow_callback_event(self): from kotti.events import listeners from kotti.events import ObjectEvent from kotti.workflow import workflow_callback from kotti.workflow import WorkflowTransition events = [] listeners[WorkflowTransition].append(lambda event: events.append(event)) context = Dummy() info = Dummy() info.transition = {"to_state": "next_state"} info.workflow = Dummy() info.workflow.initial_state = 'bar' info.workflow._state_data = {"next_state": {}} workflow_callback(context, info) assert len(events) == 1 [event] = events assert event.object is context assert event.info is info assert isinstance(event, ObjectEvent)
def test_workflow_callback_with_inheritance(self): from kotti.workflow import workflow_callback context = Dummy(__acl__=[]) info = Dummy() info.transition = {"to_state": "next_state"} info.workflow = Dummy() info.workflow.initial_state = "bar" info.workflow._state_data = { "next_state": { "role:me": "myfirstpermission mysecondpermission", "role:you": " \t yourpermission ", "inherit": "true", } } workflow_callback(context, info) assert sorted(context.__acl__) == [ ("Allow", "role:me", "myfirstpermission"), ("Allow", "role:me", "mysecondpermission"), ("Allow", "role:you", "yourpermission"), ]
def test_workflow_callback_event(self): from kotti.events import listeners from kotti.events import ObjectEvent from kotti.workflow import workflow_callback from kotti.workflow import WorkflowTransition events = [] my_listener = lambda event: events.append(event) listeners[WorkflowTransition].append(my_listener) context = Dummy() info = Dummy() info.transition = {"to_state": "next_state"} info.workflow = Dummy() info.workflow.initial_state = 'bar' info.workflow._state_data = {"next_state": {}} workflow_callback(context, info) self.assertEqual(len(events), 1) [event] = events self.assertEqual(event.object, context) self.assertEqual(event.info, info) assert isinstance(event, ObjectEvent)
def test_send_set_password_other_template_entirely(self): from kotti.message import send_set_password user = Dummy(name=u'joe', email='*****@*****.**', title=u'Joe') send_set_password(user, DummyRequest(), templates=dict( subject=u"Hey there %(user_title)s", body=u"This is %(site_title)s speaking", )) assert self.mailer.send.called message = self.mailer.send.call_args[0][0] assert message.subject == 'Hey there Joe' assert message.body == 'This is Awesome site speaking'
def test_init(self): from kotti.views.form import BaseFormView view = BaseFormView(Dummy(), DummyRequest(), more="args") assert view.more == "args"
def test_schema_has_fewer_children_than_attrs(self): context = Dummy(first='firstvalue', second='secondvalue') schema = Dummy(children=[Dummy(name='first')]) assert self.call(context, schema) == {'first': 'firstvalue'}
def test_find_name_uses_disambiguate_name(self, disambiguate_name): view = self.make() view.context['bar'] = Dummy() disambiguate_name.return_value = 'othername' assert view.find_name({'title': 'Bar'}) == 'othername' disambiguate_name.assert_called_with('bar')