diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-03-08 18:01:16 +0100 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-03-08 18:19:40 +0100 |
commit | 4ec035b48869d8364f6ae8cb14c8486075786757 (patch) | |
tree | aa0bced5fc80225336ce9a679c8dd75e3407f1c8 | |
parent | 6857b92fabe511c4ed32310ad0f6bf43c534ffab (diff) | |
download | gitlab-ce-4ec035b48869d8364f6ae8cb14c8486075786757.tar.gz |
Call the right hooks in Repository#add_tag
This ensures Repository#add_tag calls Repository#before_push_tag instead
of just 1 random cache expiration method.
-rw-r--r-- | app/models/repository.rb | 3 | ||||
-rw-r--r-- | spec/models/repository_spec.rb | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index c3ae461a016..c0730b34316 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -138,7 +138,7 @@ class Repository end def add_tag(tag_name, ref, message = nil) - expire_tags_cache + before_push_tag gitlab_shell.add_tag(path_with_namespace, tag_name, ref, message) end @@ -334,6 +334,7 @@ class Repository # Runs code before pushing (= creating or removing) a tag. def before_push_tag expire_cache + expire_tags_cache expire_tag_count_cache end diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index 40cbb3d635e..97778c354a4 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -649,6 +649,17 @@ describe Repository, models: true do end end + describe '#add_tag' do + it 'adds a tag' do + expect(repository).to receive(:before_push_tag) + + 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') + end + end + describe '#rm_branch' do let(:user) { create(:user) } |