diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-07-26 08:27:48 +0000 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-07-26 08:27:48 +0000 |
commit | 695f5085a1ff4be571540c3201e26060b46ec522 (patch) | |
tree | b092413fd70e1600bb579583c8ee579e611548a9 /spec | |
parent | 121b90aa69946a3ecdb9f1d60eb7d0debeb414f0 (diff) | |
parent | acf4a36b3ed81c952d3f2edbfb054118b1d9dfff (diff) | |
download | gitlab-ce-695f5085a1ff4be571540c3201e26060b46ec522.tar.gz |
Merge branch 'zj-repo-exists-gitaly' into 'master'
Implement GRPC call to RepositoryService
See merge request !13019
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/gitlab/gitaly_client/repository_service_spec.rb | 19 | ||||
-rw-r--r-- | spec/models/repository_spec.rb | 16 |
2 files changed, 29 insertions, 6 deletions
diff --git a/spec/lib/gitlab/gitaly_client/repository_service_spec.rb b/spec/lib/gitlab/gitaly_client/repository_service_spec.rb new file mode 100644 index 00000000000..5a9f3fc130c --- /dev/null +++ b/spec/lib/gitlab/gitaly_client/repository_service_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe Gitlab::GitalyClient::RepositoryService do + set(:project) { create(:empty_project) } + let(:storage_name) { project.repository_storage } + let(:relative_path) { project.path_with_namespace + '.git' } + let(:client) { described_class.new(project.repository) } + + describe '#exists?' do + it 'sends an exists message' do + expect_any_instance_of(Gitaly::RepositoryService::Stub) + .to receive(:exists) + .with(gitaly_request_with_path(storage_name, relative_path), kind_of(Hash)) + .and_call_original + + client.exists? + end + end +end diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index 7635b0868e7..fcda4248446 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -956,21 +956,25 @@ describe Repository, models: true do end end - describe '#exists?' do + shared_examples 'repo exists check' do it 'returns true when a repository exists' do expect(repository.exists?).to eq(true) end - it 'returns false when a repository does not exist' do - allow(repository).to receive(:refs_directory_exists?).and_return(false) + it 'returns false if no full path can be constructed' do + allow(repository).to receive(:path_with_namespace).and_return(nil) expect(repository.exists?).to eq(false) end + end - it 'returns false when there is no namespace' do - allow(repository).to receive(:path_with_namespace).and_return(nil) + describe '#exists?' do + context 'when repository_exists is disabled' do + it_behaves_like 'repo exists check' + end - expect(repository.exists?).to eq(false) + context 'when repository_exists is enabled', skip_gitaly_mock: true do + it_behaves_like 'repo exists check' end end |