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)
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)