Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorAhmad Sherif <me@ahmadsherif.com>2017-09-20 13:11:51 +0300
committerAhmad Sherif <me@ahmadsherif.com>2017-09-29 00:36:40 +0300
commit3944e16b4bd716fd1f317c89c2c0910de76a2c33 (patch)
tree5e1db612d3db4fd64bf4efc05dddb0b1e3a12f91 /spec
parent67d3ddfdb681d4e791b3b3b716d2b772f530cc86 (diff)
Migrate Git::Repository#rm_tag to Gitaly
Closes gitaly#562
Diffstat (limited to 'spec')
-rw-r--r--spec/features/tags/master_deletes_tag_spec.rb27
-rw-r--r--spec/lib/gitlab/workhorse_spec.rb3
-rw-r--r--spec/models/repository_spec.rb18
3 files changed, 37 insertions, 11 deletions
diff --git a/spec/features/tags/master_deletes_tag_spec.rb b/spec/features/tags/master_deletes_tag_spec.rb
index d6a6b8fc7d5..80750c904b5 100644
--- a/spec/features/tags/master_deletes_tag_spec.rb
+++ b/spec/features/tags/master_deletes_tag_spec.rb
@@ -35,15 +35,30 @@ feature 'Master deletes tag' do
end
context 'when pre-receive hook fails', js: true do
- before do
- allow_any_instance_of(Gitlab::Git::HooksService).to receive(:execute)
- .and_raise(Gitlab::Git::HooksService::PreReceiveError, 'Do not delete tags')
+ context 'when Gitaly operation_user_delete_tag feature is enabled' do
+ before do
+ allow_any_instance_of(Gitlab::GitalyClient::OperationService).to receive(:rm_tag)
+ .and_raise(Gitlab::Git::HooksService::PreReceiveError, 'Do not delete tags')
+ end
+
+ scenario 'shows the error message' do
+ delete_first_tag
+
+ expect(page).to have_content('Do not delete tags')
+ end
end
- scenario 'shows the error message' do
- delete_first_tag
+ context 'when Gitaly operation_user_delete_tag feature is disabled', skip_gitaly_mock: true do
+ before do
+ allow_any_instance_of(Gitlab::Git::HooksService).to receive(:execute)
+ .and_raise(Gitlab::Git::HooksService::PreReceiveError, 'Do not delete tags')
+ end
+
+ scenario 'shows the error message' do
+ delete_first_tag
- expect(page).to have_content('Do not delete tags')
+ expect(page).to have_content('Do not delete tags')
+ end
end
end
diff --git a/spec/lib/gitlab/workhorse_spec.rb b/spec/lib/gitlab/workhorse_spec.rb
index 699184ad9fe..a333ae33972 100644
--- a/spec/lib/gitlab/workhorse_spec.rb
+++ b/spec/lib/gitlab/workhorse_spec.rb
@@ -218,7 +218,8 @@ describe Gitlab::Workhorse do
storage_name: 'default',
relative_path: project.full_path + '.git',
git_object_directory: '',
- git_alternate_object_directories: []
+ git_alternate_object_directories: [],
+ gl_repository: ''
} }
expect(subject).to include(repo_param)
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index 76bb658b10d..036545a5563 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -1682,12 +1682,22 @@ describe Repository, models: true do
end
describe '#rm_tag' do
- it 'removes a tag' do
- expect(repository).to receive(:before_remove_tag)
+ shared_examples 'removing tag' do
+ it 'removes a tag' do
+ expect(repository).to receive(:before_remove_tag)
- repository.rm_tag(create(:user), 'v1.1.0')
+ repository.rm_tag(build_stubbed(:user), 'v1.1.0')
- expect(repository.find_tag('v1.1.0')).to be_nil
+ expect(repository.find_tag('v1.1.0')).to be_nil
+ end
+ end
+
+ context 'when Gitaly operation_user_delete_tag feature is enabled' do
+ it_behaves_like 'removing tag'
+ end
+
+ context 'when Gitaly operation_user_delete_tag feature is disabled', skip_gitaly_mock: true do
+ it_behaves_like 'removing tag'
end
end