Populate Gitlay::Repository
's gl_repository
field
This commit is contained in:
parent
a97ff8aae0
commit
16f850033f
4 changed files with 48 additions and 3 deletions
|
@ -1062,7 +1062,7 @@ module Gitlab
|
|||
end
|
||||
|
||||
def gitaly_repository
|
||||
Gitlab::GitalyClient::Util.repository(@storage, @relative_path)
|
||||
Gitlab::GitalyClient::Util.repository(@storage, @relative_path, @gl_repository)
|
||||
end
|
||||
|
||||
def gitaly_operations_client
|
||||
|
|
|
@ -2,10 +2,11 @@ module Gitlab
|
|||
module GitalyClient
|
||||
module Util
|
||||
class << self
|
||||
def repository(repository_storage, relative_path)
|
||||
def repository(repository_storage, relative_path, gl_repository)
|
||||
Gitaly::Repository.new(
|
||||
storage_name: repository_storage,
|
||||
relative_path: relative_path,
|
||||
gl_repository: gl_repository,
|
||||
git_object_directory: Gitlab::Git::Env['GIT_OBJECT_DIRECTORY'].to_s,
|
||||
git_alternate_object_directories: Array.wrap(Gitlab::Git::Env['GIT_ALTERNATE_OBJECT_DIRECTORIES'])
|
||||
)
|
||||
|
|
43
spec/lib/gitlab/gitaly_client/util_spec.rb
Normal file
43
spec/lib/gitlab/gitaly_client/util_spec.rb
Normal file
|
@ -0,0 +1,43 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Gitlab::GitalyClient::Util do
|
||||
describe '.repository' do
|
||||
let(:repository_storage) { 'default' }
|
||||
let(:relative_path) { 'my/repo.git' }
|
||||
let(:gl_repository) { 'project-1' }
|
||||
let(:git_object_directory) { '.git/objects' }
|
||||
let(:git_alternate_object_directory) { '/dir/one:/dir/two' }
|
||||
|
||||
subject do
|
||||
described_class.repository(repository_storage, relative_path, gl_repository)
|
||||
end
|
||||
|
||||
it 'creates a Gitaly::Repository with the given data' do
|
||||
expect(Gitlab::Git::Env).to receive(:[]).with('GIT_OBJECT_DIRECTORY')
|
||||
.and_return(git_object_directory)
|
||||
expect(Gitlab::Git::Env).to receive(:[]).with('GIT_ALTERNATE_OBJECT_DIRECTORIES')
|
||||
.and_return(git_alternate_object_directory)
|
||||
|
||||
expect(subject).to be_a(Gitaly::Repository)
|
||||
expect(subject.storage_name).to eq(repository_storage)
|
||||
expect(subject.relative_path).to eq(relative_path)
|
||||
expect(subject.gl_repository).to eq(gl_repository)
|
||||
expect(subject.git_object_directory).to eq(git_object_directory)
|
||||
expect(subject.git_alternate_object_directories).to eq([git_alternate_object_directory])
|
||||
end
|
||||
end
|
||||
|
||||
describe '.gitaly_user' do
|
||||
let(:user) { create(:user) }
|
||||
let(:gl_id) { Gitlab::GlId.gl_id(user) }
|
||||
|
||||
subject { described_class.gitaly_user(user) }
|
||||
|
||||
it 'creates a Gitaly::User from a GitLab user' do
|
||||
expect(subject).to be_a(Gitaly::User)
|
||||
expect(subject.name).to eq(user.name)
|
||||
expect(subject.email).to eq(user.email)
|
||||
expect(subject.gl_id).to eq(gl_id)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -216,7 +216,8 @@ describe Gitlab::Workhorse do
|
|||
it 'includes a Repository param' do
|
||||
repo_param = {
|
||||
storage_name: 'default',
|
||||
relative_path: project.full_path + '.git'
|
||||
relative_path: project.full_path + '.git',
|
||||
gl_repository: "project-#{project.id}"
|
||||
}
|
||||
|
||||
expect(subject[:Repository]).to include(repo_param)
|
||||
|
|
Loading…
Reference in a new issue