diff options
Diffstat (limited to 'spec/requests/api/helm_packages_spec.rb')
-rw-r--r-- | spec/requests/api/helm_packages_spec.rb | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/spec/requests/api/helm_packages_spec.rb b/spec/requests/api/helm_packages_spec.rb index 584f6e3c7d4..d6afd6f86ff 100644 --- a/spec/requests/api/helm_packages_spec.rb +++ b/spec/requests/api/helm_packages_spec.rb @@ -17,7 +17,15 @@ RSpec.describe API::HelmPackages, feature_category: :package_registry do let_it_be(:package_file2_2) { create(:helm_package_file, package: package2, file_sha256: 'file2', file_name: 'filename2.tgz', channel: 'test', description: 'hello from test channel') } let_it_be(:other_package) { create(:npm_package, project: project) } - let(:snowplow_gitlab_standard_context) { { project: project, namespace: project.namespace, property: 'i_package_helm_user' } } + let(:snowplow_gitlab_standard_context) { snowplow_context } + + def snowplow_context(user_role: :developer) + if user_role == :anonymous + { project: project, namespace: project.namespace, property: 'i_package_helm_user' } + else + { project: project, namespace: project.namespace, property: 'i_package_helm_user', user: user } + end + end describe 'GET /api/v4/projects/:id/packages/helm/:channel/index.yaml' do let(:project_id) { project.id } @@ -65,6 +73,7 @@ RSpec.describe API::HelmPackages, feature_category: :package_registry do with_them do let(:headers) { user_role == :anonymous ? {} : basic_auth_header(user.username, personal_access_token.token) } + let(:snowplow_gitlab_standard_context) { snowplow_context(user_role: user_role) } before do project.update!(visibility: visibility.to_s) @@ -75,6 +84,8 @@ RSpec.describe API::HelmPackages, feature_category: :package_registry do end context 'with access to package registry for everyone' do + let(:snowplow_gitlab_standard_context) { snowplow_context(user_role: :anonymous) } + before do project.update!(visibility: Gitlab::VisibilityLevel::PRIVATE) project.project_feature.update!(package_registry_access_level: ProjectFeature::PUBLIC) @@ -116,6 +127,7 @@ RSpec.describe API::HelmPackages, feature_category: :package_registry do with_them do let(:user_headers) { user_role == :anonymous ? {} : basic_auth_header(user.username, personal_access_token.token) } let(:headers) { user_headers.merge(workhorse_headers) } + let(:snowplow_gitlab_standard_context) { snowplow_context(user_role: user_role) } before do project.update_column(:visibility_level, Gitlab::VisibilityLevel.level_value(visibility_level.to_s)) @@ -178,6 +190,7 @@ RSpec.describe API::HelmPackages, feature_category: :package_registry do with_them do let(:user_headers) { user_role == :anonymous ? {} : basic_auth_header(user.username, personal_access_token.token) } let(:headers) { user_headers.merge(workhorse_headers) } + let(:snowplow_gitlab_standard_context) { snowplow_context(user_role: user_role) } before do project.update_column(:visibility_level, Gitlab::VisibilityLevel.level_value(visibility_level.to_s)) |