From 236c9c170374190bcb6dc54a1ca3dddda2d3dcb2 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Thu, 30 Mar 2017 15:24:08 +0200 Subject: Simplify how we create container registry resources --- .../create_repository_service_spec.rb | 75 ---------------------- 1 file changed, 75 deletions(-) delete mode 100644 spec/services/container_registry/create_repository_service_spec.rb (limited to 'spec/services') diff --git a/spec/services/container_registry/create_repository_service_spec.rb b/spec/services/container_registry/create_repository_service_spec.rb deleted file mode 100644 index ac7b147f92e..00000000000 --- a/spec/services/container_registry/create_repository_service_spec.rb +++ /dev/null @@ -1,75 +0,0 @@ -require 'spec_helper' - -describe ContainerRegistry::CreateRepositoryService, '#execute' do - let(:project) { create(:empty_project) } - let(:user) { create(:user) } - - let(:path) do - ContainerRegistry::Path.new("#{project.full_path}/my/image") - end - - let(:service) { described_class.new(project, user) } - - before do - stub_container_registry_config(enabled: true) - end - - context 'when repository is created by an user' do - context 'when user has no ability to create a repository' do - it 'does not create a new container repository' do - expect { service.execute(path) } - .to raise_error(Gitlab::Access::AccessDeniedError) - .and change { ContainerRepository.count }.by(0) - end - end - - context 'when user has ability do create a repository' do - before do - project.add_developer(user) - end - - context 'when repository already exists' do - before do - create(:container_repository, project: project, name: 'my/image') - end - - it 'does not create container repository again' do - expect { service.execute(path) } - .to_not change { ContainerRepository.count } - end - end - - context 'when repository does not exist yet' do - it 'creates a new container repository' do - expect { service.execute(path) } - .to change { project.container_repositories.count }.by(1) - end - end - end - end - - context 'when repository is created by a legacy pipeline trigger' do - let(:user) { nil } - - context 'when repository path matches authenticated project' do - it 'creates a new container repository' do - expect { service.execute(path) } - .to change { project.container_repositories.count }.by(1) - end - end - - context 'when repository path does not match authenticated project' do - let(:private_project) { create(:empty_project, :private) } - - let(:path) do - ContainerRegistry::Path.new("#{private_project.full_path}/my/image") - end - - it 'does not create a new container repository' do - expect { service.execute(path) } - .to raise_error(Gitlab::Access::AccessDeniedError) - .and change { ContainerRepository.count }.by(0) - end - end - end -end -- cgit v1.2.3