summaryrefslogtreecommitdiff
path: root/spec/models
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/blob_spec.rb10
-rw-r--r--spec/models/container_repository_spec.rb55
-rw-r--r--spec/models/repository_spec.rb2
3 files changed, 40 insertions, 27 deletions
diff --git a/spec/models/blob_spec.rb b/spec/models/blob_spec.rb
index 0f29766db41..e5dd57fc4bb 100644
--- a/spec/models/blob_spec.rb
+++ b/spec/models/blob_spec.rb
@@ -55,13 +55,13 @@ describe Blob do
describe '#pdf?' do
it 'is falsey when file extension is not .pdf' do
- git_blob = double(name: 'git_blob.txt')
+ git_blob = Gitlab::Git::Blob.new(name: 'git_blob.txt')
expect(described_class.decorate(git_blob)).not_to be_pdf
end
it 'is truthy when file extension is .pdf' do
- git_blob = double(name: 'git_blob.pdf')
+ git_blob = Gitlab::Git::Blob.new(name: 'git_blob.pdf')
expect(described_class.decorate(git_blob)).to be_pdf
end
@@ -140,7 +140,7 @@ describe Blob do
stl?: false
)
- described_class.decorate(double).tap do |blob|
+ described_class.decorate(Gitlab::Git::Blob.new({})).tap do |blob|
allow(blob).to receive_messages(overrides)
end
end
@@ -158,7 +158,7 @@ describe Blob do
it 'handles SVGs' do
blob = stubbed_blob(text?: true, svg?: true)
- expect(blob.to_partial_path(project)).to eq 'image'
+ expect(blob.to_partial_path(project)).to eq 'svg'
end
it 'handles images' do
@@ -167,7 +167,7 @@ describe Blob do
end
it 'handles text' do
- blob = stubbed_blob(text?: true)
+ blob = stubbed_blob(text?: true, name: 'test.txt')
expect(blob.to_partial_path(project)).to eq 'text'
end
diff --git a/spec/models/container_repository_spec.rb b/spec/models/container_repository_spec.rb
index f7ee0b57072..6d6c9f2adfc 100644
--- a/spec/models/container_repository_spec.rb
+++ b/spec/models/container_repository_spec.rb
@@ -4,7 +4,7 @@ describe ContainerRepository do
let(:group) { create(:group, name: 'group') }
let(:project) { create(:project, path: 'test', group: group) }
- let(:container_repository) do
+ let(:repository) do
create(:container_repository, name: 'my_image', project: project)
end
@@ -23,48 +23,48 @@ describe ContainerRepository do
describe 'associations' do
it 'belongs to the project' do
- expect(container_repository).to belong_to(:project)
+ expect(repository).to belong_to(:project)
end
end
describe '#tag' do
it 'has a test tag' do
- expect(container_repository.tag('test')).not_to be_nil
+ expect(repository.tag('test')).not_to be_nil
end
end
describe '#path' do
it 'returns a full path to the repository' do
- expect(container_repository.path).to eq('group/test/my_image')
+ expect(repository.path).to eq('group/test/my_image')
end
end
describe '#manifest' do
- subject { container_repository.manifest }
-
- it { is_expected.not_to be_nil }
+ it 'returns non-empty manifest' do
+ expect(repository.manifest).not_to be_nil
+ end
end
describe '#valid?' do
- subject { container_repository.valid? }
-
- it { is_expected.to be_truthy }
+ it 'is a valid repository' do
+ expect(repository).to be_valid
+ end
end
describe '#tags' do
- subject { container_repository.tags }
-
- it { is_expected.not_to be_empty }
+ it 'returns non-empty tags list' do
+ expect(repository.tags).not_to be_empty
+ end
end
describe '#has_tags?' do
it 'has tags' do
- expect(container_repository).to have_tags
+ expect(repository).to have_tags
end
end
describe '#delete_tags!' do
- let(:container_repository) do
+ let(:repository) do
create(:container_repository, name: 'my_image',
tags: %w[latest rc1],
project: project)
@@ -72,21 +72,36 @@ describe ContainerRepository do
context 'when action succeeds' do
it 'returns status that indicates success' do
- expect(container_repository.client)
+ expect(repository.client)
.to receive(:delete_repository_tag)
.and_return(true)
- expect(container_repository.delete_tags!).to be_truthy
+ expect(repository.delete_tags!).to be_truthy
end
end
context 'when action fails' do
it 'returns status that indicates failure' do
- expect(container_repository.client)
+ expect(repository.client)
.to receive(:delete_repository_tag)
.and_return(false)
- expect(container_repository.delete_tags!).to be_falsey
+ expect(repository.delete_tags!).to be_falsey
+ end
+ end
+ end
+
+ describe '#location' do
+ context 'when registry is running on a custom port' do
+ before do
+ stub_container_registry_config(enabled: true,
+ api_url: 'http://registry.gitlab:5000',
+ host_port: 'registry.gitlab:5000')
+ end
+
+ it 'returns a full location of the repository' do
+ expect(repository.location)
+ .to eq 'registry.gitlab:5000/group/test/my_image'
end
end
end
@@ -102,7 +117,7 @@ describe ContainerRepository do
context 'when repository is not a root repository' do
it 'returns false' do
- expect(container_repository).not_to be_root_repository
+ expect(repository).not_to be_root_repository
end
end
end
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index d805e65b3c6..8bd436558cb 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -1283,8 +1283,6 @@ describe Repository, models: true do
describe '#after_import' do
it 'flushes and builds the cache' do
expect(repository).to receive(:expire_content_cache)
- expect(repository).to receive(:expire_tags_cache)
- expect(repository).to receive(:expire_branches_cache)
repository.after_import
end