Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-09-29 15:52:24 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-09-29 15:52:24 +0300
commitb56d907a1d9065c3df354007fa00daf30626a478 (patch)
tree0868c35228207eece8e012bdc47a8829556d7758 /spec/requests/api/invitations_spec.rb
parentaee004311cd93409176ea4f6e2bdcd0601487e4b (diff)
Add latest changes from gitlab-org/security/gitlab@14-3-stable-ee
Diffstat (limited to 'spec/requests/api/invitations_spec.rb')
-rw-r--r--spec/requests/api/invitations_spec.rb40
1 files changed, 25 insertions, 15 deletions
diff --git a/spec/requests/api/invitations_spec.rb b/spec/requests/api/invitations_spec.rb
index 76a4548df8a..b23ba0021e0 100644
--- a/spec/requests/api/invitations_spec.rb
+++ b/spec/requests/api/invitations_spec.rb
@@ -259,22 +259,32 @@ RSpec.describe API::Invitations do
let(:route) { get invitations_url(source, stranger) }
end
- %i[maintainer developer access_requester stranger].each do |type|
+ context "when authenticated as a maintainer" do
+ it 'returns 200' do
+ get invitations_url(source, maintainer)
+
+ expect(response).to have_gitlab_http_status(:ok)
+ expect(response).to include_pagination_headers
+ expect(json_response).to be_an Array
+ expect(json_response.size).to eq(0)
+ end
+ end
+
+ %i[developer access_requester stranger].each do |type|
context "when authenticated as a #{type}" do
- it 'returns 200' do
+ it 'returns 403' do
user = public_send(type)
get invitations_url(source, user)
- expect(response).to have_gitlab_http_status(:ok)
- expect(response).to include_pagination_headers
- expect(json_response).to be_an Array
- expect(json_response.size).to eq(0)
+ expect(response).to have_gitlab_http_status(:forbidden)
end
end
end
it 'avoids N+1 queries' do
+ invite_member_by_email(source, source_type, email, maintainer)
+
# Establish baseline
get invitations_url(source, maintainer)
@@ -282,7 +292,7 @@ RSpec.describe API::Invitations do
get invitations_url(source, maintainer)
end
- invite_member_by_email(source, source_type, email, maintainer)
+ invite_member_by_email(source, source_type, email2, maintainer)
expect do
get invitations_url(source, maintainer)
@@ -290,7 +300,7 @@ RSpec.describe API::Invitations do
end
it 'does not find confirmed members' do
- get invitations_url(source, developer)
+ get invitations_url(source, maintainer)
expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers
@@ -300,10 +310,10 @@ RSpec.describe API::Invitations do
end
it 'finds all members with no query string specified' do
- invite_member_by_email(source, source_type, email, developer)
- invite_member_by_email(source, source_type, email2, developer)
+ invite_member_by_email(source, source_type, email, maintainer)
+ invite_member_by_email(source, source_type, email2, maintainer)
- get invitations_url(source, developer), params: { query: '' }
+ get invitations_url(source, maintainer), params: { query: '' }
expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers
@@ -314,17 +324,17 @@ RSpec.describe API::Invitations do
end
it 'finds the invitation by invite_email with query string' do
- invite_member_by_email(source, source_type, email, developer)
- invite_member_by_email(source, source_type, email2, developer)
+ invite_member_by_email(source, source_type, email, maintainer)
+ invite_member_by_email(source, source_type, email2, maintainer)
- get invitations_url(source, developer), params: { query: email }
+ get invitations_url(source, maintainer), params: { query: email }
expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers
expect(json_response).to be_an Array
expect(json_response.count).to eq(1)
expect(json_response.first['invite_email']).to eq(email)
- expect(json_response.first['created_by_name']).to eq(developer.name)
+ expect(json_response.first['created_by_name']).to eq(maintainer.name)
expect(json_response.first['user_name']).to eq(nil)
end
end