Exemple #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)
Exemple #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)
Exemple #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)
Exemple #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)
Exemple #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()
Exemple #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']
Exemple #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
Exemple #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
Exemple #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')
Exemple #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']
Exemple #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']
Exemple #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
Exemple #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')
Exemple #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']
Exemple #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
Exemple #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']
Exemple #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"]
Exemple #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']
Exemple #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
Exemple #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
Exemple #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']
Exemple #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
Exemple #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"]
Exemple #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
Exemple #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
Exemple #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)
Exemple #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)
Exemple #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']
Exemple #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']
Exemple #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)
Exemple #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)
Exemple #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']
Exemple #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
Exemple #34
0
 def test_anonymous_authority(self, unauthenticated_request, authority):
     assert session.profile(unauthenticated_request)['authority'] == authority
Exemple #35
0
    def test_authority_override(self, unauthenticated_request):
        profile = session.profile(unauthenticated_request, 'foo.com')

        assert profile['authority'] == 'foo.com'
Exemple #36
0
 def test_user_info_unauthenticated(self, unauthenticated_request):
     profile = session.profile(unauthenticated_request)
     assert 'user_info' not in profile
Exemple #37
0
def profile(request):
    authority = request.params.get('authority')
    return h_session.profile(request, authority)
Exemple #38
0
 def test_userid_authenticated(self, authenticated_request):
     profile = session.profile(authenticated_request)
     assert profile['userid'] == u'acct:[email protected]'
Exemple #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'
Exemple #40
0
    def test_authenticated_ignores_authority_override(self, authenticated_request, authority):
        profile = session.profile(authenticated_request, 'foo.com')

        assert profile['authority'] == authority
Exemple #41
0
 def test_userid_unauthenticated(self, unauthenticated_request):
     assert session.profile(unauthenticated_request)['userid'] is None
Exemple #42
0
def profile(request):
    authority = request.params.get('authority')
    return h_session.profile(request, authority)
Exemple #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
Exemple #44
0
 def test_userid_authenticated(self, authenticated_request):
     profile = session.profile(authenticated_request)
     assert profile['userid'] == 'acct:[email protected]'
Exemple #45
0
    def test_anonymous_hides_sidebar_tutorial(self, unauthenticated_request):
        preferences = session.profile(unauthenticated_request)['preferences']

        assert 'show_sidebar_tutorial' not in preferences
Exemple #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
Exemple #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
Exemple #48
0
 def test_user_info_unauthenticated(self, unauthenticated_request):
     profile = session.profile(unauthenticated_request)
     assert 'user_info' not in profile
Exemple #49
0
 def test_authenticated_authority(self, authenticated_request, authority):
     assert session.profile(authenticated_request)['authority'] == authority
Exemple #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
Exemple #51
0
 def test_third_party_authority(self, third_party_request, third_party_domain):
     assert session.profile(third_party_request)['authority'] == third_party_domain
Exemple #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
Exemple #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
Exemple #54
0
 def test_third_party_authority(self, third_party_request, third_party_domain):
     assert session.profile(third_party_request)['authority'] == third_party_domain
Exemple #55
0
 def test_userid_unauthenticated(self, unauthenticated_request):
     assert session.profile(unauthenticated_request)['userid'] is None
Exemple #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
Exemple #57
0
    def test_authenticated_ignores_authority_override(self, authenticated_request, authority):
        profile = session.profile(authenticated_request, 'foo.com')

        assert profile['authority'] == authority
Exemple #58
0
 def test_authenticated_authority(self, authenticated_request, authority):
     assert session.profile(authenticated_request)['authority'] == authority
Exemple #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'
Exemple #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