예제 #1
0
def test_get_members(mocker, settings, group_dn, mock_data, expected):
    mocker.patch('flask_multipass.providers.ldap.util.ReconnectLDAPObject')
    mocker.patch(
        'flask_multipass.providers.ldap.providers.build_group_search_filter',
        side_effect=MagicMock(side_effect=mock_data['groups']))
    mocker.patch(
        'flask_multipass.providers.ldap.providers.build_user_search_filter',
        side_effect=MagicMock(side_effect=mock_data['groups']))
    app = Flask('test')
    multipass = Multipass(app)
    with app.app_context():
        idp = LDAPIdentityProvider(multipass, 'LDAP test idp', settings)

    idp._search_groups = MagicMock(
        side_effect=lambda x: mock_data['subgroups'].get(x, []))
    idp._search_users = MagicMock(
        side_effect=lambda x: mock_data['users'].get(x, []))
    group = LDAPGroup(idp, 'LDAP test group', group_dn)

    with pytest.raises(StopIteration):
        members = group.get_members()
        while True:
            member = next(members)
            assert member.provider.name == idp.name
            assert member.identifier == expected.pop(0)
예제 #2
0
def test_get_members(mocker, settings, group_dn, mock_data, expected):
    mocker.patch('flask_multipass.providers.ldap.util.ReconnectLDAPObject')
    mocker.patch('flask_multipass.providers.ldap.providers.build_group_search_filter',
                 side_effect=MagicMock(side_effect=mock_data['groups']))
    mocker.patch('flask_multipass.providers.ldap.providers.build_user_search_filter',
                 side_effect=MagicMock(side_effect=mock_data['groups']))
    app = Flask('test')
    multipass = Multipass(app)
    with app.app_context():
        idp = LDAPIdentityProvider(multipass, 'LDAP test idp', settings)

    idp._search_groups = MagicMock(side_effect=lambda x: mock_data['subgroups'].get(x, []))
    idp._search_users = MagicMock(side_effect=lambda x: mock_data['users'].get(x, []))
    group = LDAPGroup(idp, 'LDAP test group', group_dn)

    with pytest.raises(StopIteration):
        members = group.get_members()
        while True:
            member = next(members)
            assert member.provider.name == idp.name
            assert member.identifier == expected.pop(0)