diff options
author | Jacob Vosmaer (GitLab) <jacob@gitlab.com> | 2018-02-22 03:20:30 +0300 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2018-02-22 03:20:30 +0300 |
commit | ea18e1bf287800825f12e87cf3160e90cc2046d9 (patch) | |
tree | cfffc98c587f5f69279a9e7853a546e9490e5dfe /spec/lib/gitlab/git_access_wiki_spec.rb | |
parent | a5b7f27373550f0c7d3e302cc537e74e36b1a6ed (diff) |
Fix repo existence check in GitAccessWiki
Diffstat (limited to 'spec/lib/gitlab/git_access_wiki_spec.rb')
-rw-r--r-- | spec/lib/gitlab/git_access_wiki_spec.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/spec/lib/gitlab/git_access_wiki_spec.rb b/spec/lib/gitlab/git_access_wiki_spec.rb index 186b2d9279d..215f1ecc9c5 100644 --- a/spec/lib/gitlab/git_access_wiki_spec.rb +++ b/spec/lib/gitlab/git_access_wiki_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' describe Gitlab::GitAccessWiki do let(:access) { described_class.new(user, project, 'web', authentication_abilities: authentication_abilities, redirected_path: redirected_path) } - let(:project) { create(:project, :repository) } + let(:project) { create(:project, :wiki_repo) } let(:user) { create(:user) } let(:changes) { ['6f6d7e7ed 570e7b2ab refs/heads/master'] } let(:redirected_path) { nil } @@ -48,6 +48,18 @@ describe Gitlab::GitAccessWiki do it 'give access to download wiki code' do expect { subject }.not_to raise_error end + + context 'when the wiki repository does not exist' do + it 'returns not found' do + wiki_repo = project.wiki.repository + FileUtils.rm_rf(wiki_repo.path) + + # Sanity check for rm_rf + expect(wiki_repo.exists?).to eq(false) + + expect { subject }.to raise_error(Gitlab::GitAccess::UnauthorizedError, 'A repository for this project does not exist yet.') + end + end end context 'when wiki feature is disabled' do |