Ejemplo n.º 1
0
    def test_proxies_group_lookup_to_service_for_unauth(self, unauthenticated_request):
        svc = unauthenticated_request.find_service(name='list_groups')

        session.profile(unauthenticated_request)

        svc.session_groups.assert_called_once_with(authority=unauthenticated_request.authority,
                                                   user=None)
Ejemplo n.º 2
0
    def test_proxies_group_lookup_to_service_for_unauth(self, unauthenticated_request):
        svc = unauthenticated_request.find_service(name='list_groups')

        session.profile(unauthenticated_request)

        svc.session_groups.assert_called_once_with(authority=unauthenticated_request.authority,
                                                   user=None)
Ejemplo n.º 3
0
    def test_proxies_group_lookup_to_service(self, authenticated_request):
        svc = authenticated_request.find_service(name='list_groups')

        session.profile(authenticated_request)

        svc.session_groups.assert_called_once_with(user=authenticated_request.user,
                                                   authority=authenticated_request.authority)
Ejemplo n.º 4
0
    def test_proxies_group_lookup_to_service(self, authenticated_request):
        svc = authenticated_request.find_service(name='list_groups')

        session.profile(authenticated_request)

        svc.session_groups.assert_called_once_with(user=authenticated_request.user,
                                                   authority=authenticated_request.authority)
Ejemplo n.º 5
0
    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.profile(authenticated_request)

        authenticated_request._profile_group_service.sort.assert_called_once()
Ejemplo n.º 6
0
    def test_private_group_has_url(self, authenticated_request):
        authenticated_request.set_groups([FakeGroup('a', 'Group A')])

        profile = session.profile(authenticated_request)
        private_group = [g for g in profile['groups'] if g['id'] == 'a'][0]

        assert private_group['url']
Ejemplo n.º 7
0
    def test_private_group_is_not_public(self, authenticated_request):
        authenticated_request.set_groups([FakeGroup('a', 'Group A')])

        profile = session.profile(authenticated_request)
        private_group = [g for g in profile['groups'] if g['id'] == 'a'][0]

        assert private_group['public'] is False
Ejemplo n.º 8
0
def test_publisher_group_is_public_in_profile(third_party_request,
                                              publisher_group):
    profile = session.profile(third_party_request)
    group = [g for g in profile['groups']
             if g['id'] == publisher_group.pubid][0]

    assert group['public'] is True
Ejemplo n.º 9
0
    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]

        profile = session.profile(unauthenticated_request)

        assert not profile['groups'][0].get('url')
Ejemplo n.º 10
0
    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]

        profile = session.profile(unauthenticated_request)

        assert profile['groups'][0]['public']
Ejemplo n.º 11
0
    def test_private_group_has_url(self, authenticated_request):
        authenticated_request.set_groups([FakeGroup('a', 'Group A')])

        profile = session.profile(authenticated_request)
        private_group = [g for g in profile['groups'] if g['id'] == 'a'][0]

        assert private_group['url']
Ejemplo n.º 12
0
    def test_private_group_is_not_public(self, authenticated_request):
        authenticated_request.set_groups([FakeGroup('a', 'Group A')])

        profile = session.profile(authenticated_request)
        private_group = [g for g in profile['groups'] if g['id'] == 'a'][0]

        assert private_group['public'] is False
Ejemplo n.º 13
0
    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]

        profile = session.profile(unauthenticated_request)

        assert not profile['groups'][0].get('url')
Ejemplo n.º 14
0
    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]

        profile = session.profile(unauthenticated_request)

        assert profile['groups'][0]['public']
Ejemplo n.º 15
0
def test_publisher_group_has_no_url_in_profile(third_party_request,
                                               publisher_group):
    profile = session.profile(third_party_request)
    group = [g for g in profile['groups']
             if g['id'] == publisher_group.pubid][0]

    assert 'url' not in group
Ejemplo n.º 16
0
    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]

        profile = session.profile(authenticated_request)

        assert profile['groups'][0]['url']
Ejemplo n.º 17
0
    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]

        profile = session.profile(authenticated_request)

        assert not profile["groups"][0]["public"]
Ejemplo n.º 18
0
    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]

        profile = session.profile(authenticated_request)

        assert profile['groups'][0]['url']
Ejemplo n.º 19
0
    def test_includes_features(self, authenticated_request):
        feature_dict = {
            'feature_one': True,
            'feature_two': False,
        }
        authenticated_request.set_features(feature_dict)

        assert session.profile(authenticated_request)['features'] == feature_dict
Ejemplo n.º 20
0
    def test_includes_features(self, authenticated_request):
        feature_dict = {
            'feature_one': True,
            'feature_two': False,
        }
        authenticated_request.set_features(feature_dict)

        assert session.profile(authenticated_request)['features'] == feature_dict
