diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-05-17 19:05:49 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-05-17 19:05:49 +0300 |
commit | 43a25d93ebdabea52f99b05e15b06250cd8f07d7 (patch) | |
tree | dceebdc68925362117480a5d672bcff122fb625b /spec/requests/api/deploy_tokens_spec.rb | |
parent | 20c84b99005abd1c82101dfeff264ac50d2df211 (diff) |
Add latest changes from gitlab-org/gitlab@16-0-stable-eev16.0.0-rc42
Diffstat (limited to 'spec/requests/api/deploy_tokens_spec.rb')
-rw-r--r-- | spec/requests/api/deploy_tokens_spec.rb | 45 |
1 files changed, 28 insertions, 17 deletions
diff --git a/spec/requests/api/deploy_tokens_spec.rb b/spec/requests/api/deploy_tokens_spec.rb index 4efe49e843f..c0e36bf03bf 100644 --- a/spec/requests/api/deploy_tokens_spec.rb +++ b/spec/requests/api/deploy_tokens_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe API::DeployTokens, feature_category: :continuous_delivery do +RSpec.describe API::DeployTokens, :aggregate_failures, feature_category: :continuous_delivery do let_it_be(:user) { create(:user) } let_it_be(:creator) { create(:user) } let_it_be(:project) { create(:project, creator_id: creator.id) } @@ -17,26 +17,25 @@ RSpec.describe API::DeployTokens, feature_category: :continuous_delivery do describe 'GET /deploy_tokens' do subject do - get api('/deploy_tokens', user) + get api('/deploy_tokens', user, admin_mode: admin_mode) response end - context 'when unauthenticated' do - let(:user) { nil } + let_it_be(:admin_mode) { false } - it { is_expected.to have_gitlab_http_status(:unauthorized) } + it_behaves_like 'GET request permissions for admin mode' do + let(:path) { '/deploy_tokens' } end - context 'when authenticated as non-admin user' do - let(:user) { creator } + context 'when unauthenticated' do + let(:user) { nil } - it { is_expected.to have_gitlab_http_status(:forbidden) } + it { is_expected.to have_gitlab_http_status(:unauthorized) } end context 'when authenticated as admin' do let(:user) { create(:admin) } - - it { is_expected.to have_gitlab_http_status(:ok) } + let_it_be(:admin_mode) { true } it 'returns all deploy tokens' do subject @@ -57,7 +56,7 @@ RSpec.describe API::DeployTokens, feature_category: :continuous_delivery do context 'and active=true' do it 'only returns active deploy tokens' do - get api('/deploy_tokens?active=true', user) + get api('/deploy_tokens?active=true', user, admin_mode: true) token_ids = json_response.map { |token| token['id'] } expect(response).to have_gitlab_http_status(:ok) @@ -73,8 +72,10 @@ RSpec.describe API::DeployTokens, feature_category: :continuous_delivery do end describe 'GET /projects/:id/deploy_tokens' do + let(:path) { "/projects/#{project.id}/deploy_tokens" } + subject do - get api("/projects/#{project.id}/deploy_tokens", user) + get api(path, user) response end @@ -134,8 +135,10 @@ RSpec.describe API::DeployTokens, feature_category: :continuous_delivery do end describe 'GET /projects/:id/deploy_tokens/:token_id' do + let(:path) { "/projects/#{project.id}/deploy_tokens/#{deploy_token.id}" } + subject do - get api("/projects/#{project.id}/deploy_tokens/#{deploy_token.id}", user) + get api(path, user) response end @@ -183,8 +186,10 @@ RSpec.describe API::DeployTokens, feature_category: :continuous_delivery do end describe 'GET /groups/:id/deploy_tokens' do + let(:path) { "/groups/#{group.id}/deploy_tokens" } + subject do - get api("/groups/#{group.id}/deploy_tokens", user) + get api(path, user) response end @@ -241,8 +246,10 @@ RSpec.describe API::DeployTokens, feature_category: :continuous_delivery do end describe 'GET /groups/:id/deploy_tokens/:token_id' do + let(:path) { "/groups/#{group.id}/deploy_tokens/#{group_deploy_token.id}" } + subject do - get api("/groups/#{group.id}/deploy_tokens/#{group_deploy_token.id}", user) + get api(path, user) response end @@ -290,8 +297,10 @@ RSpec.describe API::DeployTokens, feature_category: :continuous_delivery do end describe 'DELETE /projects/:id/deploy_tokens/:token_id' do + let(:path) { "/projects/#{project.id}/deploy_tokens/#{deploy_token.id}" } + subject do - delete api("/projects/#{project.id}/deploy_tokens/#{deploy_token.id}", user) + delete api(path, user) response end @@ -455,8 +464,10 @@ RSpec.describe API::DeployTokens, feature_category: :continuous_delivery do end describe 'DELETE /groups/:id/deploy_tokens/:token_id' do + let(:path) { "/groups/#{group.id}/deploy_tokens/#{group_deploy_token.id}" } + subject do - delete api("/groups/#{group.id}/deploy_tokens/#{group_deploy_token.id}", user) + delete api(path, user) response end |