# frozen_string_literal: true require 'spec_helper' RSpec.describe ContainerRegistry::Registry do let(:path) { nil } let(:registry_api_url) { 'http://example.com' } let(:registry) { described_class.new(registry_api_url, path: path) } subject { registry } before do stub_container_registry_config(enabled: true, api_url: registry_api_url, key: 'spec/fixtures/x509_certificate_pk.key') end it { is_expected.to respond_to(:client) } it { is_expected.to respond_to(:uri) } it { is_expected.to respond_to(:path) } it { expect(subject).not_to be_nil } describe '#path' do subject { registry.path } context 'path from URL' do it { is_expected.to eq('example.com') } end context 'custom path' do let(:path) { 'registry.example.com' } it { is_expected.to eq(path) } end end describe '#gitlab_api_client' do subject { registry.gitlab_api_client } it 'returns a GitLabApiClient with an import token' do expect(Auth::ContainerRegistryAuthenticationService).to receive(:import_access_token) expect(subject).to be_instance_of(ContainerRegistry::GitlabApiClient) end end end