Ejemplo n.º 21
0
    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]

        profile = session.profile(authenticated_request)

        assert not profile['groups'][0]['public']
Ejemplo n.º 22
0
    def test_authenticated_sidebar_tutorial(self, authenticated_request, dismissed):
        authenticated_request.set_sidebar_tutorial_dismissed(dismissed)

        preferences = session.profile(authenticated_request)['preferences']

        if dismissed:
            assert 'show_sidebar_tutorial' not in preferences
        else:
            assert preferences['show_sidebar_tutorial'] is True
Ejemplo n.º 23
0
    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]

        profile = session.profile(authenticated_request)

        assert not profile["groups"][0]["public"]
Ejemplo n.º 24
0
    def test_authenticated_sidebar_tutorial(self, authenticated_request, dismissed):
        authenticated_request.set_sidebar_tutorial_dismissed(dismissed)

        preferences = session.profile(authenticated_request)['preferences']

        if dismissed:
            assert 'show_sidebar_tutorial' not in preferences
        else:
            assert preferences['show_sidebar_tutorial'] is True
Ejemplo n.º 25
0
def test_profile_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.profile(request)['features'] == feature_dict
Ejemplo n.º 26
0
def update_preferences(request):
    preferences = request.json_body.get('preferences', {})

    svc = request.find_service(name='user')
    try:
        svc.update_preferences(request.user, **preferences)
    except TypeError as e:
        raise APIError(str(e), status_code=400)

    return h_session.profile(request)
Ejemplo n.º 27
0
def update_preferences(request):
    preferences = request.json_body.get('preferences', {})

    svc = request.find_service(name='user')
    try:
        svc.update_preferences(request.user, **preferences)
    except TypeError as e:
        raise APIError(e.message, status_code=400)

    return h_session.profile(request)
Ejemplo n.º 28
0
    def test_sorts_groups(self, authenticated_request):
        authenticated_request.set_groups([
            FakeGroup('c', 'Group A'),
            FakeGroup('b', 'Group B'),
            FakeGroup('a', 'Group B'),
        ])
        profile = session.profile(authenticated_request)

        ids = [group['id'] for group in profile['groups']]

        assert ids == ['__world__', 'c', 'a', 'b']
Ejemplo n.º 29
0
    def test_sorts_groups(self, authenticated_request):
        authenticated_request.set_groups([
            FakeGroup('c', 'Group A'),
            FakeGroup('b', 'Group B'),
            FakeGroup('a', 'Group B'),
        ])
        profile = session.profile(authenticated_request)

        ids = [group['id'] for group in profile['groups']]

        assert ids == ['__world__', 'c', 'a', 'b']
Ejemplo n.º 30
0
def update_preferences(request):
    preferences = request.json_body.get("preferences", {})

    svc = request.find_service(name="user")
    # TODO: The following exception doesn't match convention for validation
    # used in other endpoints
    try:
        svc.update_preferences(request.user, **preferences)
    except TypeError as e:
        raise APIError(str(e), status_code=400)

    return h_session.profile(request)
Ejemplo n.º 31
0
def update_preferences(request):
    preferences = request.json_body.get("preferences", {})

    svc = request.find_service(name="user")
    # TODO: The following exception doesn't match convention for validation
    # used in other endpoints
    try:
        svc.update_preferences(request.user, **preferences)
    except TypeError as e:
        raise HTTPBadRequest(str(e))

    return h_session.profile(request)
Ejemplo n.º 32
0
def test_profile_sorts_groups():
    fake_user = mock.Mock()
    fake_user.groups = [
        FakeGroup('c', 'Group A'),
        FakeGroup('b', 'Group B'),
        FakeGroup('a', 'Group B'),
    ]
    request = mock.Mock(authenticated_user=fake_user)
    profile = session.profile(request)

    ids = [group['id'] for group in profile['groups']]

    assert ids == ['__world__', 'c', 'a', 'b']
Ejemplo n.º 33
0
def test_profile_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.profile(request)['preferences']

    if show_tutorial:
        assert preferences['show_sidebar_tutorial'] is True
    else:
        assert 'show_sidebar_tutorial' not in preferences
Ejemplo n.º 34
0
 def test_anonymous_authority(self, unauthenticated_request, authority):
     assert session.profile(unauthenticated_request)['authority'] == authority
Ejemplo n.º 35
0
    def test_authority_override(self, unauthenticated_request):
        profile = session.profile(unauthenticated_request, 'foo.com')

        assert profile['authority'] == 'foo.com'
Ejemplo n.º 36
0
 def test_user_info_unauthenticated(self, unauthenticated_request):
     profile = session.profile(unauthenticated_request)
     assert 'user_info' not in profile
Ejemplo n.º 37
0
def profile(request):
    authority = request.params.get('authority')
    return h_session.profile(request, authority)
