diff --git a/ee/app/graphql/resolvers/google_cloud/artifact_registry/artifact_resolver.rb b/ee/app/graphql/resolvers/google_cloud/artifact_registry/artifact_resolver.rb index ef58f6858826c5492d6af37a73e2cfd23e74b95c..2d1aa59a0bc57186613ebd5e0b7f9e3e4ba2183f 100644 --- a/ee/app/graphql/resolvers/google_cloud/artifact_registry/artifact_resolver.rb +++ b/ee/app/graphql/resolvers/google_cloud/artifact_registry/artifact_resolver.rb @@ -8,7 +8,7 @@ class ArtifactResolver < BaseResolver type ::Types::GoogleCloud::ArtifactRegistry::ArtifactDetailsType, null: true - authorize :read_container_image + authorize :read_google_cloud_artifact_registry argument :google_cloud_project_id, GraphQL::Types::String, diff --git a/ee/spec/requests/api/graphql/google_cloud/artifact_registry/docker_image_spec.rb b/ee/spec/requests/api/graphql/google_cloud/artifact_registry/docker_image_spec.rb index 1d6ea5c0a2a6618a164b1e82651f706897a599d7..26f2ebbc798e827209711d46fa6a8add2643e313 100644 --- a/ee/spec/requests/api/graphql/google_cloud/artifact_registry/docker_image_spec.rb +++ b/ee/spec/requests/api/graphql/google_cloud/artifact_registry/docker_image_spec.rb @@ -6,7 +6,7 @@ RSpec.describe 'getting the google cloud docker image linked to a project', :freeze_time, feature_category: :container_registry do include GraphqlHelpers - let_it_be(:project) { create(:project) } + let_it_be_with_reload(:project) { create(:project) } let_it_be_with_refind(:project_integration) do create( @@ -143,6 +143,16 @@ it_behaves_like 'returning a blank response' end + context 'with an anonymous user on a public project' do + let(:user) { nil } + + before do + project.update!(visibility: Gitlab::VisibilityLevel::PUBLIC) + end + + it_behaves_like 'returning a blank response' + end + context 'when google artifact registry feature is unavailable' do before do stub_saas_features(google_cloud_support: false) diff --git a/ee/spec/requests/api/graphql/project/google_cloud/artifact_registry/docker_images_spec.rb b/ee/spec/requests/api/graphql/project/google_cloud/artifact_registry/docker_images_spec.rb index 210795a0740621e6a151d4448f3e6004cf7473a1..f330362f46132dd7de9be764eecc4bbef0492d91 100644 --- a/ee/spec/requests/api/graphql/project/google_cloud/artifact_registry/docker_images_spec.rb +++ b/ee/spec/requests/api/graphql/project/google_cloud/artifact_registry/docker_images_spec.rb @@ -7,7 +7,7 @@ include GraphqlHelpers include GoogleApi::CloudPlatformHelpers - let_it_be(:project) { create(:project) } + let_it_be_with_reload(:project) { create(:project) } let_it_be_with_refind(:project_integration) do create(:google_cloud_platform_artifact_registry_integration, project: project) end @@ -173,6 +173,16 @@ it { is_expected.to be_nil } end + context 'with an anonymous user on a public project' do + let(:user) { nil } + + before do + project.update!(visibility: Gitlab::VisibilityLevel::PUBLIC) + end + + it { is_expected.to be_nil } + end + context 'when google artifact registry feature is unavailable' do before do stub_saas_features(google_cloud_support: false)