Commit 0f2616b3 authored by Douwe Maan's avatar Douwe Maan

Merge branch 'ldap-group-links-api-doc-fix' into 'master'

Make the `provider` argument for the LDAP group links API endpoint required

Related to #329

If no `provider` is passed to the API endpoint, the group link is not created properly. Making it required fixes the issue temporarily. It should default to the first provider.

Next step, as mentioned in #329, is to do that.

/cc @job

See merge request !475
parents 644a5c3a 671b891e
...@@ -190,7 +190,7 @@ Parameters: ...@@ -190,7 +190,7 @@ Parameters:
- `id` (required) - The ID of a group - `id` (required) - The ID of a group
- `cn` (required) - The CN of a LDAP group - `cn` (required) - The CN of a LDAP group
- `group_access` (required) - Minimum access level for members of the LDAP group - `group_access` (required) - Minimum access level for members of the LDAP group
- `provider` (optional) - LDAP provider for the LDAP group (when using several providers) - `provider` (required) - LDAP provider for the LDAP group (when using several providers)
### Delete LDAP group link ### Delete LDAP group link
......
...@@ -11,14 +11,14 @@ module API ...@@ -11,14 +11,14 @@ module API
# id (required) - The ID of a group # id (required) - The ID of a group
# cn (required) - The CN of a LDAP group # cn (required) - The CN of a LDAP group
# group_access (required) - Level of permissions for the linked LDAP group # group_access (required) - Level of permissions for the linked LDAP group
# provider (optional) - the LDAP provider for this LDAP group # provider (required) - the LDAP provider for this LDAP group
# #
# Example Request: # Example Request:
# POST /groups/:id/ldap_group_links # POST /groups/:id/ldap_group_links
post ":id/ldap_group_links" do post ":id/ldap_group_links" do
group = find_group(params[:id]) group = find_group(params[:id])
authorize! :admin_group, group authorize! :admin_group, group
required_attributes! [:cn, :group_access] required_attributes! [:cn, :group_access, :provider]
unless validate_access_level?(params[:group_access]) unless validate_access_level?(params[:group_access])
render_api_error!("Wrong group access level", 422) render_api_error!("Wrong group access level", 422)
end end
......
...@@ -51,7 +51,8 @@ describe API::API, api: true do ...@@ -51,7 +51,8 @@ describe API::API, api: true do
expect(json_response['provider']).to eq('ldap3') expect(json_response['provider']).to eq('ldap3')
end end
it "should return ok and add ldap group link even if no provider specified" do #TODO: Correct and activate this test once issue #329 is fixed
xit "should return ok and add ldap group link even if no provider specified" do
expect do expect do
post api("/groups/#{group_with_ldap_links.id}/ldap_group_links", owner), post api("/groups/#{group_with_ldap_links.id}/ldap_group_links", owner),
cn: 'ldap-group3', group_access: GroupMember::GUEST cn: 'ldap-group3', group_access: GroupMember::GUEST
...@@ -79,7 +80,7 @@ describe API::API, api: true do ...@@ -79,7 +80,7 @@ describe API::API, api: true do
end end
it "should return a 422 error when group access is not known" do it "should return a 422 error when group access is not known" do
post api("//groups/#{group_with_ldap_links.id}/ldap_group_links", owner), cn: 'ldap-group3', group_access: 11 post api("//groups/#{group_with_ldap_links.id}/ldap_group_links", owner), cn: 'ldap-group3', group_access: 11, provider: 'ldap1'
expect(response.status).to eq(422) expect(response.status).to eq(422)
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment