45 lines
1.1 KiB
Ruby
45 lines
1.1 KiB
Ruby
# 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
|