Commit c4f1e8ed authored by Ash McKenzie's avatar Ash McKenzie

Move LFS auth hash creation into GitLab::LfsToken

parent 9ab268b9
......@@ -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
......
......@@ -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
......
......@@ -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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment