summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorMayra Cabrera <mcabrera@gitlab.com>2018-06-11 17:35:39 +0000
committerMayra Cabrera <mcabrera@gitlab.com>2018-06-11 17:35:39 +0000
commit421957cf8c9d5347a20d7a88f07a049622a631e0 (patch)
treef0ee8e6681dcd56d5067a187d0af1aca7db9a6dc /spec
parent87eb2b6e510af44ec905c183d9b886a46d223815 (diff)
parent1756eea5316c9d1d4b6b8a9bb45d1d2425943f5c (diff)
downloadgitlab-ce-421957cf8c9d5347a20d7a88f07a049622a631e0.tar.gz
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
Diffstat (limited to 'spec')
-rw-r--r--spec/lib/gitlab/github_import/sequential_importer_spec.rb1
-rw-r--r--spec/models/project_spec.rb9
-rw-r--r--spec/workers/repository_fork_worker_spec.rb11
-rw-r--r--spec/workers/repository_import_worker_spec.rb15
4 files changed, 25 insertions, 11 deletions
diff --git a/spec/lib/gitlab/github_import/sequential_importer_spec.rb b/spec/lib/gitlab/github_import/sequential_importer_spec.rb
index 6089b0b751f..05d3243f806 100644
--- a/spec/lib/gitlab/github_import/sequential_importer_spec.rb
+++ b/spec/lib/gitlab/github_import/sequential_importer_spec.rb
@@ -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
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index b9a9c4ebf42..a7a6d0bb09c 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -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)
diff --git a/spec/workers/repository_fork_worker_spec.rb b/spec/workers/repository_fork_worker_spec.rb
index 4b3c1736ea0..ae4786389c7 100644
--- a/spec/workers/repository_fork_worker_spec.rb
+++ b/spec/workers/repository_fork_worker_spec.rb
@@ -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!
diff --git a/spec/workers/repository_import_worker_spec.rb b/spec/workers/repository_import_worker_spec.rb
index 84d1b38ef19..f0884ad0aff 100644
--- a/spec/workers/repository_import_worker_spec.rb
+++ b/spec/workers/repository_import_worker_spec.rb
@@ -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