Merge branch 'sh-expire-content-cache-after-import' into 'master'
Expire Wiki content cache after importing a repository Closes #47546 See merge request gitlab-org/gitlab-ce!19617
This commit is contained in:
commit
421957cf8c
8 changed files with 32 additions and 14 deletions
|
@ -1616,6 +1616,7 @@ class Project < ActiveRecord::Base
|
|||
|
||||
def after_import
|
||||
repository.after_import
|
||||
wiki.repository.after_import
|
||||
import_finish
|
||||
remove_import_jid
|
||||
update_project_counter_caches
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Expire Wiki content cache after importing a repository
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -42,8 +42,6 @@ module Gitlab
|
|||
klass.new(project, client, parallel: false).execute
|
||||
end
|
||||
|
||||
project.repository.after_import
|
||||
|
||||
true
|
||||
end
|
||||
end
|
||||
|
|
|
@ -50,7 +50,7 @@ class GithubImport
|
|||
end
|
||||
|
||||
if import_success
|
||||
@project.import_finish
|
||||
@project.after_import
|
||||
puts "Import finished. Timings: #{timings}".color(:green)
|
||||
else
|
||||
puts "Import was not successful. Errors were as follows:"
|
||||
|
|
|
@ -30,7 +30,6 @@ describe Gitlab::GithubImport::SequentialImporter do
|
|||
expect(instance).to receive(:execute)
|
||||
end
|
||||
|
||||
expect(repository).to receive(:after_import)
|
||||
expect(importer.execute).to eq(true)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1733,7 +1733,11 @@ describe Project do
|
|||
.with(project.repository_storage, project.disk_path, project.import_url)
|
||||
.and_return(true)
|
||||
|
||||
expect_any_instance_of(Repository).to receive(:after_import)
|
||||
# Works around https://github.com/rspec/rspec-mocks/issues/910
|
||||
expect(described_class).to receive(:find).with(project.id).twice.and_return(project)
|
||||
expect(project.repository).to receive(:after_import)
|
||||
.and_call_original
|
||||
expect(project.wiki.repository).to receive(:after_import)
|
||||
.and_call_original
|
||||
end
|
||||
|
||||
|
@ -3398,10 +3402,11 @@ describe Project do
|
|||
end
|
||||
|
||||
describe '#after_import' do
|
||||
let(:project) { build(:project) }
|
||||
let(:project) { create(:project) }
|
||||
|
||||
it 'runs the correct hooks' do
|
||||
expect(project.repository).to receive(:after_import)
|
||||
expect(project.wiki.repository).to receive(:after_import)
|
||||
expect(project).to receive(:import_finish)
|
||||
expect(project).to receive(:update_project_counter_caches)
|
||||
expect(project).to receive(:remove_import_jid)
|
||||
|
|
|
@ -55,10 +55,15 @@ describe RepositoryForkWorker do
|
|||
it 'flushes various caches' do
|
||||
expect_fork_repository.and_return(true)
|
||||
|
||||
expect_any_instance_of(Repository).to receive(:expire_emptiness_caches)
|
||||
# Works around https://github.com/rspec/rspec-mocks/issues/910
|
||||
expect(Project).to receive(:find).with(fork_project.id).and_return(fork_project)
|
||||
expect(fork_project.repository).to receive(:expire_emptiness_caches)
|
||||
.and_call_original
|
||||
|
||||
expect_any_instance_of(Repository).to receive(:expire_exists_cache)
|
||||
expect(fork_project.repository).to receive(:expire_exists_cache)
|
||||
.and_call_original
|
||||
expect(fork_project.wiki.repository).to receive(:expire_emptiness_caches)
|
||||
.and_call_original
|
||||
expect(fork_project.wiki.repository).to receive(:expire_exists_cache)
|
||||
.and_call_original
|
||||
|
||||
perform!
|
||||
|
|
|
@ -22,8 +22,11 @@ describe RepositoryImportWorker do
|
|||
expect_any_instance_of(Projects::ImportService).to receive(:execute)
|
||||
.and_return({ status: :ok })
|
||||
|
||||
expect_any_instance_of(Repository).to receive(:expire_emptiness_caches)
|
||||
expect_any_instance_of(Project).to receive(:import_finish)
|
||||
# Works around https://github.com/rspec/rspec-mocks/issues/910
|
||||
expect(Project).to receive(:find).with(project.id).and_return(project)
|
||||
expect(project.repository).to receive(:expire_emptiness_caches)
|
||||
expect(project.wiki.repository).to receive(:expire_emptiness_caches)
|
||||
expect(project).to receive(:import_finish)
|
||||
|
||||
subject.perform(project.id)
|
||||
end
|
||||
|
@ -34,9 +37,11 @@ describe RepositoryImportWorker do
|
|||
expect_any_instance_of(Projects::ImportService).to receive(:execute)
|
||||
.and_return({ status: :ok })
|
||||
|
||||
expect_any_instance_of(Project).to receive(:after_import).and_call_original
|
||||
expect_any_instance_of(Repository).to receive(:expire_emptiness_caches)
|
||||
expect_any_instance_of(Project).to receive(:import_finish)
|
||||
# Works around https://github.com/rspec/rspec-mocks/issues/910
|
||||
expect(Project).to receive(:find).with(project.id).and_return(project)
|
||||
expect(project.repository).to receive(:expire_emptiness_caches)
|
||||
expect(project.wiki.repository).to receive(:expire_emptiness_caches)
|
||||
expect(project).to receive(:import_finish)
|
||||
|
||||
subject.perform(project.id)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue