Skip to content
Snippets Groups Projects
Commit 7db1f226 authored by Grzegorz Bizon's avatar Grzegorz Bizon
Browse files

Fix specs for services related to container registry

parent af42dd29
No related branches found
No related tags found
No related merge requests found
require 'spec_helper'
 
describe ContainerImages::DestroyService, services: true do
describe '#execute' do
let(:user) { create(:user) }
let(:container_repository) { create(:container_repository, name: '') }
let(:project) { create(:project, path: 'test', namespace: user.namespace, container_repositorys: [container_repository]) }
let(:example_host) { 'example.com' }
let(:registry_url) { 'http://' + example_host }
it { expect(container_repository).to be_valid }
it { expect(project.container_repositorys).not_to be_empty }
context 'when container image has tags' do
before do
project.team << [user, :master]
end
it 'removes all tags before destroy' do
service = described_class.new(project, user)
expect(container_repository).to receive(:delete_tags).and_return(true)
expect { service.execute(container_repository) }.to change(project.container_repositorys, :count).by(-1)
end
it 'fails when tags are not removed' do
service = described_class.new(project, user)
expect(container_repository).to receive(:delete_tags).and_return(false)
expect { service.execute(container_repository) }.to raise_error(ActiveRecord::RecordNotDestroyed)
end
describe ContainerImages::DestroyService, '#execute', :services do
let(:user) { create(:user) }
let(:container_repository) do
create(:container_repository, name: 'myimage', tags: %w[latest])
end
let(:project) do
create(:project, path: 'test',
namespace: user.namespace,
container_repositories: [container_repository])
end
it { expect(container_repository).to be_valid }
it { expect(project.container_repositories).not_to be_empty }
context 'when container image has tags' do
before do
project.add_master(user)
end
it 'removes all tags before destroy' do
service = described_class.new(project, user)
expect(container_repository)
.to receive(:delete_tags).and_return(true)
expect { service.execute(container_repository) }
.to change(project.container_repositories, :count).by(-1)
end
it 'fails when tags are not removed' do
service = described_class.new(project, user)
expect(container_repository)
.to receive(:delete_tags).and_return(false)
expect { service.execute(container_repository) }
.to raise_error(ActiveRecord::RecordNotDestroyed)
end
end
end
Loading
Loading
@@ -95,7 +95,7 @@ describe Projects::DestroyService, services: true do
before do
stub_container_registry_config(enabled: true)
stub_container_registry_tags('tag')
project.container_repositorys << container_repository
project.container_repositories << container_repository
end
 
context 'images deletion succeeds' do
Loading
Loading
Loading
Loading
@@ -34,7 +34,7 @@ describe Projects::TransferService, services: true do
before do
stub_container_registry_config(enabled: true)
stub_container_registry_tags('tag')
project.container_repositorys << container_repository
project.container_repositories << container_repository
end
 
subject { transfer_project(project, user, group) }
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment