summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-04-15 12:15:52 +0200
committerRémy Coutable <remy@rymai.me>2016-05-04 17:19:13 +0200
commit44f89eafc08a7967544429a3f930354a5f9bbbaf (patch)
tree7010adf8f188edcb8afd281a99970563b13d2980 /spec
parent72e4bd5fc40c3b61792bf5f8897ab881775c7146 (diff)
downloadgitlab-ce-44f89eafc08a7967544429a3f930354a5f9bbbaf.tar.gz
Use Rugged's TagCollection#create instead of gitlab-shell's Repository#add_tag for better performance
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec')
-rw-r--r--spec/models/repository_spec.rb11
-rw-r--r--spec/requests/api/tags_spec.rb4
2 files changed, 9 insertions, 6 deletions
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index 397bb5a8028..5cdf644a0e1 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -859,12 +859,15 @@ describe Repository, models: true do
describe '#add_tag' do
it 'adds a tag' do
+ user = build_stubbed(:user)
expect(repository).to receive(:before_push_tag)
+ expect(repository.rugged.tags).to receive(:create).
+ with('8.5', 'master',
+ hash_including(message: 'foo',
+ tagger: hash_including(name: user.name, email: user.email))).
+ and_call_original
- expect_any_instance_of(Gitlab::Shell).to receive(:add_tag).
- with(repository.path_with_namespace, '8.5', 'master', 'foo')
-
- repository.add_tag('8.5', 'master', 'foo')
+ repository.add_tag(user, '8.5', 'master', 'foo')
end
end
diff --git a/spec/requests/api/tags_spec.rb b/spec/requests/api/tags_spec.rb
index edcb2bedbf7..12e170b232f 100644
--- a/spec/requests/api/tags_spec.rb
+++ b/spec/requests/api/tags_spec.rb
@@ -147,7 +147,7 @@ describe API::API, api: true do
tag_name: 'v8.0.0',
ref: 'master'
expect(response.status).to eq(400)
- expect(json_response['message']).to eq('Tag already exists')
+ expect(json_response['message']).to eq('Tag v8.0.0 already exists')
end
it 'should return 400 if ref name is invalid' do
@@ -155,7 +155,7 @@ describe API::API, api: true do
tag_name: 'mytag',
ref: 'foo'
expect(response.status).to eq(400)
- expect(json_response['message']).to eq('Invalid reference name')
+ expect(json_response['message']).to eq('Target foo is invalid')
end
end