Move LFS auth hash creation into GitLab::LfsToken

This commit is contained in:
Ash McKenzie 2019-02-11 14:34:10 +11:00
parent 9ab268b9c1
commit c4f1e8ed10
No known key found for this signature in database
GPG Key ID: A1253B4953E8D3E6
3 changed files with 23 additions and 7 deletions

View File

@ -117,13 +117,7 @@ module API
raise ActiveRecord::RecordNotFound.new("No key_id or user_id passed!")
end
token_handler = Gitlab::LfsToken.new(actor)
{
username: token_handler.actor_name,
lfs_token: token_handler.token,
repository_http_path: project.http_url_to_repo
}
Gitlab::LfsToken.new(actor).for_gitlab_shell(project.http_url_to_repo)
end
# rubocop: enable CodeReuse/ActiveRecord

View File

@ -47,6 +47,14 @@ module Gitlab
user? ? :lfs_token : :lfs_deploy_token
end
def for_gitlab_shell(repository_http_path)
{
username: actor_name,
lfs_token: token,
repository_http_path: repository_http_path
}
end
private # rubocop:disable Lint/UselessAccessModifier
class HMACToken

View File

@ -226,4 +226,18 @@ describe Gitlab::LfsToken, :clean_gitlab_redis_shared_state do
end
end
end
describe '#for_gitlab_shell' do
let(:actor) { create(:user) }
let(:lfs_token) { described_class.new(actor) }
let(:repo_http_path) { 'http://localhost/user/repo.git' }
it 'returns a Hash desgined for gitlab-shell' do
hash = lfs_token.for_gitlab_shell(repo_http_path)
expect(hash[:username]).to eq(actor.username)
expect(hash[:repository_http_path]).to eq(repo_http_path)
expect(hash[:lfs_token]).to be_a String
end
end
end