diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-05-04 14:10:49 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-05-04 14:10:49 +0000 |
commit | 466f6874af6d05f58bad35a81c08a9a199e98d52 (patch) | |
tree | 908d131360397414aa2297c17212ede0ed55229f /spec/workers | |
parent | 275c615557595996f704c9f45b16f435fc70b8e2 (diff) | |
parent | 9f85b7bc58485831a61da0f9acc530511ea7474a (diff) | |
download | gitlab-ce-466f6874af6d05f58bad35a81c08a9a199e98d52.tar.gz |
Merge branch 'create-wikis-during-check' into 'master'
Initialize wikis on legacy projects during check
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/4173
Helps https://gitlab.com/gitlab-org/gitlab-ce/issues/15423
See merge request !3931
Diffstat (limited to 'spec/workers')
-rw-r--r-- | spec/workers/repository_check/single_repository_worker_spec.rb | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/spec/workers/repository_check/single_repository_worker_spec.rb b/spec/workers/repository_check/single_repository_worker_spec.rb index 087e4c667d8..5a03bb77ebd 100644 --- a/spec/workers/repository_check/single_repository_worker_spec.rb +++ b/spec/workers/repository_check/single_repository_worker_spec.rb @@ -12,7 +12,7 @@ describe RepositoryCheck::SingleRepositoryWorker do subject.perform(project.id) expect(project.reload.last_repository_check_failed).to eq(false) - destroy_wiki(project) + break_wiki(project) subject.perform(project.id) expect(project.reload.last_repository_check_failed).to eq(true) @@ -20,15 +20,38 @@ describe RepositoryCheck::SingleRepositoryWorker do it 'skips wikis when disabled' do project = create(:project_empty_repo, wiki_enabled: false) - # Make sure the test would fail if it checked the wiki repo - destroy_wiki(project) + # Make sure the test would fail if the wiki repo was checked + break_wiki(project) subject.perform(project.id) expect(project.reload.last_repository_check_failed).to eq(false) end - def destroy_wiki(project) - FileUtils.rm_rf(project.wiki.repository.path_to_repo) + it 'creates missing wikis' do + project = create(:project_empty_repo, wiki_enabled: true) + FileUtils.rm_rf(wiki_path(project)) + + subject.perform(project.id) + + expect(project.reload.last_repository_check_failed).to eq(false) + end + + it 'does not create a wiki if the main repo does not exist at all' do + project = create(:project_empty_repo) + FileUtils.rm_rf(project.repository.path_to_repo) + FileUtils.rm_rf(wiki_path(project)) + + subject.perform(project.id) + + expect(File.exist?(wiki_path(project))).to eq(false) + end + + def break_wiki(project) + FileUtils.rm_rf(wiki_path(project) + '/objects') + end + + def wiki_path(project) + project.wiki.repository.path_to_repo end end |