diff options
author | Stan Hu <stanhu@gmail.com> | 2017-07-21 12:35:26 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2017-07-21 13:08:52 -0700 |
commit | f5591f68c1439eda836460e0dec44f610709a5b8 (patch) | |
tree | 6d85f1686ddf6317001d116ad53e37e616e6697c /spec/gitlab_shell_spec.rb | |
parent | 914f968523779972e74f5a12a9e6b668c184c898 (diff) | |
download | gitlab-shell-f5591f68c1439eda836460e0dec44f610709a5b8.tar.gz |
Support unhiding of all refs for Geo Nodes
By default, we hide certain refs (e.g. keep-around/XXX) to save user
download time. We need to preserve these references on secondary Geo
nodes to have a true copy.
Diffstat (limited to 'spec/gitlab_shell_spec.rb')
-rw-r--r-- | spec/gitlab_shell_spec.rb | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/spec/gitlab_shell_spec.rb b/spec/gitlab_shell_spec.rb index 29093ac..7908b09 100644 --- a/spec/gitlab_shell_spec.rb +++ b/spec/gitlab_shell_spec.rb @@ -19,12 +19,12 @@ describe GitlabShell do end end - let(:gitaly_check_access) { GitAccessStatus.new(true, 'ok', gl_repository, repo_path, { 'repository' => { 'relative_path' => repo_name, 'storage_name' => 'default'} , 'address' => 'unix:gitaly.socket' })} + let(:gitaly_check_access) { GitAccessStatus.new(true, 'ok', gl_repository, repo_path, { 'repository' => { 'relative_path' => repo_name, 'storage_name' => 'default'} , 'address' => 'unix:gitaly.socket' }, false) } let(:api) do double(GitlabNet).tap do |api| api.stub(discover: { 'name' => 'John Doe' }) - api.stub(check_access: GitAccessStatus.new(true, 'ok', gl_repository, repo_path, nil)) + api.stub(check_access: GitAccessStatus.new(true, 'ok', gl_repository, repo_path, nil, false)) api.stub(two_factor_recovery_codes: { 'success' => true, 'recovery_codes' => ['f67c514de60c4953', '41278385fc00c1e0'] @@ -326,7 +326,7 @@ describe GitlabShell do end it "should disallow access and log the attempt if check_access returns false status" do - api.stub(check_access: GitAccessStatus.new(false, 'denied', nil, nil, nil)) + api.stub(check_access: GitAccessStatus.new(false, 'denied', nil, nil, nil, false)) message = "gitlab-shell: Access denied for git command <git-upload-pack gitlab-ci.git> " message << "by user with key #{key_id}." $logger.should_receive(:warn).with(message) @@ -386,6 +386,20 @@ describe GitlabShell do shell.send :exec_cmd, [1, 2] end + context "when show_all_refs is enabled" do + before { shell.show_all_refs = true } + + it 'sets local git parameters' do + expected_hash = hash_including( + 'GIT_CONFIG_PARAMETERS' => "'transfer.hideRefs=!refs'" + ) + + Kernel.should_receive(:exec).with(expected_hash, [1, 2], exec_options).once + + shell.send :exec_cmd, [1, 2] + end + end + context "when specifying a git_tracing log file" do let(:git_trace_log_file) { '/tmp/git_trace_performance.log' } |