summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/workhorse_spec.rb
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2017-07-14 11:22:12 +0100
committerPhil Hughes <me@iamphill.com>2017-07-14 11:22:12 +0100
commitb85d69d1f0b379b2b055eca9695f8055b00e77b5 (patch)
tree882cbe797390f1a726174a8283e00c3e62404a5e /spec/lib/gitlab/workhorse_spec.rb
parent7b1affd426fbf24445df25e439cbda9b6bd4b046 (diff)
parent0c4f512bae5b5e67658dd9707430185f1a1f97cc (diff)
downloadgitlab-ce-b85d69d1f0b379b2b055eca9695f8055b00e77b5.tar.gz
Merge branch 'master' into new-nav-fix-contextual-breadcrumbs
Diffstat (limited to 'spec/lib/gitlab/workhorse_spec.rb')
-rw-r--r--spec/lib/gitlab/workhorse_spec.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/lib/gitlab/workhorse_spec.rb b/spec/lib/gitlab/workhorse_spec.rb
index efff0a152a8..124f66a6e0e 100644
--- a/spec/lib/gitlab/workhorse_spec.rb
+++ b/spec/lib/gitlab/workhorse_spec.rb
@@ -317,4 +317,42 @@ describe Gitlab::Workhorse, lib: true do
end
end
end
+
+ describe '.send_git_blob' do
+ include FakeBlobHelpers
+
+ let(:blob) { fake_blob }
+
+ subject { described_class.send_git_blob(repository, blob) }
+
+ context 'when Gitaly project_raw_show feature is enabled' do
+ it 'sets the header correctly' do
+ key, command, params = decode_workhorse_header(subject)
+
+ expect(key).to eq('Gitlab-Workhorse-Send-Data')
+ expect(command).to eq('git-blob')
+ expect(params).to eq({
+ 'GitalyServer' => {
+ address: Gitlab::GitalyClient.address(project.repository_storage),
+ token: Gitlab::GitalyClient.token(project.repository_storage)
+ },
+ 'GetBlobRequest' => {
+ repository: repository.gitaly_repository.to_h,
+ oid: blob.id,
+ limit: -1
+ }
+ }.deep_stringify_keys)
+ end
+ end
+
+ context 'when Gitaly project_raw_show feature is disabled', skip_gitaly_mock: true do
+ it 'sets the header correctly' do
+ key, command, params = decode_workhorse_header(subject)
+
+ expect(key).to eq('Gitlab-Workhorse-Send-Data')
+ expect(command).to eq('git-blob')
+ expect(params).to eq('RepoPath' => repository.path_to_repo, 'BlobId' => blob.id)
+ end
+ end
+ end
end