Ejemplo n.º 38
0
 def test_userid_authenticated(self, authenticated_request):
     profile = session.profile(authenticated_request)
     assert profile['userid'] == u'acct:[email protected]'
Ejemplo n.º 39
0
    def test_authority_override(self, unauthenticated_request):
        unauthenticated_request.set_public_groups({'foo.com': []})

        profile = session.profile(unauthenticated_request, 'foo.com')

        assert profile['authority'] == 'foo.com'
Ejemplo n.º 40
0
    def test_authenticated_ignores_authority_override(self, authenticated_request, authority):
        profile = session.profile(authenticated_request, 'foo.com')

        assert profile['authority'] == authority
Ejemplo n.º 41
0
 def test_userid_unauthenticated(self, unauthenticated_request):
     assert session.profile(unauthenticated_request)['userid'] is None
Ejemplo n.º 42
0
def profile(request):
    authority = request.params.get('authority')
    return h_session.profile(request, authority)
Ejemplo n.º 43
0
 def test_user_info_authenticated(self, authenticated_request, patch):
     profile = session.profile(authenticated_request)
     user_info = profile['user_info']
     assert user_info['display_name'] == authenticated_request.user.display_name
Ejemplo n.º 44
0
 def test_userid_authenticated(self, authenticated_request):
     profile = session.profile(authenticated_request)
     assert profile['userid'] == 'acct:[email protected]'
Ejemplo n.º 45
0
    def test_anonymous_hides_sidebar_tutorial(self, unauthenticated_request):
        preferences = session.profile(unauthenticated_request)['preferences']

        assert 'show_sidebar_tutorial' not in preferences
Ejemplo n.º 46
0
    def test_third_party_ingores_authority_override(self, third_party_request, third_party_domain):
        profile = session.profile(third_party_request, 'foo.com')

        assert profile['authority'] == third_party_domain
Ejemplo n.º 47
0
    def test_publisher_group_has_no_url(self, third_party_request, publisher_group):
        profile = session.profile(third_party_request)
        group = [g for g in profile['groups'] if g['id'] == publisher_group.pubid][0]

        assert 'url' not in group
Ejemplo n.º 48
0
 def test_user_info_unauthenticated(self, unauthenticated_request):
     profile = session.profile(unauthenticated_request)
     assert 'user_info' not in profile
Ejemplo n.º 49
0
 def test_authenticated_authority(self, authenticated_request, authority):
     assert session.profile(authenticated_request)['authority'] == authority
Ejemplo n.º 50
0
 def test_user_info_authenticated_when_flag_off(self, authenticated_request):
     authenticated_request.feature.flags['api_render_user_info'] = False
     profile = session.profile(authenticated_request)
     assert 'user_info' not in profile
Ejemplo n.º 51
0
 def test_third_party_authority(self, third_party_request, third_party_domain):
     assert session.profile(third_party_request)['authority'] == third_party_domain
Ejemplo n.º 52
0
    def test_third_party_ingores_authority_override(self, third_party_request, third_party_domain):
        profile = session.profile(third_party_request, 'foo.com')

        assert profile['authority'] == third_party_domain
Ejemplo n.º 53
0
 def test_user_info_authenticated(self, authenticated_request, patch):
     profile = session.profile(authenticated_request)
     user_info = profile['user_info']
     assert user_info['display_name'] == authenticated_request.user.display_name
Ejemplo n.º 54
0
 def test_third_party_authority(self, third_party_request, third_party_domain):
     assert session.profile(third_party_request)['authority'] == third_party_domain
Ejemplo n.º 55
0
 def test_userid_unauthenticated(self, unauthenticated_request):
     assert session.profile(unauthenticated_request)['userid'] is None
Ejemplo n.º 56
0
    def test_publisher_group_is_public(self, third_party_request, publisher_group):
        profile = session.profile(third_party_request)
        group = [g for g in profile['groups'] if g['id'] == publisher_group.pubid][0]

        assert group['public'] is True
Ejemplo n.º 57
0
    def test_authenticated_ignores_authority_override(self, authenticated_request, authority):
        profile = session.profile(authenticated_request, 'foo.com')

        assert profile['authority'] == authority
Ejemplo n.º 58
0
 def test_authenticated_authority(self, authenticated_request, authority):
     assert session.profile(authenticated_request)['authority'] == authority
Ejemplo n.º 59
0
    def test_authority_override(self, unauthenticated_request):
        unauthenticated_request.set_public_groups({'foo.com': []})

        profile = session.profile(unauthenticated_request, 'foo.com')

        assert profile['authority'] == 'foo.com'
Ejemplo n.º 60
0
    def test_world_group_has_no_url(self, authenticated_request):
        profile = session.profile(authenticated_request)
        world_group = [g for g in profile['groups'] if g['id'] == '__world__'][0]

        assert 'url' not in world_group