def test_proxies_group_lookup_to_service_for_unauth(self, unauthenticated_request): svc = unauthenticated_request.find_service(name='list_groups') session.model(unauthenticated_request) svc.session_groups.assert_called_once_with(authority=unauthenticated_request.authority, user=None)
def test_proxies_group_lookup_to_service(self, authenticated_request): svc = authenticated_request.find_service(name='list_groups') session.model(authenticated_request) svc.session_groups.assert_called_once_with(user=authenticated_request.user, authority=authenticated_request.authority)
def test_proxies_sorting_to_service(self, authenticated_request): authenticated_request.set_groups([ FakeGroup('c', 'Group A'), FakeGroup('b', 'Group B'), FakeGroup('a', 'Group B'), ]) session.model(authenticated_request) authenticated_request._profile_group_service.sort.assert_called_once()
def test_private_group_has_url(self, authenticated_request): authenticated_request.set_groups([FakeGroup('a', 'Group A')]) model = session.model(authenticated_request) private_group = [g for g in model['groups'] if g['id'] == 'a'][0] assert private_group['url']
def test_private_group_is_not_public(self, authenticated_request): authenticated_request.set_groups([FakeGroup('a', 'Group A')]) model = session.model(authenticated_request) private_group = [g for g in model['groups'] if g['id'] == 'a'][0] assert private_group['public'] is False
def _publish(request, event_type, groupid, userid): request.realtime.publish_user({ "type": event_type, "session_model": session.model(request), "userid": userid, "group": groupid, })
def test_model_show_sidebar_tutorial( fake_user, feature_enabled, user_authenticated, tutorial_dismissed, show_tutorial): """It should return or not return "show_sidebar_tutorial" correctly. It should return "show_sidebar_tutorial": True only if the sidebar_tutorial feature flag is on, a user is authorized _and_ that user has not dismissed the tutorial. Otherwise, preferences should contain no "show_sidebar_tutorial" value at all. """ fake_user.sidebar_tutorial_dismissed = tutorial_dismissed if user_authenticated: authenticated_user = fake_user else: authenticated_user = None request = mock.Mock( authenticated_user=authenticated_user, feature=mock.Mock(return_value=feature_enabled)) preferences = session.model(request)['preferences'] if show_tutorial: assert preferences['show_sidebar_tutorial'] is True else: assert 'show_sidebar_tutorial' not in preferences
def test_model_show_sidebar_tutorial( fake_user, user_authenticated, tutorial_dismissed, show_tutorial): """It should return or not return "show_sidebar_tutorial" correctly. It should return "show_sidebar_tutorial": True only if a user is authorized _and_ that user has not dismissed the tutorial. Otherwise, preferences should contain no "show_sidebar_tutorial" value at all. """ fake_user.sidebar_tutorial_dismissed = tutorial_dismissed if user_authenticated: authenticated_user = fake_user else: authenticated_user = None request = mock.Mock( authenticated_user=authenticated_user, ) preferences = session.model(request)['preferences'] if show_tutorial: assert preferences['show_sidebar_tutorial'] is True else: assert 'show_sidebar_tutorial' not in preferences
def _publish(request, event_type, groupid, userid): request.realtime.publish_user({ 'type': event_type, 'session_model': session.model(request), 'userid': userid, 'group': groupid, })
def test_open_group_has_no_url(self, unauthenticated_request, world_group): svc = unauthenticated_request.find_service(name='list_groups') svc.session_groups.return_value = [world_group] model = session.model(unauthenticated_request) assert not model['groups'][0].get('url')
def test_open_group_is_public(self, unauthenticated_request, world_group): svc = unauthenticated_request.find_service(name='list_groups') svc.session_groups.return_value = [world_group] model = session.model(unauthenticated_request) assert model['groups'][0]['public']
def ajax_payload(request, data): payload = { 'flash': session.pop_flash(request), 'model': session.model(request) } payload.update(data) return payload
def ajax_payload(request, data): payload = { "flash": session.pop_flash(request), "model": session.model(request) } payload.update(data) return payload
def bad_csrf_token(context, request): request.response.status_code = 403 reason = _('Session is invalid. Please try again.') return { 'status': 'failure', 'reason': reason, 'model': session.model(request), }
def test_includes_features(self, authenticated_request): feature_dict = { 'feature_one': True, 'feature_two': False, } authenticated_request.set_features(feature_dict) assert session.model(authenticated_request)['features'] == feature_dict
def bad_csrf_token_json(context, request): request.response.status_code = 403 reason = _("Session is invalid. Please try again.") return { "status": "failure", "reason": reason, "model": session.model(request) }
def test_includes_features(features, fake_user): feature_dict = { 'feature_one': True, 'feature_two': False, } features.all = Mock(return_value=feature_dict) request = Mock(authenticated_user=fake_user) assert model(request)['features'] == feature_dict
def test_private_group_has_url(self, authenticated_request, factories): a_group = factories.Group() svc = authenticated_request.find_service(name='list_groups') svc.session_groups.return_value = [a_group] model = session.model(authenticated_request) assert model['groups'][0]['url']
def test_private_group_is_not_public(self, authenticated_request, factories): a_group = factories.Group() svc = authenticated_request.find_service(name="group_list") svc.session_groups.return_value = [a_group] model = session.model(authenticated_request) assert not model["groups"][0]["public"]
def wrapper(context, request): request.add_response_callback(session.set_csrf_token) if request.method == 'POST': data = request.json_body data.update(request.params) request.content_type = 'application/x-www-form-urlencoded' request.POST.clear() request.POST.update(data) inst = view(request) meth = getattr(inst, self.attr) result = meth() result = ajax_form(request, result) if 'model' in result: result['model'].update(session.model(request)) else: result['model'] = session.model(request) result.pop('form', None) return result
def test_private_group_is_not_public(self, authenticated_request, factories): a_group = factories.Group() svc = authenticated_request.find_service(name='list_groups') svc.all_groups.return_value = [a_group] model = session.model(authenticated_request) assert not model['groups'][0]['public']
def test_model_includes_features(fake_user): feature_dict = { 'feature_one': True, 'feature_two': False, } request = mock.Mock(authenticated_user=fake_user) request.feature.all.return_value = feature_dict assert session.model(request)['features'] == feature_dict
def test_authenticated_sidebar_tutorial(self, authenticated_request, dismissed): authenticated_request.set_sidebar_tutorial_dismissed(dismissed) preferences = session.model(authenticated_request)['preferences'] if dismissed: assert 'show_sidebar_tutorial' not in preferences else: assert preferences['show_sidebar_tutorial'] is True
def _publish(request, event_type, groupid, userid): request.realtime.publish_user( { "type": event_type, "session_model": session.model(request), "userid": userid, "group": groupid, } )
def test_sorts_groups(self, authenticated_request): authenticated_request.set_groups([ FakeGroup('c', 'Group A'), FakeGroup('b', 'Group B'), FakeGroup('a', 'Group B'), ]) session_model = session.model(authenticated_request) ids = [group['id'] for group in session_model['groups']] assert ids == ['__world__', 'c', 'a', 'b']
def test_sorts_groups(User): fake_user = Mock() fake_user.groups = [ FakeGroup('c', 'Group A'), FakeGroup('b', 'Group B'), FakeGroup('a', 'Group B'), ] request = Mock(authenticated_user=fake_user) session_model = model(request) ids = [group['id'] for group in session_model['groups']] assert ids == ['__world__', 'c', 'a', 'b']
def wrapper(context, request): if request.method == 'POST': data = request.json_body data.update(request.params) request.content_type = 'application/x-www-form-urlencoded' request.POST.clear() request.POST.update(data) inst = view(request) meth = getattr(inst, self.attr) result = meth() result = ajax_form(request, result) model = result.setdefault('model', {}) model.update(session.model(request)) result.pop('form', None) return result
def wrapper(context, request): if request.method == 'POST': data = request.json_body data.update(request.params) request.content_type = 'application/x-www-form-urlencoded' request.POST.clear() request.POST.update(data) inst = view(request) meth = getattr(inst, self.attr) result = meth() if isinstance(result, httpexceptions.HTTPRedirection): result.location = request.path_url return result result = ajax_form(request, result) model = result.setdefault('model', {}) model.update(session.model(request)) return result
def test_world_group_has_no_url(self, authenticated_request): model = session.model(authenticated_request) world_group = [g for g in model['groups'] if g['id'] == '__world__'][0] assert 'url' not in world_group
def test_anonymous_hides_sidebar_tutorial(self, unauthenticated_request): preferences = session.model(unauthenticated_request)['preferences'] assert 'show_sidebar_tutorial' not in preferences
def test_world_group_is_public(self, authenticated_request): model = session.model(authenticated_request) world_group = [g for g in model['groups'] if g['id'] == '__world__'][0] assert world_group['public'] is True
def session_view(request): flash = session.pop_flash(request) model = session.model(request) return dict(status='okay', flash=flash, model=model)
def session_view(request): request.add_response_callback(session.set_csrf_token) flash = session.pop_flash(request) model = session.model(request) return dict(status='okay', flash=flash, model=model)
def bad_csrf_token(context, request): request.response.status_code = 403 reason = _("Session is invalid. Please try again.") return {"status": "failure", "reason": reason, "model": session.model(request)}
def ajax_payload(request, data): payload = {"flash": session.pop_flash(request), "model": session.model(request)} payload.update(data) return payload
def test_includes_features(self, authenticated_request): feature_dict = {"feature_one": True, "feature_two": False} authenticated_request.set_features(feature_dict) assert session.model(authenticated_request)["features"] == feature_dict
def ajax_payload(request, data): payload = {'flash': session.pop_flash(request), 'model': session.model(request)} payload.update(data) return payload