diff options
author | Bob Van Landuyt <bob@gitlab.com> | 2017-04-19 10:12:09 +0200 |
---|---|---|
committer | Bob Van Landuyt <bob@gitlab.com> | 2017-05-01 11:14:24 +0200 |
commit | 39efd0c03018089366d5301583a605626e97e9d7 (patch) | |
tree | a963ff9a85fa264e705bfce8e58945f923f0eb00 /spec/lib | |
parent | 389057f00184a3549a1874174cbb81c807abfd49 (diff) | |
download | gitlab-ce-39efd0c03018089366d5301583a605626e97e9d7.tar.gz |
Clear cached markdown after renaming projects
Diffstat (limited to 'spec/lib')
3 files changed, 64 insertions, 3 deletions
diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_base_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_base_spec.rb index 48234170d31..8aad88edb2b 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_base_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_base_spec.rb @@ -27,6 +27,46 @@ describe Gitlab::Database::RenameReservedPathsMigration::RenameBase do end end + describe '#remove_cached_html_for_projects' do + let(:project) { create(:empty_project, description_html: 'Project description') } + + it 'removes description_html from projects' do + subject.remove_cached_html_for_projects([project.id]) + + expect(project.reload.description_html).to be_nil + end + + it 'removes issue descriptions' do + issue = create(:issue, project: project, description_html: 'Issue description') + + subject.remove_cached_html_for_projects([project.id]) + + expect(issue.reload.description_html).to be_nil + end + + it 'removes merge request descriptions' do + merge_request = create(:merge_request, + source_project: project, + target_project: project, + description_html: 'MergeRequest description') + + subject.remove_cached_html_for_projects([project.id]) + + expect(merge_request.reload.description_html).to be_nil + end + + it 'removes note html' do + note = create(:note, + project: project, + noteable: create(:issue, project: project), + note_html: 'note description') + + subject.remove_cached_html_for_projects([project.id]) + + expect(note.reload.note_html).to be_nil + end + end + describe '#rename_path_for_routable' do context 'for namespaces' do let(:namespace) { create(:namespace, path: 'the-path') } diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_namespaces_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_namespaces_spec.rb index 00d6cf0105c..8bb272e7595 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_namespaces_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_namespaces_spec.rb @@ -139,7 +139,13 @@ describe Gitlab::Database::RenameReservedPathsMigration::RenameNamespaces do subject.rename_namespace(namespace) end - it 'invalidates the markdown cache of related projects' + it 'invalidates the markdown cache of related projects' do + project = create(:empty_project, namespace: namespace, path: "the-path-project") + + expect(subject).to receive(:remove_cached_html_for_projects).with([project.id]) + + subject.rename_namespace(namespace) + end end describe '#rename_namespaces' do diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_projects_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_projects_spec.rb index 173ebecb676..f4be5494c4a 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_projects_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_projects_spec.rb @@ -29,6 +29,23 @@ describe Gitlab::Database::RenameReservedPathsMigration::RenameProjects do end end + describe '#rename_projects' do + let!(:projects) { create_list(:empty_project, 2, path: 'the-path') } + + it 'renames each project' do + expect(subject).to receive(:rename_project).twice + + subject.rename_projects + end + + it 'invalidates the markdown cache of related projects' do + expect(subject).to receive(:remove_cached_html_for_projects). + with(projects.map(&:id)) + + subject.rename_projects + end + end + describe '#rename_project' do let(:project) do create(:empty_project, @@ -68,8 +85,6 @@ describe Gitlab::Database::RenameReservedPathsMigration::RenameProjects do subject.rename_project(project) end - - it 'invalidates the markdown cache of related projects' end describe '#move_repository' do |