diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2018-07-02 08:00:30 +0000 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2018-07-02 08:00:30 +0000 |
commit | 1de68dc33fc7ed34c7f3d33c6186026c38c5b51a (patch) | |
tree | 1915bc44b6b077c94667678e0c3f17d6f4ec3f78 /spec | |
parent | a0481203d3ae2551325a8c197a1b9c090ba66b53 (diff) | |
parent | d4d6528c863d48c9e2d30e6b5927ef01ec35e0e3 (diff) | |
download | gitlab-ce-1de68dc33fc7ed34c7f3d33c6186026c38c5b51a.tar.gz |
Merge branch '44725-expire_correct_methods_after_change_head' into 'master'
Expire correct method caches after HEAD changed
Closes #44725
See merge request gitlab-org/gitlab-ce!20102
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/gitlab/repository_cache_adapter_spec.rb | 12 | ||||
-rw-r--r-- | spec/models/repository_spec.rb | 28 |
2 files changed, 29 insertions, 11 deletions
diff --git a/spec/lib/gitlab/repository_cache_adapter_spec.rb b/spec/lib/gitlab/repository_cache_adapter_spec.rb index 85971f2a7ef..5bd4d6c6a48 100644 --- a/spec/lib/gitlab/repository_cache_adapter_spec.rb +++ b/spec/lib/gitlab/repository_cache_adapter_spec.rb @@ -67,10 +67,18 @@ describe Gitlab::RepositoryCacheAdapter do describe '#expire_method_caches' do it 'expires the caches of the given methods' do - expect(cache).to receive(:expire).with(:readme) + expect(cache).to receive(:expire).with(:rendered_readme) expect(cache).to receive(:expire).with(:gitignore) - repository.expire_method_caches(%i(readme gitignore)) + repository.expire_method_caches(%i(rendered_readme gitignore)) + end + + it 'does not expire caches for non-existent methods' do + expect(cache).not_to receive(:expire).with(:nonexistent) + expect(Rails.logger).to( + receive(:error).with("Requested to expire non-existent method 'nonexistent' for Repository")) + + repository.expire_method_caches(%i(nonexistent)) end end end diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index 27a14ff5d5b..037692f9d6d 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -1689,19 +1689,29 @@ describe Repository do end describe '#after_change_head' do - it 'flushes the readme cache' do + it 'flushes the method caches' do expect(repository).to receive(:expire_method_caches).with([ - :readme, + :size, + :commit_count, + :rendered_readme, + :contribution_guide, :changelog, - :license, - :contributing, + :license_blob, + :license_key, :gitignore, - :koding, - :gitlab_ci, + :koding_yml, + :gitlab_ci_yml, + :branch_names, + :tag_names, + :branch_count, + :tag_count, :avatar, - :issue_template, - :merge_request_template, - :xcode_config + :exists?, + :root_ref, + :has_visible_content?, + :issue_template_names, + :merge_request_template_names, + :xcode_project? ]) repository.after_change_